import processing.video.*; Capture video; color trackColor; Movie movie; // declares the movie int state = 0; // 0 started playing, 1 stopped at 28, asking user, 3 playing until xxx, 4 stopped at xxxx asking user void setup() { size(320,240); video = new Capture (this,320,240,12); // initialize screen for balls colorMode (RGB,255,255,255,100); trackColor = color (0); noFill(); smooth(); strokeWeight(4.0); stroke(0); movie = new Movie(this, "game2.mov"); // initializes movie movie.play(); // play once, do not loop } void captureEvent (Capture camera) { camera.read(); } void movieEvent(Movie movie) { // where is this actually taking place? movie.read(); } void draw() { image(movie,0,0); if (state == 0) { if (movie.time()>=28){ // BEGIN MOVIE PLAYING movie.stop(); state = 1; } } else if (state == 1) { int totalRed = 0; int totalGreen = 0; int totalBlue = 0; // Begin loop to walk through every pixel for ( int x = 0; x < video.width; x++) { for ( int y = 0; y < video.height; y++) { int loc = x + y*video.width; // What is current color color currentColor = video.pixels[loc]; totalRed += red(currentColor); totalGreen += green(currentColor); totalBlue += blue(currentColor); } } int averageRed = totalRed/(video.width*video.height); int averageGreen = totalGreen/(video.width*video.height); int averageBlue = totalBlue/(video.width*video.height); fill(averageRed,averageGreen,averageBlue); ellipse(50,50,50,50); println(averageRed + " " + averageGreen + " " + averageBlue); if (averageRed > 90 && averageGreen > 70 && averageBlue > 30) // IF YELLOW, GAME OVER { movie.jump(31); movie.play(); state = 2; println(state); } else if (averageRed > 24 && averageGreen > 94 && averageBlue > 50){ // IF GREEN, MOVIE CONTINUES MOVING FORWARD movie.jump(55); movie.play(); state = 3; } } else if (state == 2){ // IF GAME OVER, START OVER if (movie.time()>=53){ movie.jump(0); } } else if (state == 3){ // NEXT PLACE TO MAKE A CHOICE if (movie.time()>=82){ movie.stop(); state = 4; } } else if (state == 4) { int totalRed = 0; int totalGreen = 0; int totalBlue = 0; // Begin loop to walk through every pixel for ( int x = 0; x < video.width; x++) { for ( int y = 0; y < video.height; y++) { int loc = x + y*video.width; // What is current color color currentColor = video.pixels[loc]; totalRed += red(currentColor); totalGreen += green(currentColor); totalBlue += blue(currentColor); } } int averageRed = totalRed/(video.width*video.height); int averageGreen = totalGreen/(video.width*video.height); int averageBlue = totalBlue/(video.width*video.height); fill(averageRed,averageGreen,averageBlue); ellipse(50,50,50,50); println(averageRed + " " + averageGreen + " " + averageBlue); if (averageRed > 24 && averageGreen > 94 && averageBlue > 50) // IF GREEN, GAME OVER { movie.jump(84); movie.play(); state = 5; } else if (averageRed > 107 && averageGreen > 31 && averageBlue > 18){ // IF ORANGE CHOSEN, CONTINUES movie.jump(108); movie.play(); state = 6; } } else if (state == 5){ // IF GAME OVER, START OVER if (movie.time()>=107){ movie.jump(0); } } else if (state == 6){ // NEXT PLACE TO MAKE A CHOICE if (movie.time()>=135){ movie.stop(); state = 7; } } else if (state == 7) { int totalRed = 0; int totalGreen = 0; int totalBlue = 0; // Begin loop to walk through every pixel for ( int x = 0; x < video.width; x++) { for ( int y = 0; y < video.height; y++) { int loc = x + y*video.width; // What is current color color currentColor = video.pixels[loc]; totalRed += red(currentColor); totalGreen += green(currentColor); totalBlue += blue(currentColor); } } int averageRed = totalRed/(video.width*video.height); int averageGreen = totalGreen/(video.width*video.height); int averageBlue = totalBlue/(video.width*video.height); fill(averageRed,averageGreen,averageBlue); ellipse(50,50,50,50); println(averageRed + " " + averageGreen + " " + averageBlue); if (averageRed > 113 && averageGreen > 19 && averageBlue > 48) // IF PINK, GAME OVER { movie.jump(136); movie.play(); state = 8; println(state); } else if (averageRed > 24 && averageGreen > 94 && averageBlue > 50){ // IF GREEN, MOVIE CONTINUES MOVING FORWARD movie.jump(150); movie.play(); state = 9; } } else if (state == 8){ // IF GAME OVER, START OVER if (movie.time()>=148){ movie.jump(0); } } else if (state == 9){ // IF GAME OVER, START OVER if (movie.time()>=185){ movie.stop(); } } }