Code for Player 2 of Rock Paper Scissors

Dependencies:   4DGL-uLCD-SE PinDetect SDFileSystem mbed wave_player

Committer:
pkulkarni34
Date:
Thu Oct 22 01:15:48 2015 +0000
Revision:
3:fb5a647123cb
Parent:
2:54fafe349aa7
Child:
4:0be9cd917c17
Player 2; It works!; Date: 10/21/2015; Time: 9:15 PM

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pkulkarni34 0:75276caf1a37 1 //ECE 4180 Mini Project
pkulkarni34 0:75276caf1a37 2 //Prachi Kulkarni and Kendra Dodson
pkulkarni34 0:75276caf1a37 3
pkulkarni34 0:75276caf1a37 4 #include "mbed.h"
pkulkarni34 0:75276caf1a37 5 #include "uLCD_4DGL.h"
pkulkarni34 0:75276caf1a37 6 #include "SDFileSystem.h"
pkulkarni34 0:75276caf1a37 7 #include "wave_player.h"
pkulkarni34 2:54fafe349aa7 8 //#include "beep.h"
pkulkarni34 2:54fafe349aa7 9
pkulkarni34 2:54fafe349aa7 10 DigitalOut myled(LED1);
pkulkarni34 2:54fafe349aa7 11 DigitalOut myled2(LED2);
pkulkarni34 3:fb5a647123cb 12 DigitalOut myled3(LED3);
pkulkarni34 3:fb5a647123cb 13
pkulkarni34 0:75276caf1a37 14 SDFileSystem sd(p5, p6, p7, p8, "sd");
pkulkarni34 2:54fafe349aa7 15 //AnalogOut DACout(p18);
pkulkarni34 2:54fafe349aa7 16 //Beep DACout(p18);
pkulkarni34 0:75276caf1a37 17 AnalogOut DACout(p18);
pkulkarni34 0:75276caf1a37 18 wave_player waver(&DACout); // Wave Player
pkulkarni34 0:75276caf1a37 19
pkulkarni34 0:75276caf1a37 20 //DigitalOut myled(LED1);
pkulkarni34 0:75276caf1a37 21 uLCD_4DGL lcd(p28, p27, p29); //uLCD
pkulkarni34 0:75276caf1a37 22 DigitalIn pb1(p17); //Pushbutton 1
pkulkarni34 0:75276caf1a37 23 DigitalIn pb2(p19); //Pushbutton 2
pkulkarni34 0:75276caf1a37 24 DigitalIn pb3(p20); //Pushbutton 3
pkulkarni34 0:75276caf1a37 25
pkulkarni34 2:54fafe349aa7 26 //PwmOut led1(p21); //led 1
pkulkarni34 2:54fafe349aa7 27 //PwmOut led2(p22); //led2
pkulkarni34 2:54fafe349aa7 28 //PwmOut led3(p23); //led3
pkulkarni34 0:75276caf1a37 29
pkulkarni34 0:75276caf1a37 30 //shiftbrite
pkulkarni34 0:75276caf1a37 31 DigitalOut latch(p15);
pkulkarni34 0:75276caf1a37 32 DigitalOut enable(p16);
pkulkarni34 0:75276caf1a37 33 SPI spi(p11, p12, p13);
pkulkarni34 0:75276caf1a37 34
pkulkarni34 0:75276caf1a37 35 //Choice
pkulkarni34 0:75276caf1a37 36 //Choice = 1 for rock
pkulkarni34 0:75276caf1a37 37 //Choice = 2 for paper
pkulkarni34 0:75276caf1a37 38 //Choice = 3 for scissors
pkulkarni34 2:54fafe349aa7 39 char choice1; //Player 1's choice
pkulkarni34 2:54fafe349aa7 40 char choice2; //Player 2's choice
pkulkarni34 0:75276caf1a37 41
pkulkarni34 0:75276caf1a37 42 //Points
pkulkarni34 1:5841ff349aae 43 int p1 = 0; //Player 1's points
pkulkarni34 1:5841ff349aae 44 int p2 = 0; //Player 2's points
pkulkarni34 0:75276caf1a37 45
pkulkarni34 1:5841ff349aae 46 //RGB function for Shiftbrite
pkulkarni34 0:75276caf1a37 47 void RGB_LED(int red, int green, int blue);
pkulkarni34 0:75276caf1a37 48 void RGB_LED(int red, int green, int blue)
pkulkarni34 0:75276caf1a37 49 {
pkulkarni34 0:75276caf1a37 50 unsigned int low_color=0;
pkulkarni34 0:75276caf1a37 51 unsigned int high_color=0;
pkulkarni34 0:75276caf1a37 52 high_color=(blue<<4)|((red&0x3C0)>>6);
pkulkarni34 0:75276caf1a37 53 low_color=(((red&0x3F)<<10)|(green));
pkulkarni34 0:75276caf1a37 54 spi.write(high_color);
pkulkarni34 0:75276caf1a37 55 spi.write(low_color);
pkulkarni34 0:75276caf1a37 56 latch=1;
pkulkarni34 0:75276caf1a37 57 latch=0;
pkulkarni34 0:75276caf1a37 58 }
pkulkarni34 0:75276caf1a37 59
pkulkarni34 3:fb5a647123cb 60 //Serial
pkulkarni34 3:fb5a647123cb 61 Serial player2(p9,p10);
pkulkarni34 2:54fafe349aa7 62
pkulkarni34 0:75276caf1a37 63 int main() {
pkulkarni34 3:fb5a647123cb 64
pkulkarni34 2:54fafe349aa7 65 //Serial
pkulkarni34 2:54fafe349aa7 66 player2.baud(9600);
pkulkarni34 3:fb5a647123cb 67
pkulkarni34 0:75276caf1a37 68 spi.format(16,0);
pkulkarni34 0:75276caf1a37 69 spi.frequency(500000);
pkulkarni34 0:75276caf1a37 70 enable=0;
pkulkarni34 0:75276caf1a37 71 latch=0;
pkulkarni34 0:75276caf1a37 72 pb1.mode(PullUp);
pkulkarni34 0:75276caf1a37 73 wait(0.001);
pkulkarni34 0:75276caf1a37 74 pb2.mode(PullUp);
pkulkarni34 0:75276caf1a37 75 wait(0.001);
pkulkarni34 0:75276caf1a37 76 pb3.mode(PullUp);
pkulkarni34 0:75276caf1a37 77 wait(0.001);
pkulkarni34 0:75276caf1a37 78
pkulkarni34 0:75276caf1a37 79 //Display
pkulkarni34 2:54fafe349aa7 80
pkulkarni34 2:54fafe349aa7 81 lcd.locate(1,2);
pkulkarni34 2:54fafe349aa7 82 //Screen 1 shows the name of the game
pkulkarni34 2:54fafe349aa7 83 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 84 lcd.color(BLUE); //Set font color to blue
pkulkarni34 2:54fafe349aa7 85 lcd.text_bold(ON); //Bold the text
pkulkarni34 2:54fafe349aa7 86 lcd.text_width(2);
pkulkarni34 2:54fafe349aa7 87 lcd.text_height(2);
pkulkarni34 2:54fafe349aa7 88 lcd.printf(" Rock\n");
pkulkarni34 2:54fafe349aa7 89 lcd.printf(" Paper\n\n");
pkulkarni34 2:54fafe349aa7 90 lcd.printf(" Scissor\n\n");
pkulkarni34 2:54fafe349aa7 91 //DACout.beep(1000,0.5);
pkulkarni34 2:54fafe349aa7 92 wait(5);
pkulkarni34 2:54fafe349aa7 93
pkulkarni34 2:54fafe349aa7 94 //Screen 2 shows pushbutton options
pkulkarni34 2:54fafe349aa7 95 L1:
pkulkarni34 2:54fafe349aa7 96 lcd.cls();
pkulkarni34 2:54fafe349aa7 97 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 98 lcd.color(GREEN); //Set font color to green
pkulkarni34 2:54fafe349aa7 99 lcd.locate(0,2);
pkulkarni34 2:54fafe349aa7 100 lcd.printf(" Button Options\n\n");
pkulkarni34 2:54fafe349aa7 101 lcd.locate(0,5);
pkulkarni34 2:54fafe349aa7 102 lcd.text_underline(OFF);
pkulkarni34 2:54fafe349aa7 103 lcd.printf(" 1 for Rocks");
pkulkarni34 2:54fafe349aa7 104 lcd.locate(0,7);
pkulkarni34 2:54fafe349aa7 105 lcd.printf(" 2 for Paper");
pkulkarni34 2:54fafe349aa7 106 lcd.locate(0,9);
pkulkarni34 2:54fafe349aa7 107 lcd.printf(" 3 for Scissors\n\n\n");
pkulkarni34 2:54fafe349aa7 108 lcd.text_bold(ON); //Bold the text
pkulkarni34 2:54fafe349aa7 109 lcd.printf(" Press 1 to start!");
pkulkarni34 2:54fafe349aa7 110 wait(1);
pkulkarni34 0:75276caf1a37 111
pkulkarni34 0:75276caf1a37 112 while(1){
pkulkarni34 1:5841ff349aae 113 //If push button 1 is pressed, start the game!
pkulkarni34 0:75276caf1a37 114 if(pb1 != 1){
pkulkarni34 3:fb5a647123cb 115
pkulkarni34 2:54fafe349aa7 116 //Play button select
pkulkarni34 3:fb5a647123cb 117 /*
pkulkarni34 2:54fafe349aa7 118 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 119 printf("\n\n\nHello, wave world!\n");
pkulkarni34 3:fb5a647123cb 120 wave_file=fopen("/sd/select.wav","r");
pkulkarni34 2:54fafe349aa7 121 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 122 wait(1);
pkulkarni34 2:54fafe349aa7 123 printf("ok!!");
pkulkarni34 2:54fafe349aa7 124 fclose(wave_file);
pkulkarni34 3:fb5a647123cb 125 */
pkulkarni34 3:fb5a647123cb 126
pkulkarni34 3:fb5a647123cb 127 L3:
pkulkarni34 0:75276caf1a37 128 lcd.cls(); //Clear screen
pkulkarni34 2:54fafe349aa7 129 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 1:5841ff349aae 130 //Tell player 1 that she/he has 5 seconds to chose between rock,paper and scissors
pkulkarni34 0:75276caf1a37 131 lcd.locate(0,4);
pkulkarni34 2:54fafe349aa7 132 lcd.color(BLUE); //Set font color to yellow
pkulkarni34 2:54fafe349aa7 133 lcd.printf(" Player 2 \n\n\n");
pkulkarni34 2:54fafe349aa7 134 lcd.locate(0,6);
pkulkarni34 2:54fafe349aa7 135 lcd.color(GREEN); //Set font color to green
pkulkarni34 0:75276caf1a37 136 lcd.printf("You have 5 seconds");
pkulkarni34 0:75276caf1a37 137 lcd.printf(" to choose\n");
pkulkarni34 0:75276caf1a37 138 lcd.printf(" an option!\n");
pkulkarni34 2:54fafe349aa7 139 wait(5);
pkulkarni34 0:75276caf1a37 140
pkulkarni34 0:75276caf1a37 141
pkulkarni34 1:5841ff349aae 142 //Start timer for 5 seconds
pkulkarni34 3:fb5a647123cb 143 int i = 5;;
pkulkarni34 0:75276caf1a37 144 int red = 1;
pkulkarni34 2:54fafe349aa7 145 //for(i = 5; i > -1 ; i--){
pkulkarni34 2:54fafe349aa7 146 while(i > -1){
pkulkarni34 2:54fafe349aa7 147
pkulkarni34 0:75276caf1a37 148 lcd.cls();
pkulkarni34 1:5841ff349aae 149 lcd.locate(4,4); //Place text in the center of the screen
pkulkarni34 1:5841ff349aae 150 lcd.text_width(8); //Set tet width
pkulkarni34 1:5841ff349aae 151 lcd.text_height(8); //Set text height
pkulkarni34 1:5841ff349aae 152 lcd.text_bold(ON); //Set text style to 'bold'
pkulkarni34 1:5841ff349aae 153 RGB_LED(red*25,0,0);//Increase intensity of light on shiftbrite as time decreases
pkulkarni34 0:75276caf1a37 154 red = red + 5;
pkulkarni34 1:5841ff349aae 155 lcd.printf("%d",i); //Display time left on LCD
pkulkarni34 0:75276caf1a37 156 wait(1);
pkulkarni34 1:5841ff349aae 157 //Press pushbutton 1 to choose rock
pkulkarni34 0:75276caf1a37 158 if(pb1 != 1) {
pkulkarni34 2:54fafe349aa7 159
pkulkarni34 0:75276caf1a37 160 lcd.cls();
pkulkarni34 2:54fafe349aa7 161 choice2 = 'R';
pkulkarni34 2:54fafe349aa7 162 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 163 lcd.locate(0,1);
pkulkarni34 2:54fafe349aa7 164 lcd.printf(" You chose rock");
pkulkarni34 2:54fafe349aa7 165
pkulkarni34 2:54fafe349aa7 166 //Play button select
pkulkarni34 2:54fafe349aa7 167 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 168 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 169 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 170 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 171 wait(1);
pkulkarni34 2:54fafe349aa7 172 printf("ok!!");
pkulkarni34 2:54fafe349aa7 173 fclose(wave_file);
pkulkarni34 3:fb5a647123cb 174
pkulkarni34 0:75276caf1a37 175 lcd.circle(60, 60, 30,WHITE);
pkulkarni34 2:54fafe349aa7 176 wait(3);
pkulkarni34 0:75276caf1a37 177 lcd.cls();
pkulkarni34 0:75276caf1a37 178 break;
pkulkarni34 0:75276caf1a37 179 }
pkulkarni34 1:5841ff349aae 180 //Press pushbutton 2 to choose paper
pkulkarni34 2:54fafe349aa7 181 else if(pb2 != 1) {
pkulkarni34 0:75276caf1a37 182 lcd.cls();
pkulkarni34 2:54fafe349aa7 183 choice2 = 'P';
pkulkarni34 2:54fafe349aa7 184 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 185
pkulkarni34 2:54fafe349aa7 186 lcd.locate(0,1);
pkulkarni34 2:54fafe349aa7 187 lcd.printf(" You chose paper");
pkulkarni34 2:54fafe349aa7 188
pkulkarni34 2:54fafe349aa7 189 //Play button select
pkulkarni34 2:54fafe349aa7 190 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 191 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 192 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 193 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 194
pkulkarni34 2:54fafe349aa7 195 printf("ok!!");
pkulkarni34 2:54fafe349aa7 196 fclose(wave_file);
pkulkarni34 2:54fafe349aa7 197
pkulkarni34 2:54fafe349aa7 198 lcd.filled_rectangle(50, 45, 80,90,WHITE);
pkulkarni34 2:54fafe349aa7 199 wait(3);
pkulkarni34 0:75276caf1a37 200 lcd.cls();
pkulkarni34 0:75276caf1a37 201 break;
pkulkarni34 0:75276caf1a37 202 }
pkulkarni34 1:5841ff349aae 203 //Press pushbutton 3 to choose scissor
pkulkarni34 2:54fafe349aa7 204 else if(pb3 != 1) {
pkulkarni34 0:75276caf1a37 205 lcd.cls();
pkulkarni34 2:54fafe349aa7 206 choice2 = 'S';
pkulkarni34 2:54fafe349aa7 207 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 208 lcd.locate(0,1);
pkulkarni34 2:54fafe349aa7 209 lcd.printf("You chose scissors");
pkulkarni34 2:54fafe349aa7 210 //Play button select
pkulkarni34 2:54fafe349aa7 211 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 212 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 213 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 214 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 215 wait(1);
pkulkarni34 2:54fafe349aa7 216 printf("ok!!");
pkulkarni34 2:54fafe349aa7 217 fclose(wave_file);
pkulkarni34 0:75276caf1a37 218 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 219 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 220 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 221 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 2:54fafe349aa7 222 wait(3);
pkulkarni34 0:75276caf1a37 223 lcd.cls();
pkulkarni34 0:75276caf1a37 224 break;
pkulkarni34 0:75276caf1a37 225 }
pkulkarni34 2:54fafe349aa7 226 i--;
pkulkarni34 2:54fafe349aa7 227
pkulkarni34 0:75276caf1a37 228 }
pkulkarni34 1:5841ff349aae 229 RGB_LED(0,0,0); // Reset shitbrite color
pkulkarni34 2:54fafe349aa7 230
pkulkarni34 2:54fafe349aa7 231 //-------------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 2:54fafe349aa7 232 // TIME-OUT
pkulkarni34 2:54fafe349aa7 233 //------------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 1:5841ff349aae 234
pkulkarni34 1:5841ff349aae 235 //If user doesn't choose an option, show "Time Out" message and restart game
pkulkarni34 1:5841ff349aae 236 if(i == -1){
pkulkarni34 0:75276caf1a37 237 lcd.cls();
pkulkarni34 2:54fafe349aa7 238 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 239 lcd.locate(0,5);
pkulkarni34 2:54fafe349aa7 240 lcd.color(RED);
pkulkarni34 2:54fafe349aa7 241 lcd.printf(" Your time is up!");
pkulkarni34 2:54fafe349aa7 242 lcd.color(GREEN);
pkulkarni34 2:54fafe349aa7 243 //Play time up tune
pkulkarni34 2:54fafe349aa7 244 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 245 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 246 wave_file=fopen("/sd/mydir/timeup.wav","r");
pkulkarni34 2:54fafe349aa7 247 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 248
pkulkarni34 2:54fafe349aa7 249 printf("ok!!");
pkulkarni34 2:54fafe349aa7 250 fclose(wave_file);
pkulkarni34 2:54fafe349aa7 251 wait(3);
pkulkarni34 1:5841ff349aae 252 goto L1; //Starts the game again
pkulkarni34 0:75276caf1a37 253 }
pkulkarni34 0:75276caf1a37 254
pkulkarni34 2:54fafe349aa7 255 //--------------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 2:54fafe349aa7 256
pkulkarni34 2:54fafe349aa7 257
pkulkarni34 2:54fafe349aa7 258
pkulkarni34 2:54fafe349aa7 259 // lcd.cls(); //Clear screen
pkulkarni34 2:54fafe349aa7 260 // wait(2);
pkulkarni34 3:fb5a647123cb 261
pkulkarni34 2:54fafe349aa7 262 /*
pkulkarni34 2:54fafe349aa7 263 //--------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 2:54fafe349aa7 264 //------------------------------- PLAYER 2 --------------------------------------------------------------------------------------
pkulkarni34 2:54fafe349aa7 265 //-------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 0:75276caf1a37 266
pkulkarni34 1:5841ff349aae 267 //Check to see if Player 2 is ready to play
pkulkarni34 2:54fafe349aa7 268 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 269 lcd.locate(0,5);
pkulkarni34 2:54fafe349aa7 270 lcd.printf(" Press 1 if P2\n\n is ready");
pkulkarni34 1:5841ff349aae 271
pkulkarni34 1:5841ff349aae 272 //Start timer for player 2 if player 2 presses pushbutton 1
pkulkarni34 0:75276caf1a37 273 while(1){
pkulkarni34 2:54fafe349aa7 274 if(pb1 != 1)
pkulkarni34 2:54fafe349aa7 275 { //Play button select
pkulkarni34 2:54fafe349aa7 276 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 277 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 278 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 279 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 280
pkulkarni34 2:54fafe349aa7 281 printf("ok!!");
pkulkarni34 2:54fafe349aa7 282 fclose(wave_file);
pkulkarni34 2:54fafe349aa7 283 break;
pkulkarni34 2:54fafe349aa7 284 }
pkulkarni34 0:75276caf1a37 285 }
pkulkarni34 0:75276caf1a37 286 lcd.cls();
pkulkarni34 0:75276caf1a37 287 wait(1);
pkulkarni34 0:75276caf1a37 288
pkulkarni34 2:54fafe349aa7 289 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 290 //Tell player 1 that she/he has 5 seconds to chose between rock,paper and scissors
pkulkarni34 0:75276caf1a37 291 lcd.locate(0,4);
pkulkarni34 2:54fafe349aa7 292 lcd.color(BLUE); //Set font color to yellow
pkulkarni34 0:75276caf1a37 293 lcd.printf(" Player 2 \n\n\n");
pkulkarni34 2:54fafe349aa7 294 lcd.locate(0,6);
pkulkarni34 2:54fafe349aa7 295 lcd.color(GREEN); //Set font color to green
pkulkarni34 0:75276caf1a37 296 lcd.printf("You have 5 seconds");
pkulkarni34 0:75276caf1a37 297 lcd.printf(" to choose\n");
pkulkarni34 0:75276caf1a37 298 lcd.printf(" an option!\n");
pkulkarni34 2:54fafe349aa7 299 wait(4);
pkulkarni34 2:54fafe349aa7 300
pkulkarni34 0:75276caf1a37 301
pkulkarni34 0:75276caf1a37 302
pkulkarni34 0:75276caf1a37 303
pkulkarni34 0:75276caf1a37 304 int j;
pkulkarni34 0:75276caf1a37 305 int blue = 1;
pkulkarni34 0:75276caf1a37 306 for(j = 5; j > -1 ; j--){
pkulkarni34 2:54fafe349aa7 307
pkulkarni34 0:75276caf1a37 308 lcd.cls();
pkulkarni34 0:75276caf1a37 309 lcd.locate(4,4);
pkulkarni34 0:75276caf1a37 310 lcd.text_width(8);
pkulkarni34 0:75276caf1a37 311 lcd.text_height(8);
pkulkarni34 0:75276caf1a37 312 RGB_LED(0,0,blue*25);
pkulkarni34 0:75276caf1a37 313 blue = blue + 5;
pkulkarni34 0:75276caf1a37 314 lcd.printf("%d",j);
pkulkarni34 0:75276caf1a37 315 wait(1);
pkulkarni34 1:5841ff349aae 316
pkulkarni34 1:5841ff349aae 317 //Rock
pkulkarni34 0:75276caf1a37 318 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 319 lcd.cls();
pkulkarni34 0:75276caf1a37 320 choice2 = 1;
pkulkarni34 2:54fafe349aa7 321 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 322 lcd.locate(0,1);
pkulkarni34 2:54fafe349aa7 323 lcd.printf(" You chose rock!");
pkulkarni34 2:54fafe349aa7 324 //Play button select
pkulkarni34 2:54fafe349aa7 325 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 326 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 327 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 328 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 329
pkulkarni34 2:54fafe349aa7 330 printf("ok!!");
pkulkarni34 2:54fafe349aa7 331 fclose(wave_file);
pkulkarni34 0:75276caf1a37 332 lcd.circle(60, 60, 30,WHITE);
pkulkarni34 2:54fafe349aa7 333 wait(3);
pkulkarni34 0:75276caf1a37 334 lcd.cls();
pkulkarni34 0:75276caf1a37 335 break;
pkulkarni34 0:75276caf1a37 336 }
pkulkarni34 1:5841ff349aae 337 //Paper
pkulkarni34 0:75276caf1a37 338 if(pb2 != 1) {
pkulkarni34 0:75276caf1a37 339 lcd.cls();
pkulkarni34 0:75276caf1a37 340 choice2 = 2;
pkulkarni34 2:54fafe349aa7 341 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 342 lcd.locate(0,1);
pkulkarni34 2:54fafe349aa7 343 lcd.printf(" You chose paper");
pkulkarni34 2:54fafe349aa7 344 //Play button select
pkulkarni34 2:54fafe349aa7 345 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 346 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 347 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 348 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 349
pkulkarni34 2:54fafe349aa7 350 printf("ok!!");
pkulkarni34 2:54fafe349aa7 351 fclose(wave_file);
pkulkarni34 2:54fafe349aa7 352 lcd.filled_rectangle(50, 45, 80,90,WHITE);
pkulkarni34 2:54fafe349aa7 353 wait(3);
pkulkarni34 0:75276caf1a37 354 lcd.cls();
pkulkarni34 0:75276caf1a37 355 break;
pkulkarni34 0:75276caf1a37 356 }
pkulkarni34 1:5841ff349aae 357 //Scissors
pkulkarni34 0:75276caf1a37 358 if(pb3 != 1) {
pkulkarni34 0:75276caf1a37 359 lcd.cls();
pkulkarni34 0:75276caf1a37 360 choice2 = 3;
pkulkarni34 2:54fafe349aa7 361 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 362 lcd.locate(0,1);
pkulkarni34 2:54fafe349aa7 363 lcd.printf("You chose scissors");
pkulkarni34 2:54fafe349aa7 364 //Play button select
pkulkarni34 2:54fafe349aa7 365 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 366 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 367 wave_file=fopen("/sd/mydir/select.wav","r");
pkulkarni34 2:54fafe349aa7 368 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 369
pkulkarni34 2:54fafe349aa7 370 printf("ok!!");
pkulkarni34 2:54fafe349aa7 371 fclose(wave_file);
pkulkarni34 0:75276caf1a37 372 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 373 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 374 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 375 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 2:54fafe349aa7 376 wait(3);
pkulkarni34 0:75276caf1a37 377 lcd.cls();
pkulkarni34 0:75276caf1a37 378 break;
pkulkarni34 0:75276caf1a37 379 }
pkulkarni34 0:75276caf1a37 380 }
pkulkarni34 1:5841ff349aae 381
pkulkarni34 2:54fafe349aa7 382 //----------------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 2:54fafe349aa7 383 // TIME-OUT
pkulkarni34 2:54fafe349aa7 384 //----------------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 1:5841ff349aae 385 //Time out message
pkulkarni34 0:75276caf1a37 386 if(j == -1){
pkulkarni34 0:75276caf1a37 387 lcd.cls();
pkulkarni34 2:54fafe349aa7 388 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 389 lcd.locate(0,5);
pkulkarni34 2:54fafe349aa7 390 lcd.color(RED);
pkulkarni34 2:54fafe349aa7 391 lcd.printf(" Your time is up!");
pkulkarni34 2:54fafe349aa7 392 lcd.color(GREEN);
pkulkarni34 2:54fafe349aa7 393 //Play time up tune
pkulkarni34 2:54fafe349aa7 394 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 395 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 396 wave_file=fopen("/sd/mydir/timeup.wav","r");
pkulkarni34 2:54fafe349aa7 397 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 398
pkulkarni34 2:54fafe349aa7 399 printf("ok!!");
pkulkarni34 2:54fafe349aa7 400 fclose(wave_file);
pkulkarni34 2:54fafe349aa7 401 wait(3);
pkulkarni34 0:75276caf1a37 402 goto L1;
pkulkarni34 0:75276caf1a37 403 }
pkulkarni34 0:75276caf1a37 404 RGB_LED(0,0,0);
pkulkarni34 3:fb5a647123cb 405
pkulkarni34 3:fb5a647123cb 406 */
pkulkarni34 3:fb5a647123cb 407
pkulkarni34 3:fb5a647123cb 408 player2.printf("%c",choice2);
pkulkarni34 3:fb5a647123cb 409 myled2 = 1;
pkulkarni34 3:fb5a647123cb 410 wait(1);
pkulkarni34 3:fb5a647123cb 411
pkulkarni34 3:fb5a647123cb 412 while(1){
pkulkarni34 3:fb5a647123cb 413 if(player2.readable()){
pkulkarni34 3:fb5a647123cb 414 choice1 = player2.getc();
pkulkarni34 3:fb5a647123cb 415 myled = 1;
pkulkarni34 3:fb5a647123cb 416 break;
pkulkarni34 3:fb5a647123cb 417 }
pkulkarni34 3:fb5a647123cb 418 }
pkulkarni34 3:fb5a647123cb 419
pkulkarni34 3:fb5a647123cb 420
pkulkarni34 2:54fafe349aa7 421 //-------------------------------------------------------------------------------------------------------------------------------------
pkulkarni34 1:5841ff349aae 422 //Check to see who won
pkulkarni34 3:fb5a647123cb 423 //--------------------------------------------------------------------------------------------------------------------------
pkulkarni34 1:5841ff349aae 424 //Case 1 : Both players choose same option
pkulkarni34 2:54fafe349aa7 425 if(choice1 == 'R' && choice2 == 'R' ||
pkulkarni34 3:fb5a647123cb 426 choice1== 'P' && choice2 == 'P' ||
pkulkarni34 2:54fafe349aa7 427 choice1 == 'S' && choice2 == 'S' ) {
pkulkarni34 0:75276caf1a37 428 lcd.cls();
pkulkarni34 2:54fafe349aa7 429 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 430 lcd.locate(1,2);
pkulkarni34 2:54fafe349aa7 431 lcd.printf(" It's a draw!");
pkulkarni34 0:75276caf1a37 432 wait(4);
pkulkarni34 3:fb5a647123cb 433 /*
pkulkarni34 0:75276caf1a37 434 lcd.cls();
pkulkarni34 2:54fafe349aa7 435 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 436 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 437 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 438 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 439 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 440 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 441
pkulkarni34 0:75276caf1a37 442 while(1){
pkulkarni34 0:75276caf1a37 443 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 444 lcd.cls();
pkulkarni34 0:75276caf1a37 445 goto L3;
pkulkarni34 0:75276caf1a37 446 }
pkulkarni34 0:75276caf1a37 447 else if(pb2 != 1) goto L2;
pkulkarni34 3:fb5a647123cb 448 }*/
pkulkarni34 0:75276caf1a37 449 }
pkulkarni34 1:5841ff349aae 450 //Case 2:
pkulkarni34 1:5841ff349aae 451 //Player 1 : Rock
pkulkarni34 1:5841ff349aae 452 //Player 2 : Paper
pkulkarni34 2:54fafe349aa7 453 else if(choice1 == 'R' && choice2 == 'P'){
pkulkarni34 0:75276caf1a37 454
pkulkarni34 0:75276caf1a37 455 lcd.cls();
pkulkarni34 2:54fafe349aa7 456 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 0:75276caf1a37 457
pkulkarni34 2:54fafe349aa7 458 lcd.locate(1,2);
pkulkarni34 2:54fafe349aa7 459 lcd.printf(" P1 chose Rock\n");
pkulkarni34 2:54fafe349aa7 460 lcd.printf(" P2 chose Paper\n\n\n\n");
pkulkarni34 2:54fafe349aa7 461 lcd.locate(1,5);
pkulkarni34 2:54fafe349aa7 462 lcd.printf(" Player 2 wins!");
pkulkarni34 2:54fafe349aa7 463 lcd.filled_rectangle(50, 60, 80,90,WHITE);
pkulkarni34 0:75276caf1a37 464 p2++;
pkulkarni34 0:75276caf1a37 465 wait(4);
pkulkarni34 3:fb5a647123cb 466 /*
pkulkarni34 0:75276caf1a37 467 lcd.cls();
pkulkarni34 2:54fafe349aa7 468 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 469 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 470 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 471 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 472 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 473 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 474
pkulkarni34 0:75276caf1a37 475 while(1){
pkulkarni34 0:75276caf1a37 476 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 477 lcd.cls();
pkulkarni34 0:75276caf1a37 478 goto L3;
pkulkarni34 0:75276caf1a37 479 }
pkulkarni34 0:75276caf1a37 480 else if(pb2 != 1) goto L2;
pkulkarni34 3:fb5a647123cb 481 }*/
pkulkarni34 2:54fafe349aa7 482 }
pkulkarni34 1:5841ff349aae 483 //Case 3:
pkulkarni34 1:5841ff349aae 484 //Player 1 : Paper
pkulkarni34 1:5841ff349aae 485 //Player 2 : Rock
pkulkarni34 2:54fafe349aa7 486 else if(choice2== 'P' && choice1== 'R'){
pkulkarni34 0:75276caf1a37 487
pkulkarni34 0:75276caf1a37 488 lcd.cls();
pkulkarni34 2:54fafe349aa7 489 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 490 lcd.locate(1,2);
pkulkarni34 0:75276caf1a37 491 lcd.printf("P1 chose Paper\n");
pkulkarni34 2:54fafe349aa7 492 lcd.printf(" P2 chose Rock\n\n");
pkulkarni34 2:54fafe349aa7 493 lcd.locate(1,5);
pkulkarni34 0:75276caf1a37 494 lcd.printf("P1 wins!");
pkulkarni34 2:54fafe349aa7 495 lcd.filled_rectangle(50, 60, 80,90,WHITE);
pkulkarni34 0:75276caf1a37 496 p1++;
pkulkarni34 0:75276caf1a37 497 wait(5);
pkulkarni34 3:fb5a647123cb 498 /*
pkulkarni34 0:75276caf1a37 499 lcd.cls();
pkulkarni34 2:54fafe349aa7 500 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 501 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 502 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 503 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 504 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 505 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 506
pkulkarni34 0:75276caf1a37 507 while(1){
pkulkarni34 0:75276caf1a37 508 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 509 lcd.cls();
pkulkarni34 0:75276caf1a37 510 goto L3;
pkulkarni34 0:75276caf1a37 511 }
pkulkarni34 0:75276caf1a37 512 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 513 }
pkulkarni34 3:fb5a647123cb 514 */
pkulkarni34 0:75276caf1a37 515 }
pkulkarni34 0:75276caf1a37 516
pkulkarni34 1:5841ff349aae 517 //Case 4:
pkulkarni34 1:5841ff349aae 518 //Player 1 : Paper
pkulkarni34 1:5841ff349aae 519 //Player 2 : Scissor
pkulkarni34 0:75276caf1a37 520
pkulkarni34 2:54fafe349aa7 521 else if(choice1 == 'P' && choice2 == 'S'){
pkulkarni34 0:75276caf1a37 522
pkulkarni34 0:75276caf1a37 523 lcd.cls();
pkulkarni34 2:54fafe349aa7 524 lcd.locate(1,1);
pkulkarni34 0:75276caf1a37 525 lcd.printf("P1 chose Paper\n");
pkulkarni34 2:54fafe349aa7 526 lcd.printf(" P2 chose Scissors\n\n");
pkulkarni34 2:54fafe349aa7 527 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 528 lcd.printf("P2 wins!");
pkulkarni34 0:75276caf1a37 529 p2++;
pkulkarni34 0:75276caf1a37 530 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 531 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 532 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 533 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 0:75276caf1a37 534 wait(5);
pkulkarni34 3:fb5a647123cb 535 /*
pkulkarni34 0:75276caf1a37 536 lcd.cls();
pkulkarni34 2:54fafe349aa7 537 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 538 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 539 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 540 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 541 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 542 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 543
pkulkarni34 0:75276caf1a37 544 while(1){
pkulkarni34 0:75276caf1a37 545 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 546 lcd.cls();
pkulkarni34 0:75276caf1a37 547 goto L3;
pkulkarni34 0:75276caf1a37 548 }
pkulkarni34 0:75276caf1a37 549 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 550 }
pkulkarni34 3:fb5a647123cb 551 */
pkulkarni34 0:75276caf1a37 552 }
pkulkarni34 1:5841ff349aae 553 //Case 5:
pkulkarni34 1:5841ff349aae 554 //Player 1 : Scissor
pkulkarni34 1:5841ff349aae 555 //Player 2 : Paper
pkulkarni34 2:54fafe349aa7 556 else if(choice1 == 'S' && choice2 == 'P'){
pkulkarni34 0:75276caf1a37 557
pkulkarni34 0:75276caf1a37 558 lcd.cls();
pkulkarni34 2:54fafe349aa7 559 lcd.locate(1,1);
pkulkarni34 0:75276caf1a37 560 lcd.printf("P1 chose Scissors\n");
pkulkarni34 2:54fafe349aa7 561 lcd.printf(" P2 chose Paper\n\n");
pkulkarni34 2:54fafe349aa7 562 lcd.locate(1,4);
pkulkarni34 0:75276caf1a37 563 lcd.printf("P1 wins!");
pkulkarni34 0:75276caf1a37 564 p1++;
pkulkarni34 0:75276caf1a37 565 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 566 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 567 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 568 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 0:75276caf1a37 569 wait(5);
pkulkarni34 3:fb5a647123cb 570 /*
pkulkarni34 0:75276caf1a37 571 lcd.cls();
pkulkarni34 2:54fafe349aa7 572 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 573 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 574 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 575 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 576 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 577 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 578
pkulkarni34 0:75276caf1a37 579 while(1){
pkulkarni34 0:75276caf1a37 580 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 581 lcd.cls();
pkulkarni34 0:75276caf1a37 582 goto L3;
pkulkarni34 0:75276caf1a37 583 }
pkulkarni34 0:75276caf1a37 584 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 585 }
pkulkarni34 3:fb5a647123cb 586 */
pkulkarni34 0:75276caf1a37 587 }
pkulkarni34 1:5841ff349aae 588 //Case 6:
pkulkarni34 1:5841ff349aae 589 //Player 1 : Rock
pkulkarni34 1:5841ff349aae 590 //Player 2 : Scissors
pkulkarni34 2:54fafe349aa7 591 else if(choice1 == 'R' && choice2 == 'S'){
pkulkarni34 0:75276caf1a37 592
pkulkarni34 0:75276caf1a37 593 lcd.cls();
pkulkarni34 2:54fafe349aa7 594 lcd.locate(1,1);
pkulkarni34 0:75276caf1a37 595 lcd.printf("P1 chose Rock\n");
pkulkarni34 2:54fafe349aa7 596 lcd.printf(" P2 chose Scissors\n\n");
pkulkarni34 2:54fafe349aa7 597 lcd.locate(1,3);
pkulkarni34 0:75276caf1a37 598 lcd.printf("P1 wins!");
pkulkarni34 0:75276caf1a37 599 p1++;
pkulkarni34 2:54fafe349aa7 600 lcd.circle(60, 70, 30,WHITE);
pkulkarni34 0:75276caf1a37 601 wait(5);
pkulkarni34 3:fb5a647123cb 602 /*
pkulkarni34 0:75276caf1a37 603 lcd.cls();
pkulkarni34 2:54fafe349aa7 604 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 605 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 606 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 607 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 608 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 609 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 610
pkulkarni34 0:75276caf1a37 611 while(1){
pkulkarni34 0:75276caf1a37 612 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 613 lcd.cls();
pkulkarni34 0:75276caf1a37 614 goto L3;
pkulkarni34 0:75276caf1a37 615 }
pkulkarni34 0:75276caf1a37 616 else if(pb2 != 1) goto L2;
pkulkarni34 3:fb5a647123cb 617 }*/
pkulkarni34 0:75276caf1a37 618 }
pkulkarni34 1:5841ff349aae 619 //Case 7:
pkulkarni34 1:5841ff349aae 620 //Player 1 : Scissors
pkulkarni34 1:5841ff349aae 621 //Player 2 : Rock
pkulkarni34 0:75276caf1a37 622
pkulkarni34 2:54fafe349aa7 623 else if(choice1 == 'S' && choice2 == 'R'){
pkulkarni34 0:75276caf1a37 624
pkulkarni34 0:75276caf1a37 625 lcd.cls();
pkulkarni34 2:54fafe349aa7 626 lcd.locate(1,1);
pkulkarni34 0:75276caf1a37 627 lcd.printf("P1 chose Scissors\n");
pkulkarni34 2:54fafe349aa7 628 lcd.printf(" P2 chose Rock\n\n");
pkulkarni34 2:54fafe349aa7 629 lcd.locate(1,3);
pkulkarni34 0:75276caf1a37 630 lcd.printf("P2 wins!");
pkulkarni34 0:75276caf1a37 631 p2++;
pkulkarni34 2:54fafe349aa7 632 lcd.circle(60, 70, 30,WHITE);
pkulkarni34 0:75276caf1a37 633 wait(5);
pkulkarni34 3:fb5a647123cb 634 /*
pkulkarni34 0:75276caf1a37 635 lcd.cls();
pkulkarni34 2:54fafe349aa7 636 lcd.locate(1,4);
pkulkarni34 2:54fafe349aa7 637 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 2:54fafe349aa7 638 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 2:54fafe349aa7 639 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 2:54fafe349aa7 640 lcd.printf(" 1 to continue\n\n");
pkulkarni34 2:54fafe349aa7 641 lcd.printf(" 2 to end\n\n");
pkulkarni34 0:75276caf1a37 642
pkulkarni34 0:75276caf1a37 643 while(1){
pkulkarni34 0:75276caf1a37 644 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 645 lcd.cls();
pkulkarni34 0:75276caf1a37 646 goto L3;
pkulkarni34 0:75276caf1a37 647 }
pkulkarni34 0:75276caf1a37 648 else if(pb2 != 1) goto L2;
pkulkarni34 3:fb5a647123cb 649 }*/
pkulkarni34 3:fb5a647123cb 650 }
pkulkarni34 3:fb5a647123cb 651
pkulkarni34 3:fb5a647123cb 652 lcd.cls();
pkulkarni34 3:fb5a647123cb 653 lcd.locate(1,4);
pkulkarni34 3:fb5a647123cb 654 lcd.rectangle(0,0,125,125,WHITE); //Draw white border
pkulkarni34 3:fb5a647123cb 655 lcd.printf(" P1 Score : %d\n",p1);
pkulkarni34 3:fb5a647123cb 656 lcd.printf(" P2 Score : %d\n\n\n\n",p2);
pkulkarni34 3:fb5a647123cb 657 lcd.printf(" 1 to continue\n\n");
pkulkarni34 3:fb5a647123cb 658 lcd.printf(" 2 to end\n\n");
pkulkarni34 3:fb5a647123cb 659
pkulkarni34 3:fb5a647123cb 660 char continue1 = 'N';
pkulkarni34 3:fb5a647123cb 661 char continue2 = 'N';
pkulkarni34 3:fb5a647123cb 662 //char cont;
pkulkarni34 3:fb5a647123cb 663
pkulkarni34 3:fb5a647123cb 664
pkulkarni34 3:fb5a647123cb 665 while(1){
pkulkarni34 3:fb5a647123cb 666 if(pb1 != 1) {
pkulkarni34 3:fb5a647123cb 667 lcd.cls();
pkulkarni34 3:fb5a647123cb 668 continue2 = 'Y';
pkulkarni34 3:fb5a647123cb 669 break;
pkulkarni34 3:fb5a647123cb 670 //goto L3;
pkulkarni34 3:fb5a647123cb 671 }
pkulkarni34 3:fb5a647123cb 672 else if(pb2 != 1) {
pkulkarni34 3:fb5a647123cb 673 lcd.cls();
pkulkarni34 3:fb5a647123cb 674 continue2 = 'N';
pkulkarni34 3:fb5a647123cb 675 break;
pkulkarni34 3:fb5a647123cb 676 }
pkulkarni34 0:75276caf1a37 677 }
pkulkarni34 3:fb5a647123cb 678
pkulkarni34 3:fb5a647123cb 679
pkulkarni34 3:fb5a647123cb 680 player2.printf("%c",continue2);
pkulkarni34 3:fb5a647123cb 681 myled3 = 1;
pkulkarni34 3:fb5a647123cb 682 wait(1);
pkulkarni34 3:fb5a647123cb 683
pkulkarni34 3:fb5a647123cb 684 while(1){
pkulkarni34 3:fb5a647123cb 685 if(player2.readable()){
pkulkarni34 3:fb5a647123cb 686 continue1 = player2.getc();
pkulkarni34 3:fb5a647123cb 687 myled = 1;
pkulkarni34 3:fb5a647123cb 688 break;
pkulkarni34 3:fb5a647123cb 689 }
pkulkarni34 3:fb5a647123cb 690 }
pkulkarni34 3:fb5a647123cb 691
pkulkarni34 3:fb5a647123cb 692 //If both say continue then you need to go back to L3
pkulkarni34 3:fb5a647123cb 693 if(continue1 == 'Y' && continue2 == 'Y') goto L3;
pkulkarni34 3:fb5a647123cb 694 else goto L2;
pkulkarni34 0:75276caf1a37 695
pkulkarni34 0:75276caf1a37 696 }
pkulkarni34 3:fb5a647123cb 697
pkulkarni34 3:fb5a647123cb 698 }
pkulkarni34 0:75276caf1a37 699
pkulkarni34 0:75276caf1a37 700
pkulkarni34 0:75276caf1a37 701
pkulkarni34 0:75276caf1a37 702 // Code to play a wave file
pkulkarni34 3:fb5a647123cb 703 /* FILE *wave_file;
pkulkarni34 0:75276caf1a37 704 printf("\n\n\nHello, wave world!\n");
pkulkarni34 0:75276caf1a37 705 wave_file=fopen("/sd/mydir/HG.wav","r");
pkulkarni34 0:75276caf1a37 706 waver.play(wave_file);
pkulkarni34 0:75276caf1a37 707 wait(5);
pkulkarni34 0:75276caf1a37 708 printf("ok!!");
pkulkarni34 0:75276caf1a37 709 fclose(wave_file);
pkulkarni34 3:fb5a647123cb 710 */
pkulkarni34 3:fb5a647123cb 711
pkulkarni34 0:75276caf1a37 712
pkulkarni34 1:5841ff349aae 713
pkulkarni34 3:fb5a647123cb 714
pkulkarni34 3:fb5a647123cb 715
pkulkarni34 3:fb5a647123cb 716
pkulkarni34 3:fb5a647123cb 717
pkulkarni34 1:5841ff349aae 718 //If game ends :
pkulkarni34 0:75276caf1a37 719 L2:
pkulkarni34 2:54fafe349aa7 720 lcd.cls();
pkulkarni34 0:75276caf1a37 721
pkulkarni34 0:75276caf1a37 722
pkulkarni34 0:75276caf1a37 723 //Create animation of two bouncing balls
pkulkarni34 2:54fafe349aa7 724 float fx=50.0,fy=21.0,vx=5.0,vy=0.4,vx2=2,fx2=40.0;
pkulkarni34 0:75276caf1a37 725 int x=50,y=21,radius=4;
pkulkarni34 0:75276caf1a37 726 int x2 = 30, y2 = 10;
pkulkarni34 2:54fafe349aa7 727 //lcd.rectangle(0,0,125,125,GREEN); //Draw green border
pkulkarni34 0:75276caf1a37 728 //draw walls
pkulkarni34 0:75276caf1a37 729 wait(2);
pkulkarni34 1:5841ff349aae 730 //If Player 1's score is higher than Player 2's score
pkulkarni34 0:75276caf1a37 731 if(p1 > p2)
pkulkarni34 0:75276caf1a37 732 //lcd.printf("Player 1 wins!");
pkulkarni34 0:75276caf1a37 733 lcd.text_string("Player 1 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 1:5841ff349aae 734 //If Player 1's score is equal to Player 2's score
pkulkarni34 0:75276caf1a37 735 else if(p1 == p2)
pkulkarni34 0:75276caf1a37 736 //lcd.printf("It's a draw!");
pkulkarni34 0:75276caf1a37 737 lcd.text_string("It's a draw!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 1:5841ff349aae 738 //If Player 2's score is higher than Player 1's score
pkulkarni34 0:75276caf1a37 739 else if(p2 > p1)
pkulkarni34 0:75276caf1a37 740 //lcd.printf("Player 2 wins!");
pkulkarni34 0:75276caf1a37 741 lcd.text_string("Player 2 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 742
pkulkarni34 2:54fafe349aa7 743 // Play winning tune
pkulkarni34 2:54fafe349aa7 744 FILE *wave_file;
pkulkarni34 2:54fafe349aa7 745 printf("\n\n\nHello, wave world!\n");
pkulkarni34 2:54fafe349aa7 746 wave_file=fopen("/sd/mydir/win.wav","r");
pkulkarni34 2:54fafe349aa7 747 waver.play(wave_file);
pkulkarni34 2:54fafe349aa7 748
pkulkarni34 2:54fafe349aa7 749 printf("ok!!");
pkulkarni34 2:54fafe349aa7 750 fclose(wave_file);
pkulkarni34 0:75276caf1a37 751
pkulkarni34 0:75276caf1a37 752 for (int i=0; i<100; i++) {
pkulkarni34 0:75276caf1a37 753 //draw ball
pkulkarni34 0:75276caf1a37 754 //lcd.cls();
pkulkarni34 0:75276caf1a37 755 if(p1 > p2)
pkulkarni34 0:75276caf1a37 756 //lcd.printf("Player 1 wins!");
pkulkarni34 0:75276caf1a37 757 lcd.text_string("Player 1 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 758
pkulkarni34 0:75276caf1a37 759 else if(p1 == p2)
pkulkarni34 0:75276caf1a37 760 //lcd.printf("It's a draw!");
pkulkarni34 0:75276caf1a37 761 lcd.text_string("It's a draw!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 762
pkulkarni34 0:75276caf1a37 763 else if(p2 > p1)
pkulkarni34 0:75276caf1a37 764 //lcd.printf("Player 2 wins!");
pkulkarni34 0:75276caf1a37 765 lcd.text_string("Player 2 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 766
pkulkarni34 0:75276caf1a37 767 lcd.filled_circle(x, y, radius, RED);
pkulkarni34 0:75276caf1a37 768 lcd.filled_circle(x2,y2,radius,BLUE);
pkulkarni34 0:75276caf1a37 769 RGB_LED(x,y,x);
pkulkarni34 0:75276caf1a37 770 //bounce off edge walls and slow down a bit
pkulkarni34 0:75276caf1a37 771 if ((x<=radius+1) || (x>=126-radius)) vx = -.90*vx;
pkulkarni34 0:75276caf1a37 772 if ((y<=radius+1) || (y>=126-radius)) vy = -.90*vy;
pkulkarni34 0:75276caf1a37 773 if ((x2<=radius+1) || (x2>=126-radius)) vx2 = -.90*vx2;
pkulkarni34 0:75276caf1a37 774 if ((y2<=radius+1) || (y2>=126-radius)) vy = -.90*vy;
pkulkarni34 0:75276caf1a37 775 //erase old ball location
pkulkarni34 0:75276caf1a37 776 lcd.filled_circle(x, y, radius, BLACK);
pkulkarni34 0:75276caf1a37 777 lcd.filled_circle(x2, y2, radius, BLACK);
pkulkarni34 0:75276caf1a37 778 //move ball
pkulkarni34 0:75276caf1a37 779 fx=fx+vx;
pkulkarni34 0:75276caf1a37 780 fx2=fx2+vx2;
pkulkarni34 0:75276caf1a37 781 fy=fy+vy;
pkulkarni34 0:75276caf1a37 782 x=(int)fx;
pkulkarni34 0:75276caf1a37 783 y=(int)fy;
pkulkarni34 0:75276caf1a37 784 x2=(int)fx2;
pkulkarni34 0:75276caf1a37 785 y2=(int)fy;
pkulkarni34 0:75276caf1a37 786 }
pkulkarni34 3:fb5a647123cb 787 lcd.cls();
pkulkarni34 2:54fafe349aa7 788
pkulkarni34 3:fb5a647123cb 789 }