import processing.opengl.*; color black = color(0,0,0); color white = color(255,255,255); color green = color(10, 190, 27); color red = color(255,0,0); ArrayList strokeList = new ArrayList(); Stroke firstStroke = new Stroke(); int currentStroke = 0; int SWEIGHT = 3; int level = 1; PImage original; //= loadImage("original"+level+".tif"); PImage safe; //= loadImage("safe"+level+".tif"); PImage title; PFont font; int MODE = 0; int pixelCount = 0; int safePix = 0; int drawnPix = 0; int MAXLEVEL = 10; float printPercent; float levelStart; float totalScore = 0; boolean levelPassed = false; void setup(){ size(500, 500); smooth(); strokeJoin(ROUND); font = loadFont("Verdana-48.vlw"); original = loadImage("original"+level+".png"); safe = loadImage("safe"+level+".png"); title = loadImage("title.png"); strokeList.add(firstStroke); for(int i = 0; i < 500*500; i++){ if(!compare(original.pixels[i], white)){ pixelCount++; }// end if }//end for println(pixelCount+" non-white pixels"); }//end setup void draw(){ switch(MODE){ case 0: { image(title, 0, 0); break; }//end title screen case case 1: { image(original, 0, 0); textFont(font, 32); fill(green); text("Level "+level, 0, 40); text("Click to Start!", 140, 450); break; }//end level intro case case 2: // gameplay case { float current = millis(); float time = ((levelStart - current)+4000)/1000; if(time<0){ time = 0.0; MODE++; evaluateGame(); } background(white); //image(original, 0, 0); stroke(red); strokeWeight(SWEIGHT); noFill(); rectMode(CENTER); //rect(250, 250, 300, 300); //ellipse(250, 250, 300, 300); //add a point to the current stroke when the mouse is pressed if(mousePressed){ Dot temp = new Dot(mouseX, mouseY); ((Stroke)strokeList.get(currentStroke)).dotList.add(temp); } //draw all the strokes for(int i = 0; i .7)&&(drawnPix > ((float)pixelCount*0.7))){ levelPassed = true; totalScore+= percent; }else { levelPassed = false; }//end else println(percent*100+" Percent Accurate "); }//end evaluategame void nextLevel(){ if(levelPassed){ level++; }//end if if(level>MAXLEVEL){ MODE = 4; } else{ clear(); pixelCount = 0; safePix = 0; drawnPix = 0; levelPassed = false; original = loadImage("original"+level+".png"); safe = loadImage("safe"+level+".png"); title = loadImage("title.png"); for(int i = 0; i < 500*500; i++){ if(!compare(original.pixels[i], white)){ pixelCount++; }// end if }//end for println(pixelCount+" non-white pixels"); MODE = 1; }//end else }//end nextLevel