#define esc 0x1b char pixel = 255; int level = 0; int limitor = 0; int p1pot = 0; int p2pot = 0; int row1 = 0; int row2 = 0; int ballx = 51; int bally = 44; int ballL = 1; int ballR = 0; int p1point = 0; int p2point = 0; int button = 0; int button1 = 0; int pointscap = 0; void setup(){ pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(13, INPUT); pinMode(12, INPUT); Serial.begin(57600); Serial.write(esc); Serial.write(69); Serial.write(esc); Serial.write(89); Serial.write(44); Serial.write(32); Serial.println(" INFINITY BOX"); Serial.println(" "); Serial.println(" by EXPLORER electronics"); delay(10000); while(button==LOW){ Serial.write(esc); Serial.write(69); Serial.println("Player 1, your controller is flashing."); Serial.println("Player 1 is on the left."); Serial.println("computer is on the right."); Serial.println("your scores will be displayed above"); Serial.println("your paddle."); Serial.println("Player 1, press your 'A' key to"); Serial.println("continue."); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println(" "); Serial.println("game by: AFZi! studios C 2013"); digitalWrite(10, HIGH); delay(50); digitalWrite(10, LOW); delay(250); button=digitalRead(13); } delay(1000); while(button1==LOW){ Serial.write(esc); Serial.write(69); Serial.println("Player 1, use your dial to change the"); Serial.println("points cap."); int points=analogRead(A0); if(points<=50){pointscap=5;} else if(points<=100){pointscap=6;} else if(points<=150){pointscap=7;} else if(points<=200){pointscap=8;} else if(points<=250){pointscap=9;} else if(points<=300){pointscap=10;} else if(points<=350){pointscap=11;} else if(points<=400){pointscap=12;} else if(points<=450){pointscap=13;} else if(points<=500){pointscap=14;} else if(points<=550){pointscap=15;} else if(points<=600){pointscap=16;} else if(points<=650){pointscap=17;} else if(points<=700){pointscap=18;} else if(points<=750){pointscap=19;} else if(points<=800){pointscap=20;} else if(points<=850){pointscap=21;} else if(points<=900){pointscap=22;} else if(points<=950){pointscap=23;} else if(points<=1023){pointscap=24;} Serial.println("current points cap:"); Serial.println(pointscap); Serial.println("player 1, press your 'A' key to"); Serial.println("continue."); button1=digitalRead(13); delay(1000); } button=digitalRead(13); while(button==LOW){ Serial.write(esc); Serial.write(69); Serial.println("choose computer's skill: "); Serial.println("1=perfect, 10=easy"); int reader=analogRead(A0); if(reader<=100){level=1;} else if(reader<=200){level=2;} else if(reader<=300){level=3;} else if(reader<=400){level=4;} else if(reader<=500){level=5;} else if(reader<=600){level=6;} else if(reader<=700){level=7;} else if(reader<=800){level=8;} else if(reader<=900){level=9;} else if(reader<=1023){level=10;} Serial.println(level); Serial.println("use the 'A' key to continue"); button=digitalRead(13); delay(500); } } void loop(){ Serial.write(esc); Serial.write (69); Serial.write(esc); Serial.write(89); Serial.write(32); Serial.write(32); Serial.print('P'); Serial.print('1'); Serial.print(':'); Serial.print(p1point); Serial.print('/'); Serial.print(pointscap); Serial.write(esc); Serial.write(89); Serial.write(32); Serial.write(49); Serial.print('P'); Serial.print('O'); Serial.print('N'); Serial.print('G'); Serial.write(esc); Serial.write(89); Serial.write(32); Serial.write(61); Serial.print('C'); Serial.print('O'); Serial.print('M'); Serial.print(':'); Serial.print(p2point); Serial.print('/'); Serial.print(pointscap); p1pot = analogRead(A0); p2pot = analogRead(A1); if (p1pot<=51){row1= 1+32;} else if (p1pot<=102){row1= 2+32;} else if (p1pot<=153){row1= 3+32;} else if (p1pot<=204){row1= 4+32;} else if (p1pot<=255){row1= 5+32;} else if (p1pot<=306){row1= 6+32;} else if (p1pot<=357){row1= 7+32;} else if (p1pot<=408){row1= 8+32;} else if (p1pot<=459){row1= 9+32;} else if (p1pot<=510){row1= 10+32;} else if (p1pot<=561){row1= 11+32;} else if (p1pot<=612){row1= 12+32;} else if (p1pot<=663){row1= 13+32;} else if (p1pot<=714){row1= 14+32;} else if (p1pot<=765){row1= 15+32;} else if (p1pot<=816){row1= 16+32;} else if (p1pot<=867){row1= 17+32;} else if (p1pot<=918){row1= 18+32;} else if (p1pot<=969){row1= 19+32;} else if (p1pot<=1020){row1= 20+32;} else if (p1pot<=1023){row1= 21+32;} if (limitor!=level){limitor++;row2=bally;}//easy if (limitor==level){limitor=0;row2=bally-1;} if(row2==54){row2=53;} else if(row2==55){row2==53;} Serial.write(esc); Serial.write(89); Serial.write(row1); Serial.write(32); Serial.println(pixel); Serial.write(esc); Serial.write(89); Serial.write(row1+1); Serial.write(32); Serial.println(pixel); Serial.write(esc); Serial.write(89); Serial.write(row1+2); Serial.write(32); Serial.println(pixel); Serial.write(esc); Serial.write(89); Serial.write(row2); Serial.write(70); Serial.println(pixel); Serial.write(esc); Serial.write(89); Serial.write(row2+1); Serial.write(70); Serial.println(pixel); Serial.write(esc); Serial.write(89); Serial.write(row2+2); Serial.write(70); Serial.println(pixel); //here if (ballL==0){goto baller;} //ball articulation else if (ballL==1){ballx--; bally--;} else if (ballL==2){ballx--;} else if (ballL==3){ballx--; bally++;} baller: if (ballR==0){goto balled;} //ball articulation else if (ballR==1){ballx++; bally--;} else if (ballR==2){ballx++;} else if (ballR==3){ballx++; bally++;} balled: if (ballx==32 && bally==row1){ballR=1; ballL=0;} else if(ballx==32 && bally==row1+1){ballR=2; ballL=0;} else if(ballx==32 && bally==row1+2){ballR=3; ballL=0;} if (ballx==70 && bally==row2){ballL=1; ballR=0;} else if(ballx==70 && bally==row2+1){ballL=2; ballR=0;} else if(ballx==70 && bally==row2+2){ballL=3; ballR=0;} if (bally==33&&ballL==0){ballR=3;} //limitor else if (bally==33&&ballR==0){ballL=3;} else if (bally==55&&ballL==0){ballR=1;} //limitor else if (bally==55&&ballR==0){ballL=1;} else if (ballx<32){p2point++;ballx=70;} else if (ballx>70){p1point++;ballx=32;} while(p1point==pointscap){ Serial.write(esc); Serial.write(69); Serial.write(esc); Serial.write(89); Serial.write(47); Serial.write(32); Serial.println("P1 WINS!"); digitalWrite(10, HIGH); delay(50); digitalWrite(10, LOW); delay(250); } while(p2point==pointscap){ Serial.write(esc); Serial.write(69); Serial.write(esc); Serial.write(89); Serial.write(47); Serial.write(32); Serial.println("COMPUTER WINS!"); delay(250); } Serial.write(esc); Serial.write(89); Serial.write(bally); Serial.write(ballx); Serial.print(pixel); //to here delay(75); }