Code for Player 2 of Rock Paper Scissors

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

Committer:
pkulkarni34
Date:
Mon Oct 19 07:43:06 2015 +0000
Revision:
0:75276caf1a37
Child:
1:5841ff349aae
Mini Project Version 1; Date : 10/19/2015 3:42 AM

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 0:75276caf1a37 8
pkulkarni34 0:75276caf1a37 9 SDFileSystem sd(p5, p6, p7, p8, "sd");
pkulkarni34 0:75276caf1a37 10 AnalogOut DACout(p18);
pkulkarni34 0:75276caf1a37 11 wave_player waver(&DACout); // Wave Player
pkulkarni34 0:75276caf1a37 12
pkulkarni34 0:75276caf1a37 13 //DigitalOut myled(LED1);
pkulkarni34 0:75276caf1a37 14 uLCD_4DGL lcd(p28, p27, p29); //uLCD
pkulkarni34 0:75276caf1a37 15 DigitalIn pb1(p17); //Pushbutton 1
pkulkarni34 0:75276caf1a37 16 DigitalIn pb2(p19); //Pushbutton 2
pkulkarni34 0:75276caf1a37 17 DigitalIn pb3(p20); //Pushbutton 3
pkulkarni34 0:75276caf1a37 18
pkulkarni34 0:75276caf1a37 19 PwmOut led1(p21); //led 1
pkulkarni34 0:75276caf1a37 20 PwmOut led2(p22); //led2
pkulkarni34 0:75276caf1a37 21 PwmOut led3(p23); //led3
pkulkarni34 0:75276caf1a37 22
pkulkarni34 0:75276caf1a37 23 //shiftbrite
pkulkarni34 0:75276caf1a37 24 DigitalOut latch(p15);
pkulkarni34 0:75276caf1a37 25 DigitalOut enable(p16);
pkulkarni34 0:75276caf1a37 26 SPI spi(p11, p12, p13);
pkulkarni34 0:75276caf1a37 27
pkulkarni34 0:75276caf1a37 28 //Choice
pkulkarni34 0:75276caf1a37 29 //Choice = 1 for rock
pkulkarni34 0:75276caf1a37 30 //Choice = 2 for paper
pkulkarni34 0:75276caf1a37 31 //Choice = 3 for scissors
pkulkarni34 0:75276caf1a37 32 int choice1 = 0;
pkulkarni34 0:75276caf1a37 33 int choice2 = 0;
pkulkarni34 0:75276caf1a37 34
pkulkarni34 0:75276caf1a37 35 //Points
pkulkarni34 0:75276caf1a37 36 int p1 = 0;
pkulkarni34 0:75276caf1a37 37 int p2 = 0;
pkulkarni34 0:75276caf1a37 38
pkulkarni34 0:75276caf1a37 39
pkulkarni34 0:75276caf1a37 40
pkulkarni34 0:75276caf1a37 41
pkulkarni34 0:75276caf1a37 42 void RGB_LED(int red, int green, int blue);
pkulkarni34 0:75276caf1a37 43 void RGB_LED(int red, int green, int blue)
pkulkarni34 0:75276caf1a37 44 {
pkulkarni34 0:75276caf1a37 45 unsigned int low_color=0;
pkulkarni34 0:75276caf1a37 46 unsigned int high_color=0;
pkulkarni34 0:75276caf1a37 47 high_color=(blue<<4)|((red&0x3C0)>>6);
pkulkarni34 0:75276caf1a37 48 low_color=(((red&0x3F)<<10)|(green));
pkulkarni34 0:75276caf1a37 49 spi.write(high_color);
pkulkarni34 0:75276caf1a37 50 spi.write(low_color);
pkulkarni34 0:75276caf1a37 51 latch=1;
pkulkarni34 0:75276caf1a37 52 latch=0;
pkulkarni34 0:75276caf1a37 53 }
pkulkarni34 0:75276caf1a37 54
pkulkarni34 0:75276caf1a37 55
pkulkarni34 0:75276caf1a37 56 int main() {
pkulkarni34 0:75276caf1a37 57 L1:
pkulkarni34 0:75276caf1a37 58 spi.format(16,0);
pkulkarni34 0:75276caf1a37 59 spi.frequency(500000);
pkulkarni34 0:75276caf1a37 60 enable=0;
pkulkarni34 0:75276caf1a37 61 latch=0;
pkulkarni34 0:75276caf1a37 62 pb1.mode(PullUp);
pkulkarni34 0:75276caf1a37 63 wait(0.001);
pkulkarni34 0:75276caf1a37 64 pb2.mode(PullUp);
pkulkarni34 0:75276caf1a37 65 wait(0.001);
pkulkarni34 0:75276caf1a37 66 pb3.mode(PullUp);
pkulkarni34 0:75276caf1a37 67 wait(0.001);
pkulkarni34 0:75276caf1a37 68
pkulkarni34 0:75276caf1a37 69 //Display
pkulkarni34 0:75276caf1a37 70 lcd.locate(0,0);
pkulkarni34 0:75276caf1a37 71 //lcd_mutex.lock();
pkulkarni34 0:75276caf1a37 72 lcd.printf("Rock Paper Scissor");
pkulkarni34 0:75276caf1a37 73
pkulkarni34 0:75276caf1a37 74 lcd.locate(0,4);
pkulkarni34 0:75276caf1a37 75 lcd.printf("Button 1 for Rocks");
pkulkarni34 0:75276caf1a37 76
pkulkarni34 0:75276caf1a37 77 lcd.locate(0,6);
pkulkarni34 0:75276caf1a37 78 lcd.printf("Button 2 for Paper");
pkulkarni34 0:75276caf1a37 79
pkulkarni34 0:75276caf1a37 80 lcd.locate(0,8);
pkulkarni34 0:75276caf1a37 81 lcd.printf("Button 3 for Scissors\n\n");
pkulkarni34 0:75276caf1a37 82
pkulkarni34 0:75276caf1a37 83 lcd.printf("Press 1 to continue");
pkulkarni34 0:75276caf1a37 84
pkulkarni34 0:75276caf1a37 85 wait(2);
pkulkarni34 0:75276caf1a37 86
pkulkarni34 0:75276caf1a37 87 while(1){
pkulkarni34 0:75276caf1a37 88
pkulkarni34 0:75276caf1a37 89 if(pb1 != 1){
pkulkarni34 0:75276caf1a37 90 L3:
pkulkarni34 0:75276caf1a37 91 lcd.cls(); //Clear screen
pkulkarni34 0:75276caf1a37 92
pkulkarni34 0:75276caf1a37 93 lcd.locate(0,4);
pkulkarni34 0:75276caf1a37 94 lcd.printf(" Player 1 \n\n\n");
pkulkarni34 0:75276caf1a37 95 lcd.printf("You have 5 seconds");
pkulkarni34 0:75276caf1a37 96 lcd.printf(" to choose\n");
pkulkarni34 0:75276caf1a37 97 lcd.printf(" an option!\n");
pkulkarni34 0:75276caf1a37 98 wait(2);
pkulkarni34 0:75276caf1a37 99
pkulkarni34 0:75276caf1a37 100
pkulkarni34 0:75276caf1a37 101
pkulkarni34 0:75276caf1a37 102 int i;
pkulkarni34 0:75276caf1a37 103 int red = 1;
pkulkarni34 0:75276caf1a37 104
pkulkarni34 0:75276caf1a37 105 for(i = 5; i > -1 ; i--){
pkulkarni34 0:75276caf1a37 106 lcd.cls();
pkulkarni34 0:75276caf1a37 107 lcd.locate(4,4);
pkulkarni34 0:75276caf1a37 108 lcd.set_font(FONT_12X16);
pkulkarni34 0:75276caf1a37 109 //lcd.color(BLUE); // Setting Font color
pkulkarni34 0:75276caf1a37 110 //lcd.text_mode(TRANSPARENT);
pkulkarni34 0:75276caf1a37 111 lcd.text_width(8);
pkulkarni34 0:75276caf1a37 112 lcd.text_height(8);
pkulkarni34 0:75276caf1a37 113
pkulkarni34 0:75276caf1a37 114 lcd.text_bold(ON);
pkulkarni34 0:75276caf1a37 115 RGB_LED(red*25,0,0);
pkulkarni34 0:75276caf1a37 116 red = red + 5;
pkulkarni34 0:75276caf1a37 117 //green = green + 5;
pkulkarni34 0:75276caf1a37 118 //blue = blue + 5;
pkulkarni34 0:75276caf1a37 119 //wait(2);
pkulkarni34 0:75276caf1a37 120 //red = red + 15;
pkulkarni34 0:75276caf1a37 121 //RGB_LED(red, green,blue);
pkulkarni34 0:75276caf1a37 122 lcd.printf("%d",i);
pkulkarni34 0:75276caf1a37 123 wait(1);
pkulkarni34 0:75276caf1a37 124 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 125 lcd.cls();
pkulkarni34 0:75276caf1a37 126 choice1 = 1;
pkulkarni34 0:75276caf1a37 127 lcd.printf("You chose rock!");
pkulkarni34 0:75276caf1a37 128 lcd.circle(60, 60, 30,WHITE);
pkulkarni34 0:75276caf1a37 129 wait(2);
pkulkarni34 0:75276caf1a37 130 lcd.cls();
pkulkarni34 0:75276caf1a37 131 break;
pkulkarni34 0:75276caf1a37 132 }
pkulkarni34 0:75276caf1a37 133 if(pb2 != 1) {
pkulkarni34 0:75276caf1a37 134 lcd.cls();
pkulkarni34 0:75276caf1a37 135 choice1 = 2;
pkulkarni34 0:75276caf1a37 136 lcd.printf("You chose paper!");
pkulkarni34 0:75276caf1a37 137 lcd.rectangle(40, 60, 80,100,WHITE);
pkulkarni34 0:75276caf1a37 138 wait(2);
pkulkarni34 0:75276caf1a37 139 lcd.cls();
pkulkarni34 0:75276caf1a37 140 break;
pkulkarni34 0:75276caf1a37 141 }
pkulkarni34 0:75276caf1a37 142 if(pb3 != 1) {
pkulkarni34 0:75276caf1a37 143 lcd.cls();
pkulkarni34 0:75276caf1a37 144 choice1 = 3;
pkulkarni34 0:75276caf1a37 145 lcd.printf("You chose scissors!");
pkulkarni34 0:75276caf1a37 146 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 147 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 148 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 149 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 0:75276caf1a37 150 wait(2);
pkulkarni34 0:75276caf1a37 151 lcd.cls();
pkulkarni34 0:75276caf1a37 152 break;
pkulkarni34 0:75276caf1a37 153 }
pkulkarni34 0:75276caf1a37 154 }
pkulkarni34 0:75276caf1a37 155 RGB_LED(0,0,0);
pkulkarni34 0:75276caf1a37 156 if(i == -1){
pkulkarni34 0:75276caf1a37 157 lcd.cls();
pkulkarni34 0:75276caf1a37 158 lcd.printf("Your time is up");
pkulkarni34 0:75276caf1a37 159 wait(5);
pkulkarni34 0:75276caf1a37 160 goto L1;
pkulkarni34 0:75276caf1a37 161 }
pkulkarni34 0:75276caf1a37 162
pkulkarni34 0:75276caf1a37 163 lcd.cls(); //Clear screen
pkulkarni34 0:75276caf1a37 164 wait(2);
pkulkarni34 0:75276caf1a37 165
pkulkarni34 0:75276caf1a37 166 lcd.printf("Press 1 if P2 is ready");
pkulkarni34 0:75276caf1a37 167 while(1){
pkulkarni34 0:75276caf1a37 168 if(pb1 != 1) break;
pkulkarni34 0:75276caf1a37 169 }
pkulkarni34 0:75276caf1a37 170 lcd.cls();
pkulkarni34 0:75276caf1a37 171 wait(1);
pkulkarni34 0:75276caf1a37 172
pkulkarni34 0:75276caf1a37 173 lcd.locate(0,4);
pkulkarni34 0:75276caf1a37 174 lcd.printf(" Player 2 \n\n\n");
pkulkarni34 0:75276caf1a37 175 lcd.printf("You have 5 seconds");
pkulkarni34 0:75276caf1a37 176 lcd.printf(" to choose\n");
pkulkarni34 0:75276caf1a37 177 lcd.printf(" an option!\n");
pkulkarni34 0:75276caf1a37 178 wait(5);
pkulkarni34 0:75276caf1a37 179
pkulkarni34 0:75276caf1a37 180
pkulkarni34 0:75276caf1a37 181
pkulkarni34 0:75276caf1a37 182 int j;
pkulkarni34 0:75276caf1a37 183 int blue = 1;
pkulkarni34 0:75276caf1a37 184 for(j = 5; j > -1 ; j--){
pkulkarni34 0:75276caf1a37 185 lcd.cls();
pkulkarni34 0:75276caf1a37 186 lcd.locate(4,4);
pkulkarni34 0:75276caf1a37 187 lcd.text_width(8);
pkulkarni34 0:75276caf1a37 188 lcd.text_height(8);
pkulkarni34 0:75276caf1a37 189 RGB_LED(0,0,blue*25);
pkulkarni34 0:75276caf1a37 190 blue = blue + 5;
pkulkarni34 0:75276caf1a37 191 lcd.printf("%d",j);
pkulkarni34 0:75276caf1a37 192 wait(1);
pkulkarni34 0:75276caf1a37 193 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 194 lcd.cls();
pkulkarni34 0:75276caf1a37 195 choice2 = 1;
pkulkarni34 0:75276caf1a37 196 lcd.printf("You chose rock!");
pkulkarni34 0:75276caf1a37 197 lcd.circle(60, 60, 30,WHITE);
pkulkarni34 0:75276caf1a37 198 wait(2);
pkulkarni34 0:75276caf1a37 199 lcd.cls();
pkulkarni34 0:75276caf1a37 200 break;
pkulkarni34 0:75276caf1a37 201 }
pkulkarni34 0:75276caf1a37 202 if(pb2 != 1) {
pkulkarni34 0:75276caf1a37 203 lcd.cls();
pkulkarni34 0:75276caf1a37 204 choice2 = 2;
pkulkarni34 0:75276caf1a37 205 lcd.printf("You chose paper!");
pkulkarni34 0:75276caf1a37 206 lcd.rectangle(40, 60, 80,100,WHITE);
pkulkarni34 0:75276caf1a37 207 wait(2);
pkulkarni34 0:75276caf1a37 208 lcd.cls();
pkulkarni34 0:75276caf1a37 209 break;
pkulkarni34 0:75276caf1a37 210 }
pkulkarni34 0:75276caf1a37 211 if(pb3 != 1) {
pkulkarni34 0:75276caf1a37 212 lcd.cls();
pkulkarni34 0:75276caf1a37 213 choice2 = 3;
pkulkarni34 0:75276caf1a37 214 lcd.printf("You chose scissors!");
pkulkarni34 0:75276caf1a37 215 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 216 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 217 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 218 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 0:75276caf1a37 219 wait(2);
pkulkarni34 0:75276caf1a37 220 lcd.cls();
pkulkarni34 0:75276caf1a37 221 break;
pkulkarni34 0:75276caf1a37 222 }
pkulkarni34 0:75276caf1a37 223 }
pkulkarni34 0:75276caf1a37 224 if(j == -1){
pkulkarni34 0:75276caf1a37 225 lcd.cls();
pkulkarni34 0:75276caf1a37 226 lcd.printf("Your time is up");
pkulkarni34 0:75276caf1a37 227 wait(5);
pkulkarni34 0:75276caf1a37 228 goto L1;
pkulkarni34 0:75276caf1a37 229 }
pkulkarni34 0:75276caf1a37 230 RGB_LED(0,0,0);
pkulkarni34 0:75276caf1a37 231
pkulkarni34 0:75276caf1a37 232
pkulkarni34 0:75276caf1a37 233
pkulkarni34 0:75276caf1a37 234
pkulkarni34 0:75276caf1a37 235 if(choice1 == 1 && choice2 == 1 ||
pkulkarni34 0:75276caf1a37 236 choice1== 2 && choice2 == 2 ||
pkulkarni34 0:75276caf1a37 237 choice1 == 3 && choice2 == 3 ) {
pkulkarni34 0:75276caf1a37 238 lcd.cls();
pkulkarni34 0:75276caf1a37 239 lcd.printf("It's a draw!");
pkulkarni34 0:75276caf1a37 240 wait(4);
pkulkarni34 0:75276caf1a37 241 lcd.cls();
pkulkarni34 0:75276caf1a37 242 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 243 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 244
pkulkarni34 0:75276caf1a37 245 while(1){
pkulkarni34 0:75276caf1a37 246 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 247 lcd.cls();
pkulkarni34 0:75276caf1a37 248 goto L3;
pkulkarni34 0:75276caf1a37 249 }
pkulkarni34 0:75276caf1a37 250 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 251 }
pkulkarni34 0:75276caf1a37 252 }
pkulkarni34 0:75276caf1a37 253
pkulkarni34 0:75276caf1a37 254 else if(choice1 == 1 && choice2 == 2){
pkulkarni34 0:75276caf1a37 255
pkulkarni34 0:75276caf1a37 256 lcd.cls();
pkulkarni34 0:75276caf1a37 257 lcd.printf("Player 1 chose Rock\n");
pkulkarni34 0:75276caf1a37 258 lcd.printf("Player 2 chose Paper\n\n");
pkulkarni34 0:75276caf1a37 259
pkulkarni34 0:75276caf1a37 260 lcd.printf("Player 2 wins!");
pkulkarni34 0:75276caf1a37 261 lcd.rectangle(40, 60, 80,100,WHITE);
pkulkarni34 0:75276caf1a37 262 p2++;
pkulkarni34 0:75276caf1a37 263 wait(4);
pkulkarni34 0:75276caf1a37 264 lcd.cls();
pkulkarni34 0:75276caf1a37 265 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 266 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 267
pkulkarni34 0:75276caf1a37 268 while(1){
pkulkarni34 0:75276caf1a37 269 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 270 lcd.cls();
pkulkarni34 0:75276caf1a37 271 goto L3;
pkulkarni34 0:75276caf1a37 272 }
pkulkarni34 0:75276caf1a37 273 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 274 }
pkulkarni34 0:75276caf1a37 275 }
pkulkarni34 0:75276caf1a37 276
pkulkarni34 0:75276caf1a37 277 }
pkulkarni34 0:75276caf1a37 278
pkulkarni34 0:75276caf1a37 279 else if(choice2== 1 && choice1== 2){
pkulkarni34 0:75276caf1a37 280
pkulkarni34 0:75276caf1a37 281 lcd.cls();
pkulkarni34 0:75276caf1a37 282 lcd.printf("P1 chose Paper\n");
pkulkarni34 0:75276caf1a37 283 lcd.printf("P2 chose Rock\n\n");
pkulkarni34 0:75276caf1a37 284 lcd.printf("P1 wins!");
pkulkarni34 0:75276caf1a37 285 lcd.rectangle(40, 60, 80,100,WHITE);
pkulkarni34 0:75276caf1a37 286 p1++;
pkulkarni34 0:75276caf1a37 287 wait(5);
pkulkarni34 0:75276caf1a37 288 lcd.cls();
pkulkarni34 0:75276caf1a37 289 lcd.printf("P1 Score : %d\n",p1);
pkulkarni34 0:75276caf1a37 290 lcd.printf("P2 Score : %d\n\n",p2);
pkulkarni34 0:75276caf1a37 291 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 292 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 293
pkulkarni34 0:75276caf1a37 294 while(1){
pkulkarni34 0:75276caf1a37 295 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 296 lcd.cls();
pkulkarni34 0:75276caf1a37 297 goto L3;
pkulkarni34 0:75276caf1a37 298 }
pkulkarni34 0:75276caf1a37 299 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 300 }
pkulkarni34 0:75276caf1a37 301 }
pkulkarni34 0:75276caf1a37 302
pkulkarni34 0:75276caf1a37 303
pkulkarni34 0:75276caf1a37 304
pkulkarni34 0:75276caf1a37 305 else if(choice1 == 2 && choice2 == 3){
pkulkarni34 0:75276caf1a37 306
pkulkarni34 0:75276caf1a37 307 lcd.cls();
pkulkarni34 0:75276caf1a37 308 lcd.printf("P1 chose Paper\n");
pkulkarni34 0:75276caf1a37 309 lcd.printf("P2 chose Scissors\n\n");
pkulkarni34 0:75276caf1a37 310
pkulkarni34 0:75276caf1a37 311 lcd.printf("Player 2 wins!");
pkulkarni34 0:75276caf1a37 312 p2++;
pkulkarni34 0:75276caf1a37 313 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 314 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 315 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 316 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 0:75276caf1a37 317 wait(5);
pkulkarni34 0:75276caf1a37 318 lcd.cls();
pkulkarni34 0:75276caf1a37 319 lcd.printf("P1 Score : %d\n",p1);
pkulkarni34 0:75276caf1a37 320 lcd.printf("P2 Score : %d\n\n",p2);
pkulkarni34 0:75276caf1a37 321 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 322 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 323
pkulkarni34 0:75276caf1a37 324 while(1){
pkulkarni34 0:75276caf1a37 325 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 326 lcd.cls();
pkulkarni34 0:75276caf1a37 327 goto L3;
pkulkarni34 0:75276caf1a37 328 }
pkulkarni34 0:75276caf1a37 329 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 330 }
pkulkarni34 0:75276caf1a37 331 }
pkulkarni34 0:75276caf1a37 332
pkulkarni34 0:75276caf1a37 333 else if(choice1 == 3 && choice2 == 2){
pkulkarni34 0:75276caf1a37 334
pkulkarni34 0:75276caf1a37 335 lcd.cls();
pkulkarni34 0:75276caf1a37 336
pkulkarni34 0:75276caf1a37 337 lcd.printf("P1 chose Scissors\n");
pkulkarni34 0:75276caf1a37 338 lcd.printf("P2 chose Paper\n\n");
pkulkarni34 0:75276caf1a37 339
pkulkarni34 0:75276caf1a37 340 lcd.printf("P1 wins!");
pkulkarni34 0:75276caf1a37 341 p1++;
pkulkarni34 0:75276caf1a37 342 lcd.circle(50, 60, 10,WHITE);
pkulkarni34 0:75276caf1a37 343 lcd.circle(50, 80, 10,WHITE);
pkulkarni34 0:75276caf1a37 344 lcd.line(62, 61, 90, 85, WHITE);
pkulkarni34 0:75276caf1a37 345 lcd.line(62, 81, 90, 55, WHITE);
pkulkarni34 0:75276caf1a37 346 wait(5);
pkulkarni34 0:75276caf1a37 347 lcd.cls();
pkulkarni34 0:75276caf1a37 348 lcd.printf("P1 Score : %d\n",p1);
pkulkarni34 0:75276caf1a37 349 lcd.printf("P2 Score : %d\n\n",p2);
pkulkarni34 0:75276caf1a37 350 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 351 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 352
pkulkarni34 0:75276caf1a37 353 while(1){
pkulkarni34 0:75276caf1a37 354 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 355 lcd.cls();
pkulkarni34 0:75276caf1a37 356 goto L3;
pkulkarni34 0:75276caf1a37 357 }
pkulkarni34 0:75276caf1a37 358 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 359 }
pkulkarni34 0:75276caf1a37 360 }
pkulkarni34 0:75276caf1a37 361
pkulkarni34 0:75276caf1a37 362 else if(choice1 == 1 && choice2 == 3){
pkulkarni34 0:75276caf1a37 363
pkulkarni34 0:75276caf1a37 364 lcd.cls();
pkulkarni34 0:75276caf1a37 365 lcd.printf("P1 chose Rock\n");
pkulkarni34 0:75276caf1a37 366 lcd.printf("P2 chose Scissors\n\n");
pkulkarni34 0:75276caf1a37 367
pkulkarni34 0:75276caf1a37 368 lcd.printf("P1 wins!");
pkulkarni34 0:75276caf1a37 369 p1++;
pkulkarni34 0:75276caf1a37 370 lcd.circle(60, 60, 30,WHITE);
pkulkarni34 0:75276caf1a37 371 wait(5);
pkulkarni34 0:75276caf1a37 372 lcd.cls();
pkulkarni34 0:75276caf1a37 373 lcd.printf("P1 Score : %d\n",p1);
pkulkarni34 0:75276caf1a37 374 lcd.printf("P2 Score : %d\n\n",p2);
pkulkarni34 0:75276caf1a37 375 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 376 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 377
pkulkarni34 0:75276caf1a37 378 while(1){
pkulkarni34 0:75276caf1a37 379 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 380 lcd.cls();
pkulkarni34 0:75276caf1a37 381 goto L3;
pkulkarni34 0:75276caf1a37 382 }
pkulkarni34 0:75276caf1a37 383 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 384 }
pkulkarni34 0:75276caf1a37 385 }
pkulkarni34 0:75276caf1a37 386
pkulkarni34 0:75276caf1a37 387
pkulkarni34 0:75276caf1a37 388 else if(choice1 == 3 && choice2 == 1){
pkulkarni34 0:75276caf1a37 389
pkulkarni34 0:75276caf1a37 390 lcd.cls();
pkulkarni34 0:75276caf1a37 391 lcd.printf("P1 chose Scissors\n");
pkulkarni34 0:75276caf1a37 392 lcd.printf("P2 chose Rock\n\n");
pkulkarni34 0:75276caf1a37 393
pkulkarni34 0:75276caf1a37 394 lcd.printf("P2 wins!");
pkulkarni34 0:75276caf1a37 395 p2++;
pkulkarni34 0:75276caf1a37 396 lcd.circle(60, 60, 30,WHITE);
pkulkarni34 0:75276caf1a37 397 wait(5);
pkulkarni34 0:75276caf1a37 398 lcd.cls();
pkulkarni34 0:75276caf1a37 399 lcd.printf("P1 Score : %d\n",p1);
pkulkarni34 0:75276caf1a37 400 lcd.printf("P2 Score : %d\n\n",p2);
pkulkarni34 0:75276caf1a37 401 lcd.printf("Press 1 to continue\n\n");
pkulkarni34 0:75276caf1a37 402 lcd.printf("Press 2 to end\n\n");
pkulkarni34 0:75276caf1a37 403
pkulkarni34 0:75276caf1a37 404 while(1){
pkulkarni34 0:75276caf1a37 405 if(pb1 != 1) {
pkulkarni34 0:75276caf1a37 406 lcd.cls();
pkulkarni34 0:75276caf1a37 407 goto L3;
pkulkarni34 0:75276caf1a37 408 }
pkulkarni34 0:75276caf1a37 409 else if(pb2 != 1) goto L2;
pkulkarni34 0:75276caf1a37 410 }
pkulkarni34 0:75276caf1a37 411 }
pkulkarni34 0:75276caf1a37 412
pkulkarni34 0:75276caf1a37 413 }
pkulkarni34 0:75276caf1a37 414
pkulkarni34 0:75276caf1a37 415
pkulkarni34 0:75276caf1a37 416
pkulkarni34 0:75276caf1a37 417
pkulkarni34 0:75276caf1a37 418 /*
pkulkarni34 0:75276caf1a37 419 while(1) {
pkulkarni34 0:75276caf1a37 420 myled = 1;
pkulkarni34 0:75276caf1a37 421 wait(0.2);
pkulkarni34 0:75276caf1a37 422 myled = 0;
pkulkarni34 0:75276caf1a37 423 wait(0.2);
pkulkarni34 0:75276caf1a37 424 }
pkulkarni34 0:75276caf1a37 425 */
pkulkarni34 0:75276caf1a37 426
pkulkarni34 0:75276caf1a37 427 // Code to play a wave file
pkulkarni34 0:75276caf1a37 428 /* FILE *wave_file;
pkulkarni34 0:75276caf1a37 429 printf("\n\n\nHello, wave world!\n");
pkulkarni34 0:75276caf1a37 430 wave_file=fopen("/sd/mydir/HG.wav","r");
pkulkarni34 0:75276caf1a37 431 waver.play(wave_file);
pkulkarni34 0:75276caf1a37 432 wait(5);
pkulkarni34 0:75276caf1a37 433 printf("ok!!");
pkulkarni34 0:75276caf1a37 434 fclose(wave_file);
pkulkarni34 0:75276caf1a37 435 */
pkulkarni34 0:75276caf1a37 436
pkulkarni34 0:75276caf1a37 437 //Code to use Shiftbrite
pkulkarni34 0:75276caf1a37 438 /* for(int i=1; i <= 10; i++) {
pkulkarni34 0:75276caf1a37 439 //if(lightSensor > 0.5) {
pkulkarni34 0:75276caf1a37 440 RGB_LED(0, 0, i*10);
pkulkarni34 0:75276caf1a37 441 wait(3);
pkulkarni34 0:75276caf1a37 442 if(i%5){
pkulkarni34 0:75276caf1a37 443 RGB_LED(250, 253,8);
pkulkarni34 0:75276caf1a37 444 wait(1);
pkulkarni34 0:75276caf1a37 445 }
pkulkarni34 0:75276caf1a37 446 */
pkulkarni34 0:75276caf1a37 447
pkulkarni34 0:75276caf1a37 448
pkulkarni34 0:75276caf1a37 449 L2:
pkulkarni34 0:75276caf1a37 450 lcd.cls();
pkulkarni34 0:75276caf1a37 451
pkulkarni34 0:75276caf1a37 452
pkulkarni34 0:75276caf1a37 453 //Create animation of two bouncing balls
pkulkarni34 0:75276caf1a37 454 float fx=50.0,fy=21.0,vx=5.0,vy=0.4,vx2=5,fx2=40.0;
pkulkarni34 0:75276caf1a37 455 int x=50,y=21,radius=4;
pkulkarni34 0:75276caf1a37 456 int x2 = 30, y2 = 10;
pkulkarni34 0:75276caf1a37 457 //lcd.background_color(BLACK);
pkulkarni34 0:75276caf1a37 458 //lcd.cls();
pkulkarni34 0:75276caf1a37 459 //uLCD.text_string("Highest Score!!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 460 // playSound("/sd/wavfiles/BUZZER.wav");
pkulkarni34 0:75276caf1a37 461 //draw walls
pkulkarni34 0:75276caf1a37 462 wait(2);
pkulkarni34 0:75276caf1a37 463
pkulkarni34 0:75276caf1a37 464 //lcd.text_width(2);
pkulkarni34 0:75276caf1a37 465 //lcd.text_height(2);
pkulkarni34 0:75276caf1a37 466 if(p1 > p2)
pkulkarni34 0:75276caf1a37 467 //lcd.printf("Player 1 wins!");
pkulkarni34 0:75276caf1a37 468 lcd.text_string("Player 1 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 469
pkulkarni34 0:75276caf1a37 470 else if(p1 == p2)
pkulkarni34 0:75276caf1a37 471 //lcd.printf("It's a draw!");
pkulkarni34 0:75276caf1a37 472 lcd.text_string("It's a draw!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 473
pkulkarni34 0:75276caf1a37 474 else if(p2 > p1)
pkulkarni34 0:75276caf1a37 475 //lcd.printf("Player 2 wins!");
pkulkarni34 0:75276caf1a37 476 lcd.text_string("Player 2 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 477
pkulkarni34 0:75276caf1a37 478
pkulkarni34 0:75276caf1a37 479 for (int i=0; i<100; i++) {
pkulkarni34 0:75276caf1a37 480 //draw ball
pkulkarni34 0:75276caf1a37 481 //lcd.cls();
pkulkarni34 0:75276caf1a37 482 if(p1 > p2)
pkulkarni34 0:75276caf1a37 483 //lcd.printf("Player 1 wins!");
pkulkarni34 0:75276caf1a37 484 lcd.text_string("Player 1 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 485
pkulkarni34 0:75276caf1a37 486 else if(p1 == p2)
pkulkarni34 0:75276caf1a37 487 //lcd.printf("It's a draw!");
pkulkarni34 0:75276caf1a37 488 lcd.text_string("It's a draw!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 489
pkulkarni34 0:75276caf1a37 490 else if(p2 > p1)
pkulkarni34 0:75276caf1a37 491 //lcd.printf("Player 2 wins!");
pkulkarni34 0:75276caf1a37 492 lcd.text_string("Player 2 Wins!", 2, 4, FONT_7X8, WHITE);
pkulkarni34 0:75276caf1a37 493
pkulkarni34 0:75276caf1a37 494 lcd.filled_circle(x, y, radius, RED);
pkulkarni34 0:75276caf1a37 495 lcd.filled_circle(x2,y2,radius,BLUE);
pkulkarni34 0:75276caf1a37 496 RGB_LED(x,y,x);
pkulkarni34 0:75276caf1a37 497 //bounce off edge walls and slow down a bit
pkulkarni34 0:75276caf1a37 498 if ((x<=radius+1) || (x>=126-radius)) vx = -.90*vx;
pkulkarni34 0:75276caf1a37 499 if ((y<=radius+1) || (y>=126-radius)) vy = -.90*vy;
pkulkarni34 0:75276caf1a37 500 if ((x2<=radius+1) || (x2>=126-radius)) vx2 = -.90*vx2;
pkulkarni34 0:75276caf1a37 501 if ((y2<=radius+1) || (y2>=126-radius)) vy = -.90*vy;
pkulkarni34 0:75276caf1a37 502 //erase old ball location
pkulkarni34 0:75276caf1a37 503 lcd.filled_circle(x, y, radius, BLACK);
pkulkarni34 0:75276caf1a37 504 lcd.filled_circle(x2, y2, radius, BLACK);
pkulkarni34 0:75276caf1a37 505 //move ball
pkulkarni34 0:75276caf1a37 506 fx=fx+vx;
pkulkarni34 0:75276caf1a37 507 fx2=fx2+vx2;
pkulkarni34 0:75276caf1a37 508 fy=fy+vy;
pkulkarni34 0:75276caf1a37 509 x=(int)fx;
pkulkarni34 0:75276caf1a37 510 y=(int)fy;
pkulkarni34 0:75276caf1a37 511 x2=(int)fx2;
pkulkarni34 0:75276caf1a37 512 y2=(int)fy;
pkulkarni34 0:75276caf1a37 513 }
pkulkarni34 0:75276caf1a37 514 wait(3);
pkulkarni34 0:75276caf1a37 515 lcd.cls();
pkulkarni34 0:75276caf1a37 516 lcd.printf("End!");
pkulkarni34 0:75276caf1a37 517 wait(3);
pkulkarni34 0:75276caf1a37 518 lcd.cls();
pkulkarni34 0:75276caf1a37 519 }