int p; //number of persons int w, h; //width height float scaler = 1.0; // person[] all; person model; /////////////////////0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 String[] namen = {"Salvador","Jeannette","Pili","Jooeun","Pongpang","Hamlet","Cui Lei","Nicole","Carl","Eva","Gesa","Sebastian","Noomi","Alejandro","Christine","Fanouris","Michael","Kazi","Anand","Alma","Freddy","Malek","Yoshi","Ekaterina","Oscar","Li Jing","Yvonne","Jasmina","Olle","Dan","Nikola","Ivan","Daniel"}; int[] following = {1,2,3,4,5,6,7,-1,6,11,9,10,11,14,15,16,28,18,19,20,21,22,-1,24,13,26,27,-1,12,-1,-1,-1,29}; int[] formerlist; PFont font; int b = 20; //border float sightangle = PI/2; float generalspeed = 1.0; float turnspeed = 0.01; float distval1 = 70; float distval2 = 120; int hidingtime = 80; boolean globaldrag = false; boolean globallinking = false; boolean linkage = false; boolean parameters = false; boolean playing = true; menubutton b_play; menubutton b_pause; menubutton b_restart; menubutton b_linkage; menubutton b_parameters; hslider hs_sight; hslider hs_mindist; hslider hs_maxdist; void setup() { //size(screen.width, screen.height); size(600,500); frameRate(25); w = int(width/scaler); h = int(height/scaler); font = loadFont("kroeger.vlw"); textFont(font, 8); hs_sight = new hslider("sight angle",width/2,100,sightangle,PI/16,PI*1.5); hs_mindist = new hslider("minimal spying distance",width/2, 150,distval1,20,100); hs_maxdist = new hslider("maximal spying distance",width/2, 175,distval2,100,300); b_play = new menubutton(15,height-30,"play"); b_pause = new menubutton(15,height-30,"pause"); b_restart = new menubutton(110,height-30,"restart"); b_linkage = new menubutton(205,height-30,"linkage"); b_parameters = new menubutton(300,height-30,"parameters"); b_pause.activ = true; p=namen.length; println(p); all = new person[p]; formerlist = new int[p]; for(int i=0; i