PFont labelFont; PFont numberFont; int gStartTime = 0; Label gLabel; Wheel gW; boolean gRun = true; int gMinPrime = 2; int gMaxPrime = 128; void mouseClicked () { int oMaxPrime = gMaxPrime; gW.mouse(); mouseButtons(); if(CheckButtons.value('v')) gW.da -= 0.005; if(CheckButtons.value('V')) gW.da += 0.005; gW.da= constrain (gW.da,0,0.1); if(CheckButtons.value('N')) {gMaxPrime *= 2;} if(CheckButtons.value('n')) {gMaxPrime /= 2;} gMaxPrime = constrain(gMaxPrime,32,1024*1024*1024); if(gMaxPrime != oMaxPrime) gW.reset(); if(CheckButtons.value('G')) gW.newgame(); } void setup() { size(640,640,JAVA2D); numberFont = loadFont("Numbers-14.vlw"); labelFont = loadFont("labelFont-16.vlw"); textFont(labelFont); smooth(); gLabel = new Label(20,0); gW = new Wheel(200,28,7); CheckButtons.init(0,height-24,24); new Button ('G',"G", " G : play 1 minute game", false); new Button ('V',"S+"," S+: Increase wheel speed", false); new Button ('v',"S-"," S-: Decrease wheel speed", false); new Button ('N',"N+"," N+: Increase numbers", false); new Button ('n',"N-"," N-: Decrease numbers", false); } void draw() { background(0); gW.rotate(); gW.draw(); gW.check(); bubbleButtons(); CheckButtons.updateButtons(); // enable/disable CheckButtons.drawButtons(); // bottom line gLabel.reset(); gLabel.write(" Max prime: " + nextprime(gMaxPrime)); gLabel.write(" Score: " + gW.score); if(gStartTime > 0) gLabel.write(" Time: " + ((millis() - gStartTime)/1000)); }