Poker code for Secondary Mbed

Dependencies:   NokiaLCD mbed

Committer:
wjenkins7
Date:
Wed Dec 11 07:07:19 2013 +0000
Revision:
0:1324145f6904
Mbed Poker Secondary

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wjenkins7 0:1324145f6904 1 #include "mbed.h"
wjenkins7 0:1324145f6904 2 #include <mpr121.h>
wjenkins7 0:1324145f6904 3 #include "NokiaLCD.h"
wjenkins7 0:1324145f6904 4
wjenkins7 0:1324145f6904 5 Serial device(p13,p14);
wjenkins7 0:1324145f6904 6 Serial pc(USBTX, USBRX);
wjenkins7 0:1324145f6904 7
wjenkins7 0:1324145f6904 8 //PwmOut IRLED(p21);
wjenkins7 0:1324145f6904 9 // Setup the i2c bus on pins 28 and 27
wjenkins7 0:1324145f6904 10 I2C i2c1(p9, p10);
wjenkins7 0:1324145f6904 11 I2C i2c2(p28, p27);
wjenkins7 0:1324145f6904 12
wjenkins7 0:1324145f6904 13 // Setup the Mpr121:
wjenkins7 0:1324145f6904 14 // constructor(i2c object, i2c address of the mpr121)
wjenkins7 0:1324145f6904 15 Mpr121 mpr1(&i2c1, Mpr121::ADD_VSS);
wjenkins7 0:1324145f6904 16 Mpr121 mpr2(&i2c2, Mpr121::ADD_VSS);
wjenkins7 0:1324145f6904 17
wjenkins7 0:1324145f6904 18 NokiaLCD lcd2(p5, p7, p8, p15, NokiaLCD::LCD6610); // mosi, sclk, cs, rst, type
wjenkins7 0:1324145f6904 19 //NokiaLCD lcd3(p5, p7, p16, p17, NokiaLCD::LCD6610);
wjenkins7 0:1324145f6904 20 NokiaLCD lcd1(p5, p7, p18, p19, NokiaLCD::LCD6610);
wjenkins7 0:1324145f6904 21
wjenkins7 0:1324145f6904 22 void print_on_lcd(int n, int suit, int card, int id)
wjenkins7 0:1324145f6904 23 {
wjenkins7 0:1324145f6904 24 char x,y,w;
wjenkins7 0:1324145f6904 25 x = 0;
wjenkins7 0:1324145f6904 26 y = 0;
wjenkins7 0:1324145f6904 27 w = 0;
wjenkins7 0:1324145f6904 28 switch(id) {
wjenkins7 0:1324145f6904 29 case 0:
wjenkins7 0:1324145f6904 30 // lcd1.reset();
wjenkins7 0:1324145f6904 31 lcd1.background(0x2b8135);
wjenkins7 0:1324145f6904 32 lcd1.foreground(0x000000);
wjenkins7 0:1324145f6904 33 // lcd1.cls();
wjenkins7 0:1324145f6904 34 lcd1.locate(0,3);
wjenkins7 0:1324145f6904 35 /*if(n >= 0) {
wjenkins7 0:1324145f6904 36 lcd1.printf("Raise to %d",n);
wjenkins7 0:1324145f6904 37 }
wjenkins7 0:1324145f6904 38 if(n == -1) {
wjenkins7 0:1324145f6904 39 lcd1.printf("Fold");
wjenkins7 0:1324145f6904 40 }
wjenkins7 0:1324145f6904 41 if(n == -2) {
wjenkins7 0:1324145f6904 42 lcd1.printf("Call");
wjenkins7 0:1324145f6904 43 }
wjenkins7 0:1324145f6904 44 if(n == -4) {
wjenkins7 0:1324145f6904 45 lcd1.reset();
wjenkins7 0:1324145f6904 46 lcd1.cls();
wjenkins7 0:1324145f6904 47 lcd1.printf("Time up!");
wjenkins7 0:1324145f6904 48 }
wjenkins7 0:1324145f6904 49 if (n==-3) {
wjenkins7 0:1324145f6904 50 lcd1.printf("Exceeds limit, enter new value");
wjenkins7 0:1324145f6904 51 }*/
wjenkins7 0:1324145f6904 52
wjenkins7 0:1324145f6904 53 if(n == -6) {
wjenkins7 0:1324145f6904 54 lcd1.locate(5,6);
wjenkins7 0:1324145f6904 55 if((suit==1)||(suit==2))lcd1.foreground(0x000000);
wjenkins7 0:1324145f6904 56 if((suit==3)||(suit==4))lcd1.foreground(0xFF0000);
wjenkins7 0:1324145f6904 57 if(suit == 1) {
wjenkins7 0:1324145f6904 58 y = 'S';
wjenkins7 0:1324145f6904 59 } else if(suit == 2) {
wjenkins7 0:1324145f6904 60 y = 'C';
wjenkins7 0:1324145f6904 61 } else if(suit == 3) {
wjenkins7 0:1324145f6904 62 y = 'H';
wjenkins7 0:1324145f6904 63 } else y = 'D';
wjenkins7 0:1324145f6904 64 if(card==2) x = '2';
wjenkins7 0:1324145f6904 65 else if(card == 3) x = '3';
wjenkins7 0:1324145f6904 66 else if(card == 4) x = '4';
wjenkins7 0:1324145f6904 67 else if(card == 5) x = '5';
wjenkins7 0:1324145f6904 68 else if(card == 6) x = '6';
wjenkins7 0:1324145f6904 69 else if(card == 7) x = '7';
wjenkins7 0:1324145f6904 70 else if(card == 8) x = '8';
wjenkins7 0:1324145f6904 71 else if(card == 9) x = '9';
wjenkins7 0:1324145f6904 72 else if(card == 10) {
wjenkins7 0:1324145f6904 73 x = '1';
wjenkins7 0:1324145f6904 74 w = '0';
wjenkins7 0:1324145f6904 75 lcd1.printf(" %c %c%c", y, x, w);
wjenkins7 0:1324145f6904 76 } else if(card == 11) x = 'J';
wjenkins7 0:1324145f6904 77 else if (card == 12) x = 'Q';
wjenkins7 0:1324145f6904 78 else if (card == 13) x = 'K';
wjenkins7 0:1324145f6904 79 else if (card == 1) x = 'A';
wjenkins7 0:1324145f6904 80 if(card!=10)lcd1.printf(" %c %c", y, x);
wjenkins7 0:1324145f6904 81 }
wjenkins7 0:1324145f6904 82 if(n == -5) {
wjenkins7 0:1324145f6904 83 lcd1.locate(5,8);
wjenkins7 0:1324145f6904 84 if((suit==1)||(suit==2))lcd1.foreground(0x000000);
wjenkins7 0:1324145f6904 85 if((suit==3)||(suit==4))lcd1.foreground(0xFF0000);
wjenkins7 0:1324145f6904 86 if(suit == 1) {
wjenkins7 0:1324145f6904 87 y = 'S';
wjenkins7 0:1324145f6904 88 } else if(suit == 2) {
wjenkins7 0:1324145f6904 89 y = 'C';
wjenkins7 0:1324145f6904 90 } else if(suit == 3) {
wjenkins7 0:1324145f6904 91 y = 'H';
wjenkins7 0:1324145f6904 92 } else y = 'D';
wjenkins7 0:1324145f6904 93 if(card==2) x = '2';
wjenkins7 0:1324145f6904 94 else if(card == 3) x = '3';
wjenkins7 0:1324145f6904 95 else if(card == 4) x = '4';
wjenkins7 0:1324145f6904 96 else if(card == 5) x = '5';
wjenkins7 0:1324145f6904 97 else if(card == 6) x = '6';
wjenkins7 0:1324145f6904 98 else if(card == 7) x = '7';
wjenkins7 0:1324145f6904 99 else if(card == 8) x = '8';
wjenkins7 0:1324145f6904 100 else if(card == 9) x = '9';
wjenkins7 0:1324145f6904 101 else if(card == 0) {
wjenkins7 0:1324145f6904 102 x = '1';
wjenkins7 0:1324145f6904 103 w = '0';
wjenkins7 0:1324145f6904 104 lcd1.printf(" %c %c%c", y, x, w);
wjenkins7 0:1324145f6904 105 } else if(card == 11) x = 'J';
wjenkins7 0:1324145f6904 106 else if (card == 12) x = 'Q';
wjenkins7 0:1324145f6904 107 else if (card == 13) x = 'K';
wjenkins7 0:1324145f6904 108 else if (card == 1) x = 'A';
wjenkins7 0:1324145f6904 109 if(card!=10)lcd1.printf(" %c %c", y, x);
wjenkins7 0:1324145f6904 110 }
wjenkins7 0:1324145f6904 111 break;
wjenkins7 0:1324145f6904 112 case -9:
wjenkins7 0:1324145f6904 113 if(suit==0) {
wjenkins7 0:1324145f6904 114 lcd1.foreground(0x000000);
wjenkins7 0:1324145f6904 115 lcd1.locate(0, 1);
wjenkins7 0:1324145f6904 116 lcd1.printf("Current wallet:");
wjenkins7 0:1324145f6904 117 lcd1.locate(6,3);
wjenkins7 0:1324145f6904 118 lcd1.printf("%d",n);
wjenkins7 0:1324145f6904 119 } else if(suit==1) {
wjenkins7 0:1324145f6904 120 lcd2.foreground(0x000000);
wjenkins7 0:1324145f6904 121 lcd2.locate(0, 1);
wjenkins7 0:1324145f6904 122 lcd2.printf("Current wallet:");
wjenkins7 0:1324145f6904 123 lcd2.locate(6,3);
wjenkins7 0:1324145f6904 124 lcd2.printf("%d",n);
wjenkins7 0:1324145f6904 125 }
wjenkins7 0:1324145f6904 126 break;
wjenkins7 0:1324145f6904 127 case -8://(bet-Playerbet[ID],ID, 0, -8)
wjenkins7 0:1324145f6904 128 if(suit==0) {
wjenkins7 0:1324145f6904 129 lcd1.foreground(0x000000);
wjenkins7 0:1324145f6904 130 lcd1.locate(4, 10);
wjenkins7 0:1324145f6904 131 if(card==0)lcd1.printf("To Call: ");
wjenkins7 0:1324145f6904 132 if(card==1)lcd1.printf("To Raise:");
wjenkins7 0:1324145f6904 133 lcd1.locate(6,12);
wjenkins7 0:1324145f6904 134 lcd1.printf("%d",n);
wjenkins7 0:1324145f6904 135 } else if(suit==1) {
wjenkins7 0:1324145f6904 136 lcd2.foreground(0x000000);
wjenkins7 0:1324145f6904 137 lcd2.locate(4, 10);
wjenkins7 0:1324145f6904 138 if(card==0)lcd2.printf("To Call:");
wjenkins7 0:1324145f6904 139 if(card==1)lcd2.printf("To Raise:");
wjenkins7 0:1324145f6904 140 lcd2.locate(6,12);
wjenkins7 0:1324145f6904 141 lcd2.printf("%d",n);
wjenkins7 0:1324145f6904 142 }
wjenkins7 0:1324145f6904 143 break;
wjenkins7 0:1324145f6904 144 case 1:
wjenkins7 0:1324145f6904 145 //lcd2.reset();
wjenkins7 0:1324145f6904 146 lcd2.background(0x2b8135);
wjenkins7 0:1324145f6904 147 lcd2.foreground(0x000000);
wjenkins7 0:1324145f6904 148 //lcd2.cls();
wjenkins7 0:1324145f6904 149 lcd2.locate(0,3);
wjenkins7 0:1324145f6904 150 /*if(n >= 0) {
wjenkins7 0:1324145f6904 151 lcd2.printf("Raise to %d",n);
wjenkins7 0:1324145f6904 152 }
wjenkins7 0:1324145f6904 153 if(n == -1) {
wjenkins7 0:1324145f6904 154 lcd2.printf("Fold");
wjenkins7 0:1324145f6904 155 }
wjenkins7 0:1324145f6904 156 if(n == -2) {
wjenkins7 0:1324145f6904 157 lcd2.printf("Call");
wjenkins7 0:1324145f6904 158 }
wjenkins7 0:1324145f6904 159 if(n == -4) {
wjenkins7 0:1324145f6904 160 lcd2.reset();
wjenkins7 0:1324145f6904 161 lcd2.cls();
wjenkins7 0:1324145f6904 162 lcd2.printf("Time up!");
wjenkins7 0:1324145f6904 163 }
wjenkins7 0:1324145f6904 164 if (n == -3) {
wjenkins7 0:1324145f6904 165 lcd2.printf("Exceeds limit, enter new value");
wjenkins7 0:1324145f6904 166 }*/
wjenkins7 0:1324145f6904 167
wjenkins7 0:1324145f6904 168 if(n == -6) {
wjenkins7 0:1324145f6904 169 lcd2.locate(5,6);
wjenkins7 0:1324145f6904 170 if((suit==1)||(suit==2))lcd2.foreground(0x000000);
wjenkins7 0:1324145f6904 171 if((suit==3)||(suit==4))lcd2.foreground(0xFF0000);
wjenkins7 0:1324145f6904 172 if(suit == 1) {
wjenkins7 0:1324145f6904 173 y = 'S';
wjenkins7 0:1324145f6904 174 } else if(suit == 2) {
wjenkins7 0:1324145f6904 175 y = 'C';
wjenkins7 0:1324145f6904 176 } else if(suit == 3) {
wjenkins7 0:1324145f6904 177 y = 'H';
wjenkins7 0:1324145f6904 178 } else y = 'D';
wjenkins7 0:1324145f6904 179 if(card==2) x = '2';
wjenkins7 0:1324145f6904 180 else if(card == 3) x = '3';
wjenkins7 0:1324145f6904 181 else if(card == 4) x = '4';
wjenkins7 0:1324145f6904 182 else if(card == 5) x = '5';
wjenkins7 0:1324145f6904 183 else if(card == 6) x = '6';
wjenkins7 0:1324145f6904 184 else if(card == 7) x = '7';
wjenkins7 0:1324145f6904 185 else if(card == 8) x = '8';
wjenkins7 0:1324145f6904 186 else if(card == 9) x = '9';
wjenkins7 0:1324145f6904 187 else if(card == 0) {
wjenkins7 0:1324145f6904 188 x = '1';
wjenkins7 0:1324145f6904 189 w = '0';
wjenkins7 0:1324145f6904 190 lcd2.printf(" %c %c%c", y, x, w);
wjenkins7 0:1324145f6904 191 } else if(card == 11) x = 'J';
wjenkins7 0:1324145f6904 192 else if (card == 12) x = 'Q';
wjenkins7 0:1324145f6904 193 else if (card == 13) x = 'K';
wjenkins7 0:1324145f6904 194 else if (card == 1) x = 'A';
wjenkins7 0:1324145f6904 195 if(card!=10)lcd2.printf(" %c %c", y, x);
wjenkins7 0:1324145f6904 196 }
wjenkins7 0:1324145f6904 197
wjenkins7 0:1324145f6904 198 if(n == -5) {
wjenkins7 0:1324145f6904 199 lcd2.locate(5,8);
wjenkins7 0:1324145f6904 200 if((suit==1)||(suit==2))lcd2.foreground(0x000000);
wjenkins7 0:1324145f6904 201 if((suit==3)||(suit==4))lcd2.foreground(0xFF0000);
wjenkins7 0:1324145f6904 202 if(suit == 1) {
wjenkins7 0:1324145f6904 203 y = 'S';
wjenkins7 0:1324145f6904 204 } else if(suit == 2) {
wjenkins7 0:1324145f6904 205 y = 'C';
wjenkins7 0:1324145f6904 206 } else if(suit == 3) {
wjenkins7 0:1324145f6904 207 y = 'H';
wjenkins7 0:1324145f6904 208 } else y = 'D';
wjenkins7 0:1324145f6904 209 if(card==2) x = '2';
wjenkins7 0:1324145f6904 210 else if(card == 3) x = '3';
wjenkins7 0:1324145f6904 211 else if(card == 4) x = '4';
wjenkins7 0:1324145f6904 212 else if(card == 5) x = '5';
wjenkins7 0:1324145f6904 213 else if(card == 6) x = '6';
wjenkins7 0:1324145f6904 214 else if(card == 7) x = '7';
wjenkins7 0:1324145f6904 215 else if(card == 8) x = '8';
wjenkins7 0:1324145f6904 216 else if(card == 9) x = '9';
wjenkins7 0:1324145f6904 217 else if(card == 10) {
wjenkins7 0:1324145f6904 218 x = '1';
wjenkins7 0:1324145f6904 219 w = '0';
wjenkins7 0:1324145f6904 220 lcd2.printf(" %c %c%c", y, x, w);
wjenkins7 0:1324145f6904 221 } else if(card == 11) x = 'J';
wjenkins7 0:1324145f6904 222 else if (card == 12) x = 'Q';
wjenkins7 0:1324145f6904 223 else if (card == 13) x = 'K';
wjenkins7 0:1324145f6904 224 else if (card == 1) x = 'A';
wjenkins7 0:1324145f6904 225 if(card!=10)lcd2.printf(" %c %c", y, x);
wjenkins7 0:1324145f6904 226 }
wjenkins7 0:1324145f6904 227 break;
wjenkins7 0:1324145f6904 228 case 2:
wjenkins7 0:1324145f6904 229 lcd1.cls();
wjenkins7 0:1324145f6904 230 break;
wjenkins7 0:1324145f6904 231 case 3:
wjenkins7 0:1324145f6904 232 lcd2.cls();
wjenkins7 0:1324145f6904 233 break;
wjenkins7 0:1324145f6904 234 default:
wjenkins7 0:1324145f6904 235 lcd1.cls();
wjenkins7 0:1324145f6904 236 lcd2.cls();
wjenkins7 0:1324145f6904 237 x=1;
wjenkins7 0:1324145f6904 238 break;
wjenkins7 0:1324145f6904 239
wjenkins7 0:1324145f6904 240 }
wjenkins7 0:1324145f6904 241 wait(rand()%1);
wjenkins7 0:1324145f6904 242 }
wjenkins7 0:1324145f6904 243
wjenkins7 0:1324145f6904 244 int read_keypad(int n)
wjenkins7 0:1324145f6904 245 {
wjenkins7 0:1324145f6904 246
wjenkins7 0:1324145f6904 247 pc.printf("\nHello from the mbed & mpr121\n\r");
wjenkins7 0:1324145f6904 248
wjenkins7 0:1324145f6904 249 Timer t;
wjenkins7 0:1324145f6904 250 //float s;
wjenkins7 0:1324145f6904 251 //int turn;
wjenkins7 0:1324145f6904 252 unsigned char dataArray[2];
wjenkins7 0:1324145f6904 253 unsigned int Amount[6];
wjenkins7 0:1324145f6904 254 int max = 6;
wjenkins7 0:1324145f6904 255 unsigned int Total = 0;
wjenkins7 0:1324145f6904 256 int key = 0;
wjenkins7 0:1324145f6904 257 int count = 0;
wjenkins7 0:1324145f6904 258 //unsigned int card[2] = {3,12};
wjenkins7 0:1324145f6904 259 //unsigned char suit[2] = {'S','H'};
wjenkins7 0:1324145f6904 260
wjenkins7 0:1324145f6904 261 t.reset();
wjenkins7 0:1324145f6904 262 t.start();
wjenkins7 0:1324145f6904 263
wjenkins7 0:1324145f6904 264 while(1) {
wjenkins7 0:1324145f6904 265 //pc.printf("\n Entered value is:");
wjenkins7 0:1324145f6904 266 if(t.read() == 60.0) {
wjenkins7 0:1324145f6904 267 print_on_lcd(-4, 0, 0, n);
wjenkins7 0:1324145f6904 268 t.stop();
wjenkins7 0:1324145f6904 269 return 0;
wjenkins7 0:1324145f6904 270 }
wjenkins7 0:1324145f6904 271 if((n == 0)||(n == 1)) {
wjenkins7 0:1324145f6904 272 if(n == 0) {
wjenkins7 0:1324145f6904 273 dataArray[0] = mpr1.read(0x00);
wjenkins7 0:1324145f6904 274 dataArray[1] = mpr1.read(0x01);
wjenkins7 0:1324145f6904 275 } else if(n == 1) {
wjenkins7 0:1324145f6904 276 dataArray[0] = mpr2.read(0x00);
wjenkins7 0:1324145f6904 277 dataArray[1] = mpr2.read(0x01);
wjenkins7 0:1324145f6904 278 }
wjenkins7 0:1324145f6904 279 if(dataArray[0] != 0) {
wjenkins7 0:1324145f6904 280 switch(dataArray[0]) {
wjenkins7 0:1324145f6904 281 case 8:
wjenkins7 0:1324145f6904 282 if(count == max) {
wjenkins7 0:1324145f6904 283 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 284 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 285 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 286 Amount[i] = 0;
wjenkins7 0:1324145f6904 287 }
wjenkins7 0:1324145f6904 288 count = 0;
wjenkins7 0:1324145f6904 289 break;
wjenkins7 0:1324145f6904 290 }
wjenkins7 0:1324145f6904 291 pc.printf("MPR value: %d \r\n", 1);
wjenkins7 0:1324145f6904 292 //print_on_lcd(1);
wjenkins7 0:1324145f6904 293 Amount[count] = 1;
wjenkins7 0:1324145f6904 294 count++;
wjenkins7 0:1324145f6904 295 break;
wjenkins7 0:1324145f6904 296 case 128:
wjenkins7 0:1324145f6904 297 if(count == max) {
wjenkins7 0:1324145f6904 298 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 299 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 300 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 301 Amount[i] = 0;
wjenkins7 0:1324145f6904 302 }
wjenkins7 0:1324145f6904 303 count = 0;
wjenkins7 0:1324145f6904 304 break;
wjenkins7 0:1324145f6904 305 }
wjenkins7 0:1324145f6904 306 pc.printf("MPR value: %d \r\n", 2);
wjenkins7 0:1324145f6904 307 // print_on_lcd(2);
wjenkins7 0:1324145f6904 308 Amount[count] = 2;
wjenkins7 0:1324145f6904 309 count++;
wjenkins7 0:1324145f6904 310 break;
wjenkins7 0:1324145f6904 311 case 4:
wjenkins7 0:1324145f6904 312 if(count == max) {
wjenkins7 0:1324145f6904 313 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 314 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 315 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 316 Amount[i] = 0;
wjenkins7 0:1324145f6904 317 }
wjenkins7 0:1324145f6904 318 count = 0;
wjenkins7 0:1324145f6904 319 break;
wjenkins7 0:1324145f6904 320 }
wjenkins7 0:1324145f6904 321 pc.printf("MPR value: %d \r\n", 4);
wjenkins7 0:1324145f6904 322 // print_on_lcd(4);
wjenkins7 0:1324145f6904 323 Amount[count] = 4;
wjenkins7 0:1324145f6904 324 count++;
wjenkins7 0:1324145f6904 325 break;
wjenkins7 0:1324145f6904 326 case 64:
wjenkins7 0:1324145f6904 327 if(count == max) {
wjenkins7 0:1324145f6904 328 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 329 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 330 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 331 Amount[i] = 0;
wjenkins7 0:1324145f6904 332 }
wjenkins7 0:1324145f6904 333 count = 0;
wjenkins7 0:1324145f6904 334 break;
wjenkins7 0:1324145f6904 335 }
wjenkins7 0:1324145f6904 336 pc.printf("MPR value: %d \r\n", 5);
wjenkins7 0:1324145f6904 337 Amount[count] = 5;
wjenkins7 0:1324145f6904 338 // print_on_lcd(5);
wjenkins7 0:1324145f6904 339 count++;
wjenkins7 0:1324145f6904 340 break;
wjenkins7 0:1324145f6904 341 case 2:
wjenkins7 0:1324145f6904 342 if(count == max) {
wjenkins7 0:1324145f6904 343 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 344 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 345 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 346 Amount[i] = 0;
wjenkins7 0:1324145f6904 347 }
wjenkins7 0:1324145f6904 348 count = 0;
wjenkins7 0:1324145f6904 349 break;
wjenkins7 0:1324145f6904 350 }
wjenkins7 0:1324145f6904 351 pc.printf("MPR value: %d \r\n", 7);
wjenkins7 0:1324145f6904 352 Amount[count] = 7;//print_on_lcd(7);
wjenkins7 0:1324145f6904 353 count++;
wjenkins7 0:1324145f6904 354 break;
wjenkins7 0:1324145f6904 355 case 32:
wjenkins7 0:1324145f6904 356 if(count == max) {
wjenkins7 0:1324145f6904 357 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 358 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 359 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 360 Amount[i] = 0;
wjenkins7 0:1324145f6904 361 }
wjenkins7 0:1324145f6904 362 count = 0;
wjenkins7 0:1324145f6904 363 break;
wjenkins7 0:1324145f6904 364 }
wjenkins7 0:1324145f6904 365 pc.printf("MPR value: %d \r\n", 8);//print_on_lcd(8);
wjenkins7 0:1324145f6904 366 Amount[count] = 8;
wjenkins7 0:1324145f6904 367 count++;
wjenkins7 0:1324145f6904 368 break;
wjenkins7 0:1324145f6904 369 case 1:
wjenkins7 0:1324145f6904 370
wjenkins7 0:1324145f6904 371 if(count != 0) {
wjenkins7 0:1324145f6904 372 while( count != 0) {
wjenkins7 0:1324145f6904 373 Total += Amount[key]*(pow( 10, (float) (count-1) ));
wjenkins7 0:1324145f6904 374 count--;
wjenkins7 0:1324145f6904 375 key++;
wjenkins7 0:1324145f6904 376 }
wjenkins7 0:1324145f6904 377 pc.printf("Total is: %d \r\n",Total);
wjenkins7 0:1324145f6904 378 //print_on_lcd(Total, 0, 0, n);
wjenkins7 0:1324145f6904 379 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 380 Amount[i] = 0;
wjenkins7 0:1324145f6904 381 }
wjenkins7 0:1324145f6904 382 t.stop();
wjenkins7 0:1324145f6904 383 return Total;
wjenkins7 0:1324145f6904 384 } else {
wjenkins7 0:1324145f6904 385 pc.printf("MPR value: %s \r\n", "Call");
wjenkins7 0:1324145f6904 386 print_on_lcd(-2, 0, 0, n);
wjenkins7 0:1324145f6904 387 t.stop();
wjenkins7 0:1324145f6904 388 return -2;
wjenkins7 0:1324145f6904 389 }
wjenkins7 0:1324145f6904 390 case 16:
wjenkins7 0:1324145f6904 391 if(count == max) {
wjenkins7 0:1324145f6904 392 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 393 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 394 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 395 Amount[i] = 0;
wjenkins7 0:1324145f6904 396 }
wjenkins7 0:1324145f6904 397 count = 0;
wjenkins7 0:1324145f6904 398 break;
wjenkins7 0:1324145f6904 399 }
wjenkins7 0:1324145f6904 400 pc.printf("MPR value: %d \r\n", 0);
wjenkins7 0:1324145f6904 401 Amount[count] = 0;
wjenkins7 0:1324145f6904 402 count++;
wjenkins7 0:1324145f6904 403 break;
wjenkins7 0:1324145f6904 404 }
wjenkins7 0:1324145f6904 405 wait(0.5);
wjenkins7 0:1324145f6904 406 dataArray[0] = 0;
wjenkins7 0:1324145f6904 407 } else {
wjenkins7 0:1324145f6904 408 if(dataArray[1] != 0) {
wjenkins7 0:1324145f6904 409 switch(dataArray[1]) {
wjenkins7 0:1324145f6904 410 case 8:
wjenkins7 0:1324145f6904 411 if(count == max) {
wjenkins7 0:1324145f6904 412 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 413 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 414 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 415 Amount[i] = 0;
wjenkins7 0:1324145f6904 416 }
wjenkins7 0:1324145f6904 417 count = 0;
wjenkins7 0:1324145f6904 418 break;
wjenkins7 0:1324145f6904 419 }
wjenkins7 0:1324145f6904 420 pc.printf("MPR value: %d \r\n", 3);
wjenkins7 0:1324145f6904 421 Amount[count] = 3;
wjenkins7 0:1324145f6904 422 count++;
wjenkins7 0:1324145f6904 423 break;
wjenkins7 0:1324145f6904 424 case 4:
wjenkins7 0:1324145f6904 425 if(count == max) {
wjenkins7 0:1324145f6904 426 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 427 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 428 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 429 Amount[i] = 0;
wjenkins7 0:1324145f6904 430 }
wjenkins7 0:1324145f6904 431 count = 0;
wjenkins7 0:1324145f6904 432 break;
wjenkins7 0:1324145f6904 433 }
wjenkins7 0:1324145f6904 434 pc.printf("MPR value: %d \r\n", 6);
wjenkins7 0:1324145f6904 435 Amount[count] = 6;
wjenkins7 0:1324145f6904 436 count++;
wjenkins7 0:1324145f6904 437 break;
wjenkins7 0:1324145f6904 438 case 2:
wjenkins7 0:1324145f6904 439 if(count == max) {
wjenkins7 0:1324145f6904 440 pc.printf("Exceeds limit, enter new value \r\n");
wjenkins7 0:1324145f6904 441 //print_on_lcd(-3, 0, 0, n);
wjenkins7 0:1324145f6904 442 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 443 Amount[i] = 0;
wjenkins7 0:1324145f6904 444 }
wjenkins7 0:1324145f6904 445 count = 0;
wjenkins7 0:1324145f6904 446 break;
wjenkins7 0:1324145f6904 447 }
wjenkins7 0:1324145f6904 448 pc.printf("MPR value: %d \r\n", 9);
wjenkins7 0:1324145f6904 449 Amount[count] = 9;
wjenkins7 0:1324145f6904 450 count++;
wjenkins7 0:1324145f6904 451 break;
wjenkins7 0:1324145f6904 452 case 1:
wjenkins7 0:1324145f6904 453 if(count != 0) {
wjenkins7 0:1324145f6904 454 while( count != 0) {
wjenkins7 0:1324145f6904 455 Total += Amount[key]*(pow( 10, (float) (count-1) ));
wjenkins7 0:1324145f6904 456 count--;
wjenkins7 0:1324145f6904 457 key++;
wjenkins7 0:1324145f6904 458 }
wjenkins7 0:1324145f6904 459 pc.printf("Total is: %d \r\n",Total);
wjenkins7 0:1324145f6904 460 //print_on_lcd(Total, 0, 0, n);
wjenkins7 0:1324145f6904 461 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 462 Amount[i] = 0;
wjenkins7 0:1324145f6904 463 }
wjenkins7 0:1324145f6904 464 t.stop();
wjenkins7 0:1324145f6904 465 return Total;
wjenkins7 0:1324145f6904 466 } else {
wjenkins7 0:1324145f6904 467 pc.printf("MPR value: %s \r\n", "Fold");
wjenkins7 0:1324145f6904 468 //print_on_lcd(-1, 0, 0, n);
wjenkins7 0:1324145f6904 469 for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 470 Amount[i] = 0;
wjenkins7 0:1324145f6904 471 }
wjenkins7 0:1324145f6904 472 count = 0;
wjenkins7 0:1324145f6904 473 t.stop();
wjenkins7 0:1324145f6904 474 return 0;
wjenkins7 0:1324145f6904 475 }
wjenkins7 0:1324145f6904 476 }
wjenkins7 0:1324145f6904 477 wait(0.5);
wjenkins7 0:1324145f6904 478 dataArray[1] = 0;
wjenkins7 0:1324145f6904 479 }
wjenkins7 0:1324145f6904 480 }
wjenkins7 0:1324145f6904 481 } else {
wjenkins7 0:1324145f6904 482 }
wjenkins7 0:1324145f6904 483 }
wjenkins7 0:1324145f6904 484 }
wjenkins7 0:1324145f6904 485
wjenkins7 0:1324145f6904 486 int main()
wjenkins7 0:1324145f6904 487 {
wjenkins7 0:1324145f6904 488 char temp = '0',index,tempc,temp_suit,temp_card, n=0;
wjenkins7 0:1324145f6904 489 int player = 0, Amount,Amount1,temp_int,temp_int1,i=0,arr[7],suit[2],card[2];
wjenkins7 0:1324145f6904 490 //wait(3);
wjenkins7 0:1324145f6904 491 lcd1.reset();
wjenkins7 0:1324145f6904 492 lcd1.foreground(0x000000);
wjenkins7 0:1324145f6904 493 lcd1.background(0x2b8135);
wjenkins7 0:1324145f6904 494 lcd1.fill(0, 0, 136, 136, 0x2b8135);
wjenkins7 0:1324145f6904 495 lcd1.locate(0,1);
wjenkins7 0:1324145f6904 496
wjenkins7 0:1324145f6904 497 lcd2.reset();
wjenkins7 0:1324145f6904 498 lcd2.foreground(0x000000);
wjenkins7 0:1324145f6904 499 lcd2.background(0x2b8135);
wjenkins7 0:1324145f6904 500 lcd2.fill(0, 0, 136, 136, 0x2b8135);
wjenkins7 0:1324145f6904 501 lcd2.locate(0,1);
wjenkins7 0:1324145f6904 502 n=0;
wjenkins7 0:1324145f6904 503
wjenkins7 0:1324145f6904 504 while(1) {
wjenkins7 0:1324145f6904 505 pc.printf("\nPlayer id is:");
wjenkins7 0:1324145f6904 506 temp = device.getc();
wjenkins7 0:1324145f6904 507 if(n==2)n=0;
wjenkins7 0:1324145f6904 508 i=0;
wjenkins7 0:1324145f6904 509 pc.putc(temp);
wjenkins7 0:1324145f6904 510
wjenkins7 0:1324145f6904 511
wjenkins7 0:1324145f6904 512 if(temp == '3') player = 0;
wjenkins7 0:1324145f6904 513 if(temp == '4') player = 1;
wjenkins7 0:1324145f6904 514 if(temp == '6') {
wjenkins7 0:1324145f6904 515 print_on_lcd(2,0,0,player);
wjenkins7 0:1324145f6904 516 print_on_lcd(3,0,0,player);
wjenkins7 0:1324145f6904 517 //device.putc(temp);
wjenkins7 0:1324145f6904 518 } else {
wjenkins7 0:1324145f6904 519 //device.putc(temp);
wjenkins7 0:1324145f6904 520
wjenkins7 0:1324145f6904 521 temp = device.getc();
wjenkins7 0:1324145f6904 522 pc.printf("\noutside M");
wjenkins7 0:1324145f6904 523 if(temp == 'M') {
wjenkins7 0:1324145f6904 524 //device.putc(temp);
wjenkins7 0:1324145f6904 525 pc.printf("\ninside M");
wjenkins7 0:1324145f6904 526 tempc = device.getc();
wjenkins7 0:1324145f6904 527 //pc.printf("\ntempc=%c",tempc);
wjenkins7 0:1324145f6904 528 //for(int i=0; i<6; i++) {
wjenkins7 0:1324145f6904 529 //index = device.getc();
wjenkins7 0:1324145f6904 530 while(tempc != 'D') {
wjenkins7 0:1324145f6904 531 arr[i] =(tempc)-48;
wjenkins7 0:1324145f6904 532 pc.printf("\narr[i]=%d",arr[i]);
wjenkins7 0:1324145f6904 533 //if(i==5) tempc = device.getc();
wjenkins7 0:1324145f6904 534 tempc = device.getc();
wjenkins7 0:1324145f6904 535 //pc.printf("\ntempc=%c",tempc);
wjenkins7 0:1324145f6904 536 i++;
wjenkins7 0:1324145f6904 537 }
wjenkins7 0:1324145f6904 538 //Amount1=0;
wjenkins7 0:1324145f6904 539 //Amount1 = 1+arr[4];
wjenkins7 0:1324145f6904 540 //pc.printf("\namount = %d",Amount1);
wjenkins7 0:1324145f6904 541 //Amount1 = (arr[1]*1) + (arr[2]*10) + (arr[3]*100) + (arr[4]*1000);
wjenkins7 0:1324145f6904 542 Amount1 = 0;
wjenkins7 0:1324145f6904 543 for(int j=0; j<6; j++) {
wjenkins7 0:1324145f6904 544 Amount1 = Amount1 + ((pow (10, (float) (j))) * arr[j]);
wjenkins7 0:1324145f6904 545 pc.printf("\nAmount = %d of player %d",Amount1,player);
wjenkins7 0:1324145f6904 546 }
wjenkins7 0:1324145f6904 547 //if(Amount1 == 500) Amount1 = Amount1*10;
wjenkins7 0:1324145f6904 548 pc.printf("\nAmount = %d of player %d",Amount1,player);
wjenkins7 0:1324145f6904 549
wjenkins7 0:1324145f6904 550 print_on_lcd(Amount1, player, 0, -9);
wjenkins7 0:1324145f6904 551 Amount1=0;
wjenkins7 0:1324145f6904 552 Amount = read_keypad(player);
wjenkins7 0:1324145f6904 553 if(Amount == -2) device.putc('C');
wjenkins7 0:1324145f6904 554 else if(Amount == 0) device.putc('F');
wjenkins7 0:1324145f6904 555 else {
wjenkins7 0:1324145f6904 556 device.putc('R');
wjenkins7 0:1324145f6904 557 temp_int = Amount1-Amount;
wjenkins7 0:1324145f6904 558 for(int i=0; i<7; i++) {
wjenkins7 0:1324145f6904 559 temp_int1 = temp_int% ((int)(pow(10, (float)1)));
wjenkins7 0:1324145f6904 560 temp_int = temp_int/10;
wjenkins7 0:1324145f6904 561 device.putc( (char) temp_int1);
wjenkins7 0:1324145f6904 562 }
wjenkins7 0:1324145f6904 563 print_on_lcd(Amount1-Amount, player, 0, -9);
wjenkins7 0:1324145f6904 564 device.putc('R');
wjenkins7 0:1324145f6904 565 }
wjenkins7 0:1324145f6904 566 //print_on_lcd(Amount1-Amount, player, 0, -9);
wjenkins7 0:1324145f6904 567 }
wjenkins7 0:1324145f6904 568
wjenkins7 0:1324145f6904 569 if(temp == 'I') {
wjenkins7 0:1324145f6904 570 temp_suit = device.getc();
wjenkins7 0:1324145f6904 571 temp_card = device.getc();
wjenkins7 0:1324145f6904 572
wjenkins7 0:1324145f6904 573 if(temp_suit == 'S') {
wjenkins7 0:1324145f6904 574 suit[player] = 1;
wjenkins7 0:1324145f6904 575 } else if(temp_suit == 'C') {
wjenkins7 0:1324145f6904 576 suit[player] = 2;
wjenkins7 0:1324145f6904 577 } else if(temp_suit == 'H') {
wjenkins7 0:1324145f6904 578 suit[player] = 3;
wjenkins7 0:1324145f6904 579 } else suit[player] = 4;
wjenkins7 0:1324145f6904 580 if(temp_card=='2') card[player] = 2;
wjenkins7 0:1324145f6904 581 else if(temp_card == '3') card[player] = 3;
wjenkins7 0:1324145f6904 582 else if(temp_card == '4') card[player] = 4;
wjenkins7 0:1324145f6904 583 else if(temp_card == '5') card[player] = 5;
wjenkins7 0:1324145f6904 584 else if(temp_card == '6') card[player] = 6;
wjenkins7 0:1324145f6904 585 else if(temp_card == '7') card[player] = 7;
wjenkins7 0:1324145f6904 586 else if(temp_card == '8') card[player] = 8;
wjenkins7 0:1324145f6904 587 else if(temp_card == '9') card[player] = 9;
wjenkins7 0:1324145f6904 588 else if(temp_card == '0') card[player] = 10;
wjenkins7 0:1324145f6904 589 else if(temp_card == 'J') card[player] = 11;
wjenkins7 0:1324145f6904 590 else if (temp_card == 'Q') card[player] = 12;
wjenkins7 0:1324145f6904 591 else if (temp_card == 'K') card[player] = 13;
wjenkins7 0:1324145f6904 592 else if (temp_card == 'A') card[player] = 1;
wjenkins7 0:1324145f6904 593 print_on_lcd(n-6,suit[player],card[player],player);
wjenkins7 0:1324145f6904 594 pc.printf("\nPlayer:%d suit:%d face:%d n-6:%d", player, suit[player], card[player],n-6);
wjenkins7 0:1324145f6904 595 n++;
wjenkins7 0:1324145f6904 596 }
wjenkins7 0:1324145f6904 597
wjenkins7 0:1324145f6904 598 if(temp == 'Z') {
wjenkins7 0:1324145f6904 599 if(player == 0)
wjenkins7 0:1324145f6904 600 print_on_lcd(0,0,0,2);
wjenkins7 0:1324145f6904 601 if(player == 1)
wjenkins7 0:1324145f6904 602 print_on_lcd(0,0,0,3);
wjenkins7 0:1324145f6904 603 }
wjenkins7 0:1324145f6904 604 }
wjenkins7 0:1324145f6904 605 }
wjenkins7 0:1324145f6904 606 }