Code for Player 2 of Rock Paper Scissors

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

Committer:
pkulkarni34
Date:
Wed Oct 21 23:41:47 2015 +0000
Revision:
2:54fafe349aa7
Parent:
1:5841ff349aae
Child:
3:fb5a647123cb
Player 2 before copy pasting

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