Dependencies:   N5110 mbed

Committer:
jordaahh
Date:
Thu Apr 30 15:44:24 2015 +0000
Revision:
17:f56dd50acf2d
Parent:
16:6723fa6c0f25
Child:
18:c93c501ed1c0
saves values on new lines in excel. But only reads the firs line and not the last input to the file.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jordaahh 0:a28ad0db4228 1 /* Joystick
jordaahh 10:ffac6dc620ff 2
jordaahh 0:a28ad0db4228 3 Example code of how to read a joystick
jordaahh 10:ffac6dc620ff 4
jordaahh 0:a28ad0db4228 5 https://www.sparkfun.com/products/9032
jordaahh 10:ffac6dc620ff 6
jordaahh 0:a28ad0db4228 7 Craig A. Evans
jordaahh 0:a28ad0db4228 8 7 March 2015
jordaahh 0:a28ad0db4228 9 */
jordaahh 10:ffac6dc620ff 10
jordaahh 0:a28ad0db4228 11 #include "mbed.h"
jordaahh 1:3b741adc82ea 12 #include "N5110.h"
jordaahh 13:677d398423f7 13
jordaahh 1:3b741adc82ea 14
jordaahh 0:a28ad0db4228 15 // change this to alter tolerance of joystick direction
jordaahh 5:200fa178cb3a 16 #define DIRECTION_TOLERANCE 0.1
jordaahh 10:ffac6dc620ff 17
jordaahh 0:a28ad0db4228 18 // connections for joystick
jordaahh 11:e5481bda1d6a 19 DigitalIn button(p17);
jordaahh 11:e5481bda1d6a 20 AnalogIn xPot(p15);
jordaahh 11:e5481bda1d6a 21 AnalogIn yPot(p16);
jordaahh 1:3b741adc82ea 22
jordaahh 1:3b741adc82ea 23 // LCD connections
jordaahh 1:3b741adc82ea 24 //vcc, sce, rst, dc, mosi, clk, led
jordaahh 10:ffac6dc620ff 25 N5110 lcd(p7,p8,p9,p10,p11,p13,p26);
jordaahh 1:3b741adc82ea 26
jordaahh 2:98a51d3c2e44 27 // LCD dimentions
jordaahh 2:98a51d3c2e44 28 int nx= 84; //screen is 84 pixels across
jordaahh 2:98a51d3c2e44 29 int ny= 48; // by 48 pixels downwards
jordaahh 10:ffac6dc620ff 30
jordaahh 10:ffac6dc620ff 31 int x = 0; // wall starts from the coordinates (0,0)
jordaahh 10:ffac6dc620ff 32 int y = 0;
jordaahh 10:ffac6dc620ff 33 int z = 30;
jordaahh 10:ffac6dc620ff 34 int i=24; // initial coordinates for player object
jordaahh 5:200fa178cb3a 35 int j=42;
jordaahh 2:98a51d3c2e44 36
jordaahh 14:c00b7a943fb5 37
jordaahh 1:3b741adc82ea 38
jordaahh 0:a28ad0db4228 39 // timer to regularly read the joystick
jordaahh 0:a28ad0db4228 40 Ticker pollJoystick;
jordaahh 0:a28ad0db4228 41 // Serial for debug
jordaahh 0:a28ad0db4228 42 Serial serial(USBTX,USBRX);
jordaahh 10:ffac6dc620ff 43
jordaahh 0:a28ad0db4228 44 // create enumerated type (0,1,2,3 etc. for direction)
jordaahh 0:a28ad0db4228 45 // could be extended for diagonals etc.
jordaahh 0:a28ad0db4228 46 enum DirectionName {
jordaahh 0:a28ad0db4228 47 UP,
jordaahh 0:a28ad0db4228 48 DOWN,
jordaahh 0:a28ad0db4228 49 LEFT,
jordaahh 6:c257b2060803 50 upLeft,
jordaahh 6:c257b2060803 51 downLeft,
jordaahh 0:a28ad0db4228 52 RIGHT,
jordaahh 5:200fa178cb3a 53 upRight,
jordaahh 5:200fa178cb3a 54 downRight,
jordaahh 0:a28ad0db4228 55 CENTRE,
jordaahh 0:a28ad0db4228 56 UNKNOWN
jordaahh 0:a28ad0db4228 57 };
jordaahh 10:ffac6dc620ff 58
jordaahh 0:a28ad0db4228 59 // struct for Joystick
jordaahh 0:a28ad0db4228 60 typedef struct JoyStick Joystick;
jordaahh 0:a28ad0db4228 61 struct JoyStick {
jordaahh 0:a28ad0db4228 62 float x; // current x value
jordaahh 0:a28ad0db4228 63 float x0; // 'centred' x value
jordaahh 0:a28ad0db4228 64 float y; // current y value
jordaahh 0:a28ad0db4228 65 float y0; // 'centred' y value
jordaahh 0:a28ad0db4228 66 int button; // button state (assume pull-down used, so 1 = pressed, 0 = unpressed)
jordaahh 0:a28ad0db4228 67 DirectionName direction; // current direction
jordaahh 0:a28ad0db4228 68 };
jordaahh 0:a28ad0db4228 69 // create struct variable
jordaahh 0:a28ad0db4228 70 Joystick joystick;
jordaahh 10:ffac6dc620ff 71
jordaahh 0:a28ad0db4228 72 int printFlag = 0;
jordaahh 8:db2994eef1ab 73
jordaahh 8:db2994eef1ab 74 // timer function for moving walls
jordaahh 8:db2994eef1ab 75 Ticker wallMovement;
jordaahh 11:e5481bda1d6a 76 Ticker wallMovement2;
jordaahh 11:e5481bda1d6a 77 Ticker wallMovement3;
jordaahh 8:db2994eef1ab 78
jordaahh 8:db2994eef1ab 79
jordaahh 13:677d398423f7 80 int FLAG = 0; // initial value for flags that are used for wall movements
jordaahh 13:677d398423f7 81 int FLAG2 = 0;
jordaahh 13:677d398423f7 82 int FLAG3 = 0;
jordaahh 10:ffac6dc620ff 83
jordaahh 10:ffac6dc620ff 84 // timer function for menu scroll
jordaahh 10:ffac6dc620ff 85 Ticker menuMovement;
jordaahh 9:7c687ed420de 86
jordaahh 9:7c687ed420de 87 int menuFlag = 0; //initial value for flag that is used for menu scrolling
jordaahh 9:7c687ed420de 88
jordaahh 10:ffac6dc620ff 89 int c = 0; // initial value for position of option in menu
jordaahh 9:7c687ed420de 90
jordaahh 12:5ab932192a97 91
jordaahh 12:5ab932192a97 92 LocalFileSystem local("local"); // create local filesystem
jordaahh 12:5ab932192a97 93
jordaahh 11:e5481bda1d6a 94 // functions for TimeAndDate
jordaahh 11:e5481bda1d6a 95 void serialISR(); // ISR that is called when serial data is received
jordaahh 11:e5481bda1d6a 96 void setTime(); // function to set the UNIX time
jordaahh 11:e5481bda1d6a 97 int setTimeFlag = 0; // flag for ISR
jordaahh 11:e5481bda1d6a 98 char rxString[16]; // buffer to store received string
jordaahh 11:e5481bda1d6a 99
jordaahh 13:677d398423f7 100 // Output to Power LED
jordaahh 13:677d398423f7 101 PwmOut power(p24);
jordaahh 13:677d398423f7 102
jordaahh 13:677d398423f7 103 // Output to Buzzer
jordaahh 13:677d398423f7 104 PwmOut buz(p21);
jordaahh 13:677d398423f7 105
jordaahh 13:677d398423f7 106 // initial case for brightness function
jordaahh 13:677d398423f7 107 int bright = 0;
jordaahh 13:677d398423f7 108
jordaahh 14:c00b7a943fb5 109 // initial cas for volume function
jordaahh 13:677d398423f7 110 int vol = 0;
jordaahh 13:677d398423f7 111
jordaahh 14:c00b7a943fb5 112 // initial value for u (used in songs)
jordaahh 14:c00b7a943fb5 113 int u = 0;
jordaahh 14:c00b7a943fb5 114
jordaahh 14:c00b7a943fb5 115
jordaahh 14:c00b7a943fb5 116 //frequency array for song
jordaahh 16:6723fa6c0f25 117 float frequency[]= {880,880,0,0,440,880,0,0,440,880,600,1047,0,0,0,0,880,880,0,0,440,880,0,0,440,880,600,587,0,0,0,0,0};
jordaahh 14:c00b7a943fb5 118 float frequency2[]= {600,600,400,400,200,0};
jordaahh 14:c00b7a943fb5 119
jordaahh 14:c00b7a943fb5 120
jordaahh 0:a28ad0db4228 121 // function prototypes
jordaahh 0:a28ad0db4228 122 void calibrateJoystick();
jordaahh 0:a28ad0db4228 123 void updateJoystick();
jordaahh 3:11cbc2945fd7 124 void clearCells();
jordaahh 10:ffac6dc620ff 125 void fallingWall();
jordaahh 8:db2994eef1ab 126 void flagForWall();
jordaahh 11:e5481bda1d6a 127 void flagForWall2();
jordaahh 11:e5481bda1d6a 128 void flagForWall3();
jordaahh 10:ffac6dc620ff 129 void menu();
jordaahh 10:ffac6dc620ff 130 void playGame();
jordaahh 11:e5481bda1d6a 131 void TimeAndDate();
jordaahh 12:5ab932192a97 132 void writeDataToFile(int data);
jordaahh 13:677d398423f7 133 void BandVMenu();
jordaahh 13:677d398423f7 134 void brightness();
jordaahh 13:677d398423f7 135 void volume();
jordaahh 14:c00b7a943fb5 136 void tone();
jordaahh 14:c00b7a943fb5 137 void deadTone();
jordaahh 10:ffac6dc620ff 138
jordaahh 10:ffac6dc620ff 139 int main()
jordaahh 0:a28ad0db4228 140 {
jordaahh 14:c00b7a943fb5 141 // set_time(0); // enter unix time then delete from main function to set time
jordaahh 13:677d398423f7 142 power = 1;
jordaahh 1:3b741adc82ea 143 lcd.init();
jordaahh 0:a28ad0db4228 144 calibrateJoystick(); // get centred values of joystick
jordaahh 11:e5481bda1d6a 145 pollJoystick.attach(&updateJoystick,1.0/15.0); // read joystick 10 times per second
jordaahh 11:e5481bda1d6a 146 wallMovement.attach(&flagForWall,0.2); // call function flagForWall to make flag=1, every 0.1 seconds
jordaahh 11:e5481bda1d6a 147 wallMovement2.attach(&flagForWall2,0.2); // call function flagForWall2 to make flag=1, every 0.1 seconds
jordaahh 11:e5481bda1d6a 148 wallMovement3.attach(&flagForWall3,0.2); // call function flagForWall3 to make flag=1, every 0.1 seconds
jordaahh 10:ffac6dc620ff 149 menu();
jordaahh 7:b27a91c673dc 150
jordaahh 0:a28ad0db4228 151 }
jordaahh 5:200fa178cb3a 152
jordaahh 14:c00b7a943fb5 153
jordaahh 0:a28ad0db4228 154 // read default positions of the joystick to calibrate later readings
jordaahh 0:a28ad0db4228 155 void calibrateJoystick()
jordaahh 0:a28ad0db4228 156 {
jordaahh 0:a28ad0db4228 157 button.mode(PullDown);
jordaahh 0:a28ad0db4228 158 // must not move during calibration
jordaahh 0:a28ad0db4228 159 joystick.x0 = xPot; // initial positions in the range 0.0 to 1.0 (0.5 if centred exactly)
jordaahh 0:a28ad0db4228 160 joystick.y0 = yPot;
jordaahh 0:a28ad0db4228 161 }
jordaahh 0:a28ad0db4228 162 void updateJoystick()
jordaahh 0:a28ad0db4228 163 {
jordaahh 0:a28ad0db4228 164 // read current joystick values relative to calibrated values (in range -0.5 to 0.5, 0.0 is centred)
jordaahh 0:a28ad0db4228 165 joystick.x = xPot - joystick.x0;
jordaahh 0:a28ad0db4228 166 joystick.y = yPot - joystick.y0;
jordaahh 0:a28ad0db4228 167 // read button state
jordaahh 0:a28ad0db4228 168 joystick.button = button;
jordaahh 10:ffac6dc620ff 169
jordaahh 0:a28ad0db4228 170 // calculate direction depending on x,y values
jordaahh 0:a28ad0db4228 171 // tolerance allows a little lee-way in case joystick not exactly in the stated direction
jordaahh 0:a28ad0db4228 172 if ( fabs(joystick.y) < DIRECTION_TOLERANCE && fabs(joystick.x) < DIRECTION_TOLERANCE) {
jordaahh 0:a28ad0db4228 173 joystick.direction = CENTRE;
jordaahh 0:a28ad0db4228 174 } else if ( joystick.y > DIRECTION_TOLERANCE && fabs(joystick.x) < DIRECTION_TOLERANCE) {
jordaahh 0:a28ad0db4228 175 joystick.direction = UP;
jordaahh 0:a28ad0db4228 176 } else if ( joystick.y < DIRECTION_TOLERANCE && fabs(joystick.x) < DIRECTION_TOLERANCE) {
jordaahh 0:a28ad0db4228 177 joystick.direction = DOWN;
jordaahh 0:a28ad0db4228 178 } else if ( joystick.x > DIRECTION_TOLERANCE && fabs(joystick.y) < DIRECTION_TOLERANCE) {
jordaahh 0:a28ad0db4228 179 joystick.direction = RIGHT;
jordaahh 0:a28ad0db4228 180 } else if ( joystick.x < DIRECTION_TOLERANCE && fabs(joystick.y) < DIRECTION_TOLERANCE) {
jordaahh 0:a28ad0db4228 181 joystick.direction = LEFT;
jordaahh 10:ffac6dc620ff 182 } else if ( joystick.y > DIRECTION_TOLERANCE && joystick.x > DIRECTION_TOLERANCE) {
jordaahh 6:c257b2060803 183 joystick.direction = upRight;
jordaahh 10:ffac6dc620ff 184 } else if ( joystick.y < DIRECTION_TOLERANCE && joystick.x > DIRECTION_TOLERANCE) {
jordaahh 6:c257b2060803 185 joystick.direction = downRight;
jordaahh 10:ffac6dc620ff 186 } else if ( joystick.y > DIRECTION_TOLERANCE && joystick.x < DIRECTION_TOLERANCE) {
jordaahh 6:c257b2060803 187 joystick.direction = upLeft;
jordaahh 10:ffac6dc620ff 188 } else if ( joystick.y < DIRECTION_TOLERANCE && joystick.x < DIRECTION_TOLERANCE) {
jordaahh 6:c257b2060803 189 joystick.direction = downLeft;
jordaahh 10:ffac6dc620ff 190 }
jordaahh 0:a28ad0db4228 191 // set flag for printing
jordaahh 0:a28ad0db4228 192 printFlag = 1;
jordaahh 3:11cbc2945fd7 193 }
jordaahh 3:11cbc2945fd7 194
jordaahh 5:200fa178cb3a 195
jordaahh 3:11cbc2945fd7 196 void clearCells() // turns all cells on the display off
jordaahh 3:11cbc2945fd7 197 {
jordaahh 3:11cbc2945fd7 198 // loop through cells, and clear
jordaahh 3:11cbc2945fd7 199 for (int i = 0; i < nx ; i++) {
jordaahh 3:11cbc2945fd7 200 for (int j = 0; j < ny ; j++) {
jordaahh 3:11cbc2945fd7 201 lcd.clearPixel(i,j);
jordaahh 3:11cbc2945fd7 202 }
jordaahh 3:11cbc2945fd7 203 }
jordaahh 3:11cbc2945fd7 204 lcd.refresh(); // must refresh to write buffer display
jordaahh 3:11cbc2945fd7 205 }
jordaahh 3:11cbc2945fd7 206
jordaahh 10:ffac6dc620ff 207 void flagForWall() // flag function for wmoving wall to call later
jordaahh 8:db2994eef1ab 208 {
jordaahh 8:db2994eef1ab 209 FLAG=1;
jordaahh 8:db2994eef1ab 210 }
jordaahh 8:db2994eef1ab 211
jordaahh 11:e5481bda1d6a 212 void flagForWall2() // flag function for wmoving wall to call later
jordaahh 11:e5481bda1d6a 213 {
jordaahh 11:e5481bda1d6a 214 FLAG2=1;
jordaahh 11:e5481bda1d6a 215 }
jordaahh 11:e5481bda1d6a 216
jordaahh 12:5ab932192a97 217 void flagForWall3() // flag function for moving wall to call later
jordaahh 11:e5481bda1d6a 218 {
jordaahh 11:e5481bda1d6a 219 FLAG3=1;
jordaahh 11:e5481bda1d6a 220 }
jordaahh 9:7c687ed420de 221
jordaahh 10:ffac6dc620ff 222 void menu ()
jordaahh 9:7c687ed420de 223 {
jordaahh 10:ffac6dc620ff 224 int m = 0;
jordaahh 16:6723fa6c0f25 225
jordaahh 11:e5481bda1d6a 226 char buffer[14]; // buffer used to store time string
jordaahh 11:e5481bda1d6a 227 char buffer2[14]; // buffer used to store time string
jordaahh 13:677d398423f7 228
jordaahh 10:ffac6dc620ff 229 while(1) {
jordaahh 10:ffac6dc620ff 230 clearCells();
jordaahh 11:e5481bda1d6a 231 time_t seconds = time(NULL); // get current time
jordaahh 11:e5481bda1d6a 232 // format time into a string (time and date)
jordaahh 11:e5481bda1d6a 233 strftime(buffer, 14 , "%H:%M", localtime(&seconds));
jordaahh 11:e5481bda1d6a 234 strftime(buffer2, 14, "%d/%m", localtime(&seconds));
jordaahh 11:e5481bda1d6a 235
jordaahh 11:e5481bda1d6a 236 lcd.printString(buffer,26,4); // show time on lcd screen
jordaahh 11:e5481bda1d6a 237
jordaahh 11:e5481bda1d6a 238
jordaahh 10:ffac6dc620ff 239 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 10:ffac6dc620ff 240 m++;
jordaahh 9:7c687ed420de 241 }
jordaahh 10:ffac6dc620ff 242 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 10:ffac6dc620ff 243 m--;
jordaahh 9:7c687ed420de 244 }
jordaahh 10:ffac6dc620ff 245 if(m > 2) {
jordaahh 10:ffac6dc620ff 246 m = 0;
jordaahh 10:ffac6dc620ff 247 }
jordaahh 10:ffac6dc620ff 248 if(m < 0) {
jordaahh 10:ffac6dc620ff 249 m = 2;
jordaahh 9:7c687ed420de 250 }
jordaahh 10:ffac6dc620ff 251 switch (m) {
jordaahh 10:ffac6dc620ff 252 case 0 :
jordaahh 10:ffac6dc620ff 253 lcd.printString("< Play Game >",0,2);
jordaahh 10:ffac6dc620ff 254 wait(0.3);
jordaahh 10:ffac6dc620ff 255 while(1) {
jordaahh 10:ffac6dc620ff 256 if(button == 1) {
jordaahh 10:ffac6dc620ff 257 clearCells();
jordaahh 10:ffac6dc620ff 258 playGame();
jordaahh 10:ffac6dc620ff 259 break;
jordaahh 10:ffac6dc620ff 260 } else {
jordaahh 10:ffac6dc620ff 261 break;
jordaahh 10:ffac6dc620ff 262 }
jordaahh 10:ffac6dc620ff 263 }
jordaahh 10:ffac6dc620ff 264 break;
jordaahh 10:ffac6dc620ff 265 case 1 :
jordaahh 10:ffac6dc620ff 266 lcd.printString("< Settings >",0,2);
jordaahh 10:ffac6dc620ff 267 wait(0.3);
jordaahh 10:ffac6dc620ff 268 while(1) {
jordaahh 10:ffac6dc620ff 269 if(button == 1) {
jordaahh 10:ffac6dc620ff 270 clearCells();
jordaahh 13:677d398423f7 271 BandVMenu();
jordaahh 10:ffac6dc620ff 272 break;
jordaahh 10:ffac6dc620ff 273 } else {
jordaahh 10:ffac6dc620ff 274 break;
jordaahh 10:ffac6dc620ff 275 }
jordaahh 10:ffac6dc620ff 276 }
jordaahh 10:ffac6dc620ff 277 break;
jordaahh 10:ffac6dc620ff 278 case 2 :
jordaahh 10:ffac6dc620ff 279 lcd.printString("< HighScores >",0,2);
jordaahh 10:ffac6dc620ff 280 wait(0.3);
jordaahh 10:ffac6dc620ff 281 while(1) {
jordaahh 10:ffac6dc620ff 282 if(button == 1) {
jordaahh 10:ffac6dc620ff 283 clearCells();
jordaahh 10:ffac6dc620ff 284 lcd.printString("scoring",0,2); //enter function to commence here
jordaahh 10:ffac6dc620ff 285 wait(3.0);
jordaahh 10:ffac6dc620ff 286 break;
jordaahh 10:ffac6dc620ff 287 } else {
jordaahh 10:ffac6dc620ff 288 break;
jordaahh 10:ffac6dc620ff 289 }
jordaahh 10:ffac6dc620ff 290 }
jordaahh 10:ffac6dc620ff 291 break;
jordaahh 10:ffac6dc620ff 292
jordaahh 9:7c687ed420de 293 }
jordaahh 10:ffac6dc620ff 294 }
jordaahh 9:7c687ed420de 295 }
jordaahh 9:7c687ed420de 296
jordaahh 11:e5481bda1d6a 297
jordaahh 10:ffac6dc620ff 298 void playGame()
jordaahh 9:7c687ed420de 299 {
jordaahh 10:ffac6dc620ff 300 int i=24; // initial coordinates for player object
jordaahh 10:ffac6dc620ff 301 int j=42;
jordaahh 10:ffac6dc620ff 302 int x = 0; // wall starts from the coordinates (0,0)
jordaahh 10:ffac6dc620ff 303 int y = 0;
jordaahh 10:ffac6dc620ff 304 int z = 30;
jordaahh 11:e5481bda1d6a 305 int score = 0;
jordaahh 11:e5481bda1d6a 306 int a = 0;
jordaahh 11:e5481bda1d6a 307 int b = 47;
jordaahh 11:e5481bda1d6a 308 int d = 30;
jordaahh 11:e5481bda1d6a 309 int f = 0;
jordaahh 11:e5481bda1d6a 310 int g = 0;
jordaahh 11:e5481bda1d6a 311 int h = 24;
jordaahh 11:e5481bda1d6a 312 int q = 83;
jordaahh 11:e5481bda1d6a 313 int w = 0;
jordaahh 11:e5481bda1d6a 314 int e = 24;
jordaahh 11:e5481bda1d6a 315
jordaahh 10:ffac6dc620ff 316 lcd.printString("GO!",35,2);
jordaahh 10:ffac6dc620ff 317 wait(1);
jordaahh 10:ffac6dc620ff 318 while(1) {
jordaahh 14:c00b7a943fb5 319 tone();
jordaahh 10:ffac6dc620ff 320 lcd.drawRect(i,j,2,2,0);
jordaahh 9:7c687ed420de 321 clearCells();
jordaahh 10:ffac6dc620ff 322 lcd.drawLine(x,y,z,y,1); // draws a line at the top of the screen to symbolise a wall
jordaahh 10:ffac6dc620ff 323 lcd.drawLine(z+10,y,83,y,1); // there is a gap in the wall which is 10 pixels wide and the objective of the game is to pass through it
jordaahh 10:ffac6dc620ff 324 if(FLAG==1) {
jordaahh 10:ffac6dc620ff 325 FLAG=0;
jordaahh 10:ffac6dc620ff 326 y++; // everytime the flag changes to one it is reset and the wall moves down by one pixel
jordaahh 10:ffac6dc620ff 327 }
jordaahh 10:ffac6dc620ff 328 if(y > 47) { // when the wall reaches the bottom a new wall is generated at the top and with another 10 pixel gap in a different place
jordaahh 10:ffac6dc620ff 329 y = 0;
jordaahh 10:ffac6dc620ff 330 z = rand()%74;
jordaahh 11:e5481bda1d6a 331 score++;
jordaahh 11:e5481bda1d6a 332 }
jordaahh 11:e5481bda1d6a 333 if(( score > 1)&&(score < 5)) {
jordaahh 11:e5481bda1d6a 334 lcd.drawLine(a,b,d,b,1); // draws a line at the top of the screen to symbolise a wall
jordaahh 11:e5481bda1d6a 335 lcd.drawLine(d+10,b,83,b,1); // there is a gap in the wall which is 10 pixels wide and the objective of the game is to pass through it
jordaahh 11:e5481bda1d6a 336 if(FLAG3==1) {
jordaahh 11:e5481bda1d6a 337 FLAG3=0;
jordaahh 11:e5481bda1d6a 338 b--; // everytime the flag changes to one it is reset and the wall moves down by one pixel
jordaahh 11:e5481bda1d6a 339 }
jordaahh 11:e5481bda1d6a 340 }
jordaahh 11:e5481bda1d6a 341 if(b < 0) { // when the wall reaches the bottom a new wall is generated at the top and with another 10 pixel gap in a different place
jordaahh 11:e5481bda1d6a 342 b = 47;
jordaahh 11:e5481bda1d6a 343 d = rand()%74;
jordaahh 11:e5481bda1d6a 344 }
jordaahh 11:e5481bda1d6a 345 if(( score > 5)&&(score < 9)) {
jordaahh 11:e5481bda1d6a 346 lcd.drawLine(f,g,f,h,1);
jordaahh 11:e5481bda1d6a 347 lcd.drawLine(f,h+10,f,47,1);
jordaahh 11:e5481bda1d6a 348 if(FLAG2==1) {
jordaahh 11:e5481bda1d6a 349 FLAG2=0;
jordaahh 11:e5481bda1d6a 350 f++; // everytime the flag changes to one it is reset and the wall moves down by one pixel
jordaahh 11:e5481bda1d6a 351 }
jordaahh 11:e5481bda1d6a 352 }
jordaahh 11:e5481bda1d6a 353 if( f > 83) { // when the wall reaches the bottom a new wall is generated at the top and with another 10 pixel gap in a different place
jordaahh 11:e5481bda1d6a 354 f = 0;
jordaahh 11:e5481bda1d6a 355 h = rand()%38;
jordaahh 11:e5481bda1d6a 356 }
jordaahh 11:e5481bda1d6a 357 if(( score > 10)&&(score < 15)) {
jordaahh 11:e5481bda1d6a 358 lcd.drawLine(q,w,q,e,1); // draws a line at the top of the screen to symbolise a wall
jordaahh 11:e5481bda1d6a 359 lcd.drawLine(q,e+10,q,47,1); // there is a gap in the wall which is 10 pixels wide and the objective of the game is to pass through it
jordaahh 11:e5481bda1d6a 360 if(FLAG3==1) {
jordaahh 11:e5481bda1d6a 361 FLAG3=0;
jordaahh 11:e5481bda1d6a 362 q--; // everytime the flag changes to one it is reset and the wall moves down by one pixel
jordaahh 11:e5481bda1d6a 363 }
jordaahh 11:e5481bda1d6a 364 }
jordaahh 11:e5481bda1d6a 365 if(q < 0) { // when the wall reaches the bottom a new wall is generated at the top and with another 10 pixel gap in a different place
jordaahh 11:e5481bda1d6a 366 q = 83;
jordaahh 11:e5481bda1d6a 367 e = rand()%38;
jordaahh 11:e5481bda1d6a 368 }
jordaahh 11:e5481bda1d6a 369 if( score > 15) {
jordaahh 11:e5481bda1d6a 370 lcd.drawLine(q,w,q,e,1); // draws a line at the top of the screen to symbolise a wall
jordaahh 11:e5481bda1d6a 371 lcd.drawLine(q,e+10,q,47,1); // there is a gap in the wall which is 10 pixels wide and the objective of the game is to pass through it
jordaahh 11:e5481bda1d6a 372 if(FLAG3==1) {
jordaahh 11:e5481bda1d6a 373 FLAG3=0;
jordaahh 11:e5481bda1d6a 374 q--; // everytime the flag changes to one it is reset and the wall moves down by one pixel
jordaahh 11:e5481bda1d6a 375 }
jordaahh 11:e5481bda1d6a 376 }
jordaahh 11:e5481bda1d6a 377 if( score > 20) {
jordaahh 11:e5481bda1d6a 378 lcd.drawLine(a,b,d,b,1); // draws a line at the top of the screen to symbolise a wall
jordaahh 11:e5481bda1d6a 379 lcd.drawLine(d+10,b,83,b,1); // there is a gap in the wall which is 10 pixels wide and the objective of the game is to pass through it
jordaahh 11:e5481bda1d6a 380 if(FLAG2==1) {
jordaahh 11:e5481bda1d6a 381 FLAG2=0;
jordaahh 11:e5481bda1d6a 382 b--; // everytime the flag changes to one it is reset and the wall moves down by one pixel
jordaahh 11:e5481bda1d6a 383 }
jordaahh 10:ffac6dc620ff 384 }
jordaahh 10:ffac6dc620ff 385
jordaahh 10:ffac6dc620ff 386 if( j > 45) { // rules to prevent player object going off the screen
jordaahh 10:ffac6dc620ff 387 j = 45;
jordaahh 10:ffac6dc620ff 388 }
jordaahh 10:ffac6dc620ff 389 if( i > 81) {
jordaahh 10:ffac6dc620ff 390 i = 81;
jordaahh 10:ffac6dc620ff 391 }
jordaahh 10:ffac6dc620ff 392 if( j < 0) {
jordaahh 10:ffac6dc620ff 393 j = 0;
jordaahh 10:ffac6dc620ff 394 }
jordaahh 10:ffac6dc620ff 395 if( i < 0) {
jordaahh 10:ffac6dc620ff 396 i = 0;
jordaahh 10:ffac6dc620ff 397 }
jordaahh 10:ffac6dc620ff 398
jordaahh 10:ffac6dc620ff 399 if (printFlag) { // if flag set, clear flag and implicate joystick functions
jordaahh 10:ffac6dc620ff 400 printFlag = 0;
jordaahh 10:ffac6dc620ff 401
jordaahh 10:ffac6dc620ff 402
jordaahh 10:ffac6dc620ff 403 // check joystick direction
jordaahh 10:ffac6dc620ff 404 if (joystick.direction == UP) {
jordaahh 10:ffac6dc620ff 405 j--;
jordaahh 10:ffac6dc620ff 406 }
jordaahh 10:ffac6dc620ff 407 if (joystick.direction == DOWN) {
jordaahh 10:ffac6dc620ff 408 j++;
jordaahh 10:ffac6dc620ff 409 }
jordaahh 10:ffac6dc620ff 410 if (joystick.direction == LEFT) {
jordaahh 11:e5481bda1d6a 411 i++;
jordaahh 10:ffac6dc620ff 412 }
jordaahh 10:ffac6dc620ff 413 if (joystick.direction == RIGHT) {
jordaahh 11:e5481bda1d6a 414 i--;
jordaahh 10:ffac6dc620ff 415 }
jordaahh 10:ffac6dc620ff 416 if (joystick.direction == upRight) {
jordaahh 10:ffac6dc620ff 417 j--;
jordaahh 11:e5481bda1d6a 418 i--;
jordaahh 11:e5481bda1d6a 419 }
jordaahh 11:e5481bda1d6a 420 if (joystick.direction == downRight) {
jordaahh 11:e5481bda1d6a 421 j++;
jordaahh 11:e5481bda1d6a 422 i--;
jordaahh 11:e5481bda1d6a 423 }
jordaahh 11:e5481bda1d6a 424 if (joystick.direction == upLeft) {
jordaahh 11:e5481bda1d6a 425 j--;
jordaahh 10:ffac6dc620ff 426 i++;
jordaahh 10:ffac6dc620ff 427 }
jordaahh 11:e5481bda1d6a 428 if (joystick.direction == downLeft) {
jordaahh 10:ffac6dc620ff 429 j++;
jordaahh 10:ffac6dc620ff 430 i++;
jordaahh 10:ffac6dc620ff 431 }
jordaahh 10:ffac6dc620ff 432 if (joystick.direction == CENTRE) {
jordaahh 10:ffac6dc620ff 433 i=i;
jordaahh 10:ffac6dc620ff 434 j=j;
jordaahh 10:ffac6dc620ff 435 }
jordaahh 10:ffac6dc620ff 436 if (lcd.getPixel(i,j-1)) {
jordaahh 12:5ab932192a97 437 writeDataToFile(score); // write current value to disk
jordaahh 10:ffac6dc620ff 438 clearCells();
jordaahh 10:ffac6dc620ff 439 int m = 1;
jordaahh 10:ffac6dc620ff 440 lcd.printString("game over",1,2);
jordaahh 14:c00b7a943fb5 441 deadTone();
jordaahh 9:7c687ed420de 442 clearCells();
jordaahh 10:ffac6dc620ff 443 lcd.printString("Play again?",0,0);
jordaahh 10:ffac6dc620ff 444 lcd.printString("Yes No",0,3);
jordaahh 10:ffac6dc620ff 445
jordaahh 10:ffac6dc620ff 446 while(1) {
jordaahh 10:ffac6dc620ff 447 clearCells();
jordaahh 10:ffac6dc620ff 448 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 449 m--;
jordaahh 10:ffac6dc620ff 450 }
jordaahh 10:ffac6dc620ff 451 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 452 m++;
jordaahh 10:ffac6dc620ff 453 }
jordaahh 10:ffac6dc620ff 454 if(m > 2) {
jordaahh 10:ffac6dc620ff 455 m = 2;
jordaahh 10:ffac6dc620ff 456 }
jordaahh 10:ffac6dc620ff 457 if(m < 0) {
jordaahh 10:ffac6dc620ff 458 m = 0;
jordaahh 10:ffac6dc620ff 459 }
jordaahh 10:ffac6dc620ff 460 switch (m) {
jordaahh 10:ffac6dc620ff 461 case 0 :
jordaahh 10:ffac6dc620ff 462 lcd.printString("YES",0,3);
jordaahh 15:cf59cdffe546 463
jordaahh 10:ffac6dc620ff 464 while(1) {
jordaahh 10:ffac6dc620ff 465 if(button == 1) {
jordaahh 10:ffac6dc620ff 466 clearCells();
jordaahh 10:ffac6dc620ff 467 playGame();
jordaahh 10:ffac6dc620ff 468 break;
jordaahh 10:ffac6dc620ff 469 } else {
jordaahh 10:ffac6dc620ff 470 break;
jordaahh 10:ffac6dc620ff 471 }
jordaahh 10:ffac6dc620ff 472 }
jordaahh 10:ffac6dc620ff 473 break;
jordaahh 10:ffac6dc620ff 474 case 1 :
jordaahh 10:ffac6dc620ff 475 lcd.printString("Play again?",0,0);
jordaahh 10:ffac6dc620ff 476 lcd.printString("Yes No",0,3);
jordaahh 15:cf59cdffe546 477
jordaahh 10:ffac6dc620ff 478 break;
jordaahh 10:ffac6dc620ff 479 case 2 :
jordaahh 10:ffac6dc620ff 480 lcd.printString("NO",70,3);
jordaahh 15:cf59cdffe546 481
jordaahh 10:ffac6dc620ff 482 while(1) {
jordaahh 10:ffac6dc620ff 483 if(button == 1) {
jordaahh 10:ffac6dc620ff 484 clearCells();
jordaahh 10:ffac6dc620ff 485 lcd.printString("Leaving Game",0,2); //enter function to commence here
jordaahh 14:c00b7a943fb5 486 wait(1.0);
jordaahh 10:ffac6dc620ff 487 menu();
jordaahh 10:ffac6dc620ff 488 break;
jordaahh 10:ffac6dc620ff 489 } else {
jordaahh 10:ffac6dc620ff 490 break;
jordaahh 10:ffac6dc620ff 491 }
jordaahh 10:ffac6dc620ff 492 }
jordaahh 10:ffac6dc620ff 493 break;
jordaahh 10:ffac6dc620ff 494
jordaahh 10:ffac6dc620ff 495 }
jordaahh 9:7c687ed420de 496 }
jordaahh 10:ffac6dc620ff 497 }
jordaahh 10:ffac6dc620ff 498 if (lcd.getPixel(i+1,j-1)) {
jordaahh 12:5ab932192a97 499 writeDataToFile(score); // write current value to disk
jordaahh 10:ffac6dc620ff 500 clearCells();
jordaahh 10:ffac6dc620ff 501 int m = 1;
jordaahh 10:ffac6dc620ff 502 lcd.printString("game over",1,2);
jordaahh 14:c00b7a943fb5 503 deadTone();
jordaahh 9:7c687ed420de 504 clearCells();
jordaahh 10:ffac6dc620ff 505 lcd.printString("Play again?",0,0);
jordaahh 10:ffac6dc620ff 506 lcd.printString("Yes No",0,3);
jordaahh 10:ffac6dc620ff 507
jordaahh 10:ffac6dc620ff 508 while(1) {
jordaahh 10:ffac6dc620ff 509 clearCells();
jordaahh 10:ffac6dc620ff 510 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 511 m--;
jordaahh 10:ffac6dc620ff 512 }
jordaahh 10:ffac6dc620ff 513 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 514 m++;
jordaahh 10:ffac6dc620ff 515 }
jordaahh 10:ffac6dc620ff 516 if(m > 2) {
jordaahh 10:ffac6dc620ff 517 m = 2;
jordaahh 10:ffac6dc620ff 518 }
jordaahh 10:ffac6dc620ff 519 if(m < 0) {
jordaahh 10:ffac6dc620ff 520 m = 0;
jordaahh 10:ffac6dc620ff 521 }
jordaahh 10:ffac6dc620ff 522 switch (m) {
jordaahh 10:ffac6dc620ff 523 case 0 :
jordaahh 10:ffac6dc620ff 524 lcd.printString("YES",0,3);
jordaahh 15:cf59cdffe546 525
jordaahh 10:ffac6dc620ff 526 while(1) {
jordaahh 10:ffac6dc620ff 527 if(button == 1) {
jordaahh 10:ffac6dc620ff 528 clearCells();
jordaahh 10:ffac6dc620ff 529 playGame();
jordaahh 10:ffac6dc620ff 530 break;
jordaahh 10:ffac6dc620ff 531 } else {
jordaahh 10:ffac6dc620ff 532 break;
jordaahh 10:ffac6dc620ff 533 }
jordaahh 10:ffac6dc620ff 534 }
jordaahh 10:ffac6dc620ff 535 break;
jordaahh 10:ffac6dc620ff 536 case 1 :
jordaahh 10:ffac6dc620ff 537 lcd.printString("Play again?",0,0);
jordaahh 10:ffac6dc620ff 538 lcd.printString("Yes No",0,3);
jordaahh 15:cf59cdffe546 539
jordaahh 10:ffac6dc620ff 540 break;
jordaahh 10:ffac6dc620ff 541 case 2 :
jordaahh 10:ffac6dc620ff 542 lcd.printString("NO",70,3);
jordaahh 15:cf59cdffe546 543
jordaahh 10:ffac6dc620ff 544 while(1) {
jordaahh 10:ffac6dc620ff 545 if(button == 1) {
jordaahh 10:ffac6dc620ff 546 clearCells();
jordaahh 10:ffac6dc620ff 547 lcd.printString("Leaving Game",0,2); //enter function to commence here
jordaahh 14:c00b7a943fb5 548 wait(1.0);
jordaahh 10:ffac6dc620ff 549 menu();
jordaahh 10:ffac6dc620ff 550 break;
jordaahh 10:ffac6dc620ff 551 } else {
jordaahh 10:ffac6dc620ff 552 break;
jordaahh 10:ffac6dc620ff 553 }
jordaahh 10:ffac6dc620ff 554 }
jordaahh 10:ffac6dc620ff 555 break;
jordaahh 10:ffac6dc620ff 556 }
jordaahh 9:7c687ed420de 557 }
jordaahh 10:ffac6dc620ff 558 }
jordaahh 10:ffac6dc620ff 559 if (lcd.getPixel(i+2,j-1)) {
jordaahh 12:5ab932192a97 560 writeDataToFile(score); // write current value to disk
jordaahh 10:ffac6dc620ff 561 clearCells();
jordaahh 10:ffac6dc620ff 562 int m = 1;
jordaahh 10:ffac6dc620ff 563 lcd.printString("game over",1,2);
jordaahh 14:c00b7a943fb5 564 deadTone();
jordaahh 10:ffac6dc620ff 565 clearCells();
jordaahh 10:ffac6dc620ff 566 lcd.printString("Play again?",0,0);
jordaahh 10:ffac6dc620ff 567 lcd.printString("Yes No",0,3);
jordaahh 10:ffac6dc620ff 568
jordaahh 10:ffac6dc620ff 569 while(1) {
jordaahh 10:ffac6dc620ff 570 clearCells();
jordaahh 10:ffac6dc620ff 571 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 572 m--;
jordaahh 10:ffac6dc620ff 573 }
jordaahh 10:ffac6dc620ff 574 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 575 m++;
jordaahh 10:ffac6dc620ff 576 }
jordaahh 10:ffac6dc620ff 577 if(m > 2) {
jordaahh 10:ffac6dc620ff 578 m = 2;
jordaahh 10:ffac6dc620ff 579 }
jordaahh 10:ffac6dc620ff 580 if(m < 0) {
jordaahh 10:ffac6dc620ff 581 m = 0;
jordaahh 10:ffac6dc620ff 582 }
jordaahh 10:ffac6dc620ff 583 switch (m) {
jordaahh 10:ffac6dc620ff 584 case 0 :
jordaahh 10:ffac6dc620ff 585 lcd.printString("YES",0,3);
jordaahh 10:ffac6dc620ff 586 while(1) {
jordaahh 10:ffac6dc620ff 587 if(button == 1) {
jordaahh 10:ffac6dc620ff 588 clearCells();
jordaahh 10:ffac6dc620ff 589 playGame();
jordaahh 10:ffac6dc620ff 590 break;
jordaahh 10:ffac6dc620ff 591 } else {
jordaahh 10:ffac6dc620ff 592 break;
jordaahh 10:ffac6dc620ff 593 }
jordaahh 10:ffac6dc620ff 594 }
jordaahh 10:ffac6dc620ff 595 break;
jordaahh 10:ffac6dc620ff 596 case 1 :
jordaahh 10:ffac6dc620ff 597 lcd.printString("Play again?",0,0);
jordaahh 10:ffac6dc620ff 598 lcd.printString("Yes No",0,3);
jordaahh 10:ffac6dc620ff 599 break;
jordaahh 10:ffac6dc620ff 600 case 2 :
jordaahh 10:ffac6dc620ff 601 lcd.printString("NO",70,3);
jordaahh 10:ffac6dc620ff 602 while(1) {
jordaahh 10:ffac6dc620ff 603 if(button == 1) {
jordaahh 10:ffac6dc620ff 604 clearCells();
jordaahh 10:ffac6dc620ff 605 lcd.printString("Leaving Game",0,2); //enter function to commence here
jordaahh 14:c00b7a943fb5 606 wait(1.0);
jordaahh 10:ffac6dc620ff 607 menu();
jordaahh 10:ffac6dc620ff 608 break;
jordaahh 10:ffac6dc620ff 609 } else {
jordaahh 10:ffac6dc620ff 610 break;
jordaahh 10:ffac6dc620ff 611 }
jordaahh 10:ffac6dc620ff 612 }
jordaahh 10:ffac6dc620ff 613 break;
jordaahh 10:ffac6dc620ff 614
jordaahh 10:ffac6dc620ff 615 }
jordaahh 9:7c687ed420de 616 }
jordaahh 9:7c687ed420de 617 }
jordaahh 11:e5481bda1d6a 618 if (lcd.getPixel(i,j)) {
jordaahh 12:5ab932192a97 619 writeDataToFile(score); // write current value to disk
jordaahh 11:e5481bda1d6a 620 clearCells();
jordaahh 11:e5481bda1d6a 621 int m = 1;
jordaahh 11:e5481bda1d6a 622 lcd.printString("game over",1,2);
jordaahh 14:c00b7a943fb5 623 deadTone();
jordaahh 11:e5481bda1d6a 624 clearCells();
jordaahh 11:e5481bda1d6a 625 lcd.printString("Play again?",0,0);
jordaahh 11:e5481bda1d6a 626 lcd.printString("Yes No",0,3);
jordaahh 13:677d398423f7 627
jordaahh 9:7c687ed420de 628
jordaahh 11:e5481bda1d6a 629 while(1) {
jordaahh 11:e5481bda1d6a 630 clearCells();
jordaahh 11:e5481bda1d6a 631 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 632 m--;
jordaahh 11:e5481bda1d6a 633 }
jordaahh 11:e5481bda1d6a 634 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 635 m++;
jordaahh 11:e5481bda1d6a 636 }
jordaahh 11:e5481bda1d6a 637 if(m > 2) {
jordaahh 11:e5481bda1d6a 638 m = 2;
jordaahh 11:e5481bda1d6a 639 }
jordaahh 11:e5481bda1d6a 640 if(m < 0) {
jordaahh 11:e5481bda1d6a 641 m = 0;
jordaahh 11:e5481bda1d6a 642 }
jordaahh 11:e5481bda1d6a 643 switch (m) {
jordaahh 11:e5481bda1d6a 644 case 0 :
jordaahh 11:e5481bda1d6a 645 lcd.printString("YES",0,3);
jordaahh 15:cf59cdffe546 646
jordaahh 11:e5481bda1d6a 647 while(1) {
jordaahh 11:e5481bda1d6a 648 if(button == 1) {
jordaahh 11:e5481bda1d6a 649 clearCells();
jordaahh 11:e5481bda1d6a 650 playGame();
jordaahh 11:e5481bda1d6a 651 break;
jordaahh 11:e5481bda1d6a 652 } else {
jordaahh 11:e5481bda1d6a 653 break;
jordaahh 11:e5481bda1d6a 654 }
jordaahh 11:e5481bda1d6a 655 }
jordaahh 11:e5481bda1d6a 656 break;
jordaahh 11:e5481bda1d6a 657 case 1 :
jordaahh 11:e5481bda1d6a 658 lcd.printString("Play again?",0,0);
jordaahh 11:e5481bda1d6a 659 lcd.printString("Yes No",0,3);
jordaahh 15:cf59cdffe546 660
jordaahh 11:e5481bda1d6a 661 break;
jordaahh 11:e5481bda1d6a 662 case 2 :
jordaahh 11:e5481bda1d6a 663 lcd.printString("NO",70,3);
jordaahh 15:cf59cdffe546 664
jordaahh 11:e5481bda1d6a 665 while(1) {
jordaahh 11:e5481bda1d6a 666 if(button == 1) {
jordaahh 11:e5481bda1d6a 667 clearCells();
jordaahh 11:e5481bda1d6a 668 lcd.printString("Leaving Game",0,2); //enter function to commence here
jordaahh 14:c00b7a943fb5 669 wait(1.0);
jordaahh 11:e5481bda1d6a 670 menu();
jordaahh 11:e5481bda1d6a 671 break;
jordaahh 11:e5481bda1d6a 672 } else {
jordaahh 11:e5481bda1d6a 673 break;
jordaahh 11:e5481bda1d6a 674 }
jordaahh 11:e5481bda1d6a 675 }
jordaahh 11:e5481bda1d6a 676 break;
jordaahh 11:e5481bda1d6a 677 }
jordaahh 11:e5481bda1d6a 678 }
jordaahh 11:e5481bda1d6a 679 }
jordaahh 11:e5481bda1d6a 680 if (lcd.getPixel(i+1,j)) {
jordaahh 12:5ab932192a97 681 writeDataToFile(score); // write current value to disk
jordaahh 11:e5481bda1d6a 682 clearCells();
jordaahh 11:e5481bda1d6a 683 int m = 1;
jordaahh 11:e5481bda1d6a 684 lcd.printString("game over",1,2);
jordaahh 14:c00b7a943fb5 685 deadTone();
jordaahh 11:e5481bda1d6a 686 clearCells();
jordaahh 11:e5481bda1d6a 687 lcd.printString("Play again?",0,0);
jordaahh 11:e5481bda1d6a 688 lcd.printString("Yes No",0,3);
jordaahh 11:e5481bda1d6a 689
jordaahh 11:e5481bda1d6a 690 while(1) {
jordaahh 11:e5481bda1d6a 691 clearCells();
jordaahh 11:e5481bda1d6a 692 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 693 m--;
jordaahh 11:e5481bda1d6a 694 }
jordaahh 11:e5481bda1d6a 695 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 696 m++;
jordaahh 11:e5481bda1d6a 697 }
jordaahh 11:e5481bda1d6a 698 if(m > 2) {
jordaahh 11:e5481bda1d6a 699 m = 2;
jordaahh 11:e5481bda1d6a 700 }
jordaahh 11:e5481bda1d6a 701 if(m < 0) {
jordaahh 11:e5481bda1d6a 702 m = 0;
jordaahh 11:e5481bda1d6a 703 }
jordaahh 11:e5481bda1d6a 704 switch (m) {
jordaahh 11:e5481bda1d6a 705 case 0 :
jordaahh 11:e5481bda1d6a 706 lcd.printString("YES",0,3);
jordaahh 15:cf59cdffe546 707
jordaahh 11:e5481bda1d6a 708 while(1) {
jordaahh 11:e5481bda1d6a 709 if(button == 1) {
jordaahh 11:e5481bda1d6a 710 clearCells();
jordaahh 11:e5481bda1d6a 711 playGame();
jordaahh 11:e5481bda1d6a 712 break;
jordaahh 11:e5481bda1d6a 713 } else {
jordaahh 11:e5481bda1d6a 714 break;
jordaahh 11:e5481bda1d6a 715 }
jordaahh 11:e5481bda1d6a 716 }
jordaahh 11:e5481bda1d6a 717 break;
jordaahh 11:e5481bda1d6a 718 case 1 :
jordaahh 11:e5481bda1d6a 719 lcd.printString("Play again?",0,0);
jordaahh 11:e5481bda1d6a 720 lcd.printString("Yes No",0,3);
jordaahh 15:cf59cdffe546 721
jordaahh 11:e5481bda1d6a 722 break;
jordaahh 11:e5481bda1d6a 723 case 2 :
jordaahh 11:e5481bda1d6a 724 lcd.printString("NO",70,3);
jordaahh 15:cf59cdffe546 725
jordaahh 11:e5481bda1d6a 726 while(1) {
jordaahh 11:e5481bda1d6a 727 if(button == 1) {
jordaahh 11:e5481bda1d6a 728 clearCells();
jordaahh 11:e5481bda1d6a 729 lcd.printString("Leaving Game",0,2); //enter function to commence here
jordaahh 14:c00b7a943fb5 730 wait(1.0);
jordaahh 11:e5481bda1d6a 731 menu();
jordaahh 11:e5481bda1d6a 732 break;
jordaahh 11:e5481bda1d6a 733 } else {
jordaahh 11:e5481bda1d6a 734 break;
jordaahh 11:e5481bda1d6a 735 }
jordaahh 11:e5481bda1d6a 736 }
jordaahh 11:e5481bda1d6a 737 break;
jordaahh 11:e5481bda1d6a 738 }
jordaahh 11:e5481bda1d6a 739 }
jordaahh 11:e5481bda1d6a 740 }
jordaahh 11:e5481bda1d6a 741 if (lcd.getPixel(i+2,j)) {
jordaahh 12:5ab932192a97 742 writeDataToFile(score); // write current value to disk
jordaahh 11:e5481bda1d6a 743 clearCells();
jordaahh 11:e5481bda1d6a 744 int m = 1;
jordaahh 11:e5481bda1d6a 745 lcd.printString("game over",1,2);
jordaahh 14:c00b7a943fb5 746 deadTone();
jordaahh 11:e5481bda1d6a 747 clearCells();
jordaahh 11:e5481bda1d6a 748 lcd.printString("Play again?",0,0);
jordaahh 11:e5481bda1d6a 749 lcd.printString("Yes No",0,3);
jordaahh 11:e5481bda1d6a 750
jordaahh 11:e5481bda1d6a 751 while(1) {
jordaahh 11:e5481bda1d6a 752 clearCells();
jordaahh 11:e5481bda1d6a 753 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 754 m--;
jordaahh 11:e5481bda1d6a 755 }
jordaahh 11:e5481bda1d6a 756 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 757 m++;
jordaahh 11:e5481bda1d6a 758 }
jordaahh 11:e5481bda1d6a 759 if(m > 2) {
jordaahh 11:e5481bda1d6a 760 m = 2;
jordaahh 11:e5481bda1d6a 761 }
jordaahh 11:e5481bda1d6a 762 if(m < 0) {
jordaahh 11:e5481bda1d6a 763 m = 0;
jordaahh 11:e5481bda1d6a 764 }
jordaahh 11:e5481bda1d6a 765 switch (m) {
jordaahh 11:e5481bda1d6a 766 case 0 :
jordaahh 11:e5481bda1d6a 767 lcd.printString("YES",0,3);
jordaahh 15:cf59cdffe546 768
jordaahh 11:e5481bda1d6a 769 while(1) {
jordaahh 11:e5481bda1d6a 770 if(button == 1) {
jordaahh 11:e5481bda1d6a 771 clearCells();
jordaahh 11:e5481bda1d6a 772 playGame();
jordaahh 11:e5481bda1d6a 773 break;
jordaahh 11:e5481bda1d6a 774 } else {
jordaahh 11:e5481bda1d6a 775 break;
jordaahh 11:e5481bda1d6a 776 }
jordaahh 11:e5481bda1d6a 777 }
jordaahh 11:e5481bda1d6a 778 break;
jordaahh 11:e5481bda1d6a 779 case 1 :
jordaahh 11:e5481bda1d6a 780 lcd.printString("Play again?",0,0);
jordaahh 11:e5481bda1d6a 781 lcd.printString("Yes No",0,3);
jordaahh 15:cf59cdffe546 782
jordaahh 11:e5481bda1d6a 783 break;
jordaahh 11:e5481bda1d6a 784 case 2 :
jordaahh 11:e5481bda1d6a 785 lcd.printString("NO",70,3);
jordaahh 15:cf59cdffe546 786
jordaahh 11:e5481bda1d6a 787 while(1) {
jordaahh 11:e5481bda1d6a 788 if(button == 1) {
jordaahh 11:e5481bda1d6a 789 clearCells();
jordaahh 11:e5481bda1d6a 790 lcd.printString("Leaving Game",0,2); //enter function to commence here
jordaahh 14:c00b7a943fb5 791 wait(1.0);
jordaahh 11:e5481bda1d6a 792 menu();
jordaahh 11:e5481bda1d6a 793 break;
jordaahh 11:e5481bda1d6a 794 } else {
jordaahh 11:e5481bda1d6a 795 break;
jordaahh 11:e5481bda1d6a 796 }
jordaahh 11:e5481bda1d6a 797 }
jordaahh 11:e5481bda1d6a 798 break;
jordaahh 11:e5481bda1d6a 799 }
jordaahh 11:e5481bda1d6a 800 }
jordaahh 11:e5481bda1d6a 801 }
jordaahh 10:ffac6dc620ff 802 }
jordaahh 10:ffac6dc620ff 803 }
jordaahh 9:7c687ed420de 804 }
jordaahh 10:ffac6dc620ff 805
jordaahh 13:677d398423f7 806 // Brightness and volume menu function
jordaahh 11:e5481bda1d6a 807
jordaahh 13:677d398423f7 808 void BandVMenu()
jordaahh 11:e5481bda1d6a 809 {
jordaahh 11:e5481bda1d6a 810 int t = 0;
jordaahh 11:e5481bda1d6a 811 while(1) {
jordaahh 13:677d398423f7 812 wait(0.2);
jordaahh 11:e5481bda1d6a 813 clearCells();
jordaahh 11:e5481bda1d6a 814 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 11:e5481bda1d6a 815 t++;
jordaahh 11:e5481bda1d6a 816 }
jordaahh 11:e5481bda1d6a 817 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 11:e5481bda1d6a 818 t--;
jordaahh 11:e5481bda1d6a 819 }
jordaahh 11:e5481bda1d6a 820 if(t > 1) {
jordaahh 11:e5481bda1d6a 821 t = 0;
jordaahh 11:e5481bda1d6a 822 }
jordaahh 11:e5481bda1d6a 823 if(t < 0) {
jordaahh 11:e5481bda1d6a 824 t = 1;
jordaahh 11:e5481bda1d6a 825 }
jordaahh 13:677d398423f7 826 if(joystick.direction == DOWN) {
jordaahh 13:677d398423f7 827 clearCells();
jordaahh 13:677d398423f7 828 lcd.printString("Returning",18,2);
jordaahh 13:677d398423f7 829 lcd.printString("to Menu",24,3);
jordaahh 13:677d398423f7 830 wait(0.5);
jordaahh 13:677d398423f7 831 menu();
jordaahh 13:677d398423f7 832 }
jordaahh 11:e5481bda1d6a 833 switch (t) {
jordaahh 11:e5481bda1d6a 834 case 0 :
jordaahh 13:677d398423f7 835 lcd.printString("< Brightness >",0,2);
jordaahh 13:677d398423f7 836 while(1) {
jordaahh 13:677d398423f7 837 if(button == 1) {
jordaahh 13:677d398423f7 838 brightness();
jordaahh 13:677d398423f7 839 break;
jordaahh 13:677d398423f7 840 } else {
jordaahh 13:677d398423f7 841 break;
jordaahh 13:677d398423f7 842 }
jordaahh 13:677d398423f7 843 }
jordaahh 13:677d398423f7 844 break;
jordaahh 13:677d398423f7 845 case 1 :
jordaahh 13:677d398423f7 846 lcd.printString("< Volume >",0,2);
jordaahh 13:677d398423f7 847 while(1) {
jordaahh 13:677d398423f7 848 if(button == 1) {
jordaahh 13:677d398423f7 849 volume();
jordaahh 13:677d398423f7 850 break;
jordaahh 13:677d398423f7 851 } else {
jordaahh 13:677d398423f7 852 break;
jordaahh 13:677d398423f7 853 }
jordaahh 13:677d398423f7 854 }
jordaahh 13:677d398423f7 855 break;
jordaahh 13:677d398423f7 856 }
jordaahh 14:c00b7a943fb5 857 }
jordaahh 13:677d398423f7 858 }
jordaahh 13:677d398423f7 859
jordaahh 13:677d398423f7 860
jordaahh 13:677d398423f7 861 void brightness()
jordaahh 13:677d398423f7 862 {
jordaahh 13:677d398423f7 863 while(1) {
jordaahh 13:677d398423f7 864 wait(0.2);
jordaahh 13:677d398423f7 865 clearCells();
jordaahh 13:677d398423f7 866 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 13:677d398423f7 867 bright--;
jordaahh 13:677d398423f7 868 }
jordaahh 13:677d398423f7 869 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 13:677d398423f7 870 bright++;
jordaahh 13:677d398423f7 871 }
jordaahh 13:677d398423f7 872 if(bright > 3) {
jordaahh 13:677d398423f7 873 bright = 3;
jordaahh 14:c00b7a943fb5 874 }
jordaahh 13:677d398423f7 875 if(bright < -3) {
jordaahh 13:677d398423f7 876 bright = -3;
jordaahh 14:c00b7a943fb5 877 }
jordaahh 13:677d398423f7 878 switch (bright) {
jordaahh 13:677d398423f7 879 case 0 :
jordaahh 13:677d398423f7 880 lcd.printString(" Brightness ",0,2);
jordaahh 13:677d398423f7 881 lcd.printString(" ||||||",0,4);
jordaahh 14:c00b7a943fb5 882 lcd.setBrightness(0.6);
jordaahh 11:e5481bda1d6a 883 while(1) {
jordaahh 11:e5481bda1d6a 884 if(button == 1) {
jordaahh 13:677d398423f7 885 BandVMenu();
jordaahh 13:677d398423f7 886 break;
jordaahh 13:677d398423f7 887 } else {
jordaahh 13:677d398423f7 888 break;
jordaahh 13:677d398423f7 889 }
jordaahh 13:677d398423f7 890 }
jordaahh 13:677d398423f7 891 break;
jordaahh 13:677d398423f7 892 case 1 :
jordaahh 13:677d398423f7 893 lcd.printString(" Brightness ",0,2);
jordaahh 13:677d398423f7 894 lcd.printString(" ||||||||",0,4);
jordaahh 14:c00b7a943fb5 895 lcd.setBrightness(0.8);
jordaahh 13:677d398423f7 896 while(1) {
jordaahh 13:677d398423f7 897 if(button == 1) {
jordaahh 13:677d398423f7 898 BandVMenu();
jordaahh 13:677d398423f7 899 break;
jordaahh 13:677d398423f7 900 } else {
jordaahh 13:677d398423f7 901 break;
jordaahh 13:677d398423f7 902 }
jordaahh 13:677d398423f7 903 }
jordaahh 13:677d398423f7 904 break;
jordaahh 13:677d398423f7 905 case 2 :
jordaahh 13:677d398423f7 906 lcd.printString(" Brightness ",0,2);
jordaahh 13:677d398423f7 907 lcd.printString(" ||||||||||",0,4);
jordaahh 14:c00b7a943fb5 908 lcd.setBrightness(0.9);
jordaahh 13:677d398423f7 909 while(1) {
jordaahh 13:677d398423f7 910 if(button == 1) {
jordaahh 13:677d398423f7 911 BandVMenu();
jordaahh 13:677d398423f7 912 break;
jordaahh 13:677d398423f7 913 } else {
jordaahh 13:677d398423f7 914 break;
jordaahh 13:677d398423f7 915 }
jordaahh 13:677d398423f7 916 }
jordaahh 13:677d398423f7 917 break;
jordaahh 13:677d398423f7 918 case 3 :
jordaahh 13:677d398423f7 919 lcd.printString(" Brightness ",0,2);
jordaahh 13:677d398423f7 920 lcd.printString(" ||||||||||||",0,4);
jordaahh 14:c00b7a943fb5 921 lcd.setBrightness(1);
jordaahh 13:677d398423f7 922 while(1) {
jordaahh 13:677d398423f7 923 if(button == 1) {
jordaahh 13:677d398423f7 924 BandVMenu();
jordaahh 13:677d398423f7 925 break;
jordaahh 13:677d398423f7 926 } else {
jordaahh 13:677d398423f7 927 break;
jordaahh 13:677d398423f7 928 }
jordaahh 13:677d398423f7 929 }
jordaahh 13:677d398423f7 930 break;
jordaahh 13:677d398423f7 931 case -1 :
jordaahh 13:677d398423f7 932 lcd.printString(" Brightness ",0,2);
jordaahh 13:677d398423f7 933 lcd.printString(" ||||",0,4);
jordaahh 14:c00b7a943fb5 934 lcd.setBrightness(0.4);
jordaahh 13:677d398423f7 935 while(1) {
jordaahh 13:677d398423f7 936 if(button == 1) {
jordaahh 13:677d398423f7 937 BandVMenu();
jordaahh 13:677d398423f7 938 break;
jordaahh 13:677d398423f7 939 } else {
jordaahh 13:677d398423f7 940 break;
jordaahh 13:677d398423f7 941 }
jordaahh 13:677d398423f7 942 }
jordaahh 13:677d398423f7 943 break;
jordaahh 13:677d398423f7 944 case -2 :
jordaahh 13:677d398423f7 945 lcd.printString(" Brightness ",0,2);
jordaahh 13:677d398423f7 946 lcd.printString(" ||",0,4);
jordaahh 14:c00b7a943fb5 947 lcd.setBrightness(0.2);
jordaahh 13:677d398423f7 948 while(1) {
jordaahh 13:677d398423f7 949 if(button == 1) {
jordaahh 13:677d398423f7 950 BandVMenu();
jordaahh 11:e5481bda1d6a 951 break;
jordaahh 11:e5481bda1d6a 952 } else {
jordaahh 11:e5481bda1d6a 953 break;
jordaahh 11:e5481bda1d6a 954 }
jordaahh 11:e5481bda1d6a 955 }
jordaahh 11:e5481bda1d6a 956 break;
jordaahh 13:677d398423f7 957 case -3 :
jordaahh 13:677d398423f7 958 lcd.printString(" Brightness ",0,2);
jordaahh 14:c00b7a943fb5 959 lcd.setBrightness(0);
jordaahh 13:677d398423f7 960 while(1) {
jordaahh 13:677d398423f7 961 if(button == 1) {
jordaahh 13:677d398423f7 962 BandVMenu();
jordaahh 13:677d398423f7 963 break;
jordaahh 13:677d398423f7 964 } else {
jordaahh 13:677d398423f7 965 break;
jordaahh 13:677d398423f7 966 }
jordaahh 13:677d398423f7 967 }
jordaahh 13:677d398423f7 968 break;
jordaahh 14:c00b7a943fb5 969 }
jordaahh 14:c00b7a943fb5 970 }
jordaahh 13:677d398423f7 971 }
jordaahh 12:5ab932192a97 972
jordaahh 13:677d398423f7 973 void volume()
jordaahh 11:e5481bda1d6a 974 {
jordaahh 13:677d398423f7 975 while(1) {
jordaahh 13:677d398423f7 976 wait(0.2);
jordaahh 13:677d398423f7 977 clearCells();
jordaahh 13:677d398423f7 978 if ((joystick.direction == RIGHT)||(joystick.direction == upRight)||(joystick.direction == downRight)) {
jordaahh 13:677d398423f7 979 vol--;
jordaahh 13:677d398423f7 980 }
jordaahh 13:677d398423f7 981 if ((joystick.direction == LEFT)||(joystick.direction == upLeft)||(joystick.direction == downLeft)) {
jordaahh 13:677d398423f7 982 vol++;
jordaahh 13:677d398423f7 983 }
jordaahh 13:677d398423f7 984 if(vol > 3) {
jordaahh 13:677d398423f7 985 vol = 3;
jordaahh 14:c00b7a943fb5 986 }
jordaahh 13:677d398423f7 987 if(vol < -3) {
jordaahh 13:677d398423f7 988 vol = -3;
jordaahh 14:c00b7a943fb5 989 }
jordaahh 13:677d398423f7 990 switch (vol) {
jordaahh 13:677d398423f7 991 case 0 :
jordaahh 14:c00b7a943fb5 992 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 993 lcd.printString(" ||||||",0,4);
jordaahh 13:677d398423f7 994 while(1) {
jordaahh 13:677d398423f7 995 if(button == 1) {
jordaahh 13:677d398423f7 996 BandVMenu();
jordaahh 13:677d398423f7 997 break;
jordaahh 13:677d398423f7 998 } else {
jordaahh 13:677d398423f7 999 break;
jordaahh 13:677d398423f7 1000 }
jordaahh 13:677d398423f7 1001 }
jordaahh 13:677d398423f7 1002 break;
jordaahh 13:677d398423f7 1003 case 1 :
jordaahh 13:677d398423f7 1004 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 1005 lcd.printString(" ||||||||",0,4);
jordaahh 13:677d398423f7 1006 while(1) {
jordaahh 13:677d398423f7 1007 if(button == 1) {
jordaahh 13:677d398423f7 1008 BandVMenu();
jordaahh 13:677d398423f7 1009 break;
jordaahh 13:677d398423f7 1010 } else {
jordaahh 13:677d398423f7 1011 break;
jordaahh 13:677d398423f7 1012 }
jordaahh 13:677d398423f7 1013 }
jordaahh 13:677d398423f7 1014 break;
jordaahh 13:677d398423f7 1015 case 2 :
jordaahh 13:677d398423f7 1016 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 1017 lcd.printString(" ||||||||||",0,4);
jordaahh 13:677d398423f7 1018 while(1) {
jordaahh 13:677d398423f7 1019 if(button == 1) {
jordaahh 13:677d398423f7 1020 BandVMenu();
jordaahh 13:677d398423f7 1021 break;
jordaahh 13:677d398423f7 1022 } else {
jordaahh 13:677d398423f7 1023 break;
jordaahh 13:677d398423f7 1024 }
jordaahh 13:677d398423f7 1025 }
jordaahh 13:677d398423f7 1026 break;
jordaahh 13:677d398423f7 1027 case 3 :
jordaahh 13:677d398423f7 1028 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 1029 lcd.printString(" ||||||||||||",0,4);
jordaahh 13:677d398423f7 1030 while(1) {
jordaahh 13:677d398423f7 1031 if(button == 1) {
jordaahh 13:677d398423f7 1032 BandVMenu();
jordaahh 13:677d398423f7 1033 break;
jordaahh 13:677d398423f7 1034 } else {
jordaahh 13:677d398423f7 1035 break;
jordaahh 13:677d398423f7 1036 }
jordaahh 13:677d398423f7 1037 }
jordaahh 13:677d398423f7 1038 break;
jordaahh 13:677d398423f7 1039 case -1 :
jordaahh 13:677d398423f7 1040 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 1041 lcd.printString(" ||||",0,4);
jordaahh 13:677d398423f7 1042 while(1) {
jordaahh 13:677d398423f7 1043 if(button == 1) {
jordaahh 13:677d398423f7 1044 BandVMenu();
jordaahh 13:677d398423f7 1045 break;
jordaahh 13:677d398423f7 1046 } else {
jordaahh 13:677d398423f7 1047 break;
jordaahh 13:677d398423f7 1048 }
jordaahh 13:677d398423f7 1049 }
jordaahh 13:677d398423f7 1050 break;
jordaahh 13:677d398423f7 1051 case -2 :
jordaahh 13:677d398423f7 1052 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 1053 lcd.printString(" ||",0,4);
jordaahh 13:677d398423f7 1054 while(1) {
jordaahh 13:677d398423f7 1055 if(button == 1) {
jordaahh 13:677d398423f7 1056 BandVMenu();
jordaahh 13:677d398423f7 1057 break;
jordaahh 13:677d398423f7 1058 } else {
jordaahh 13:677d398423f7 1059 break;
jordaahh 13:677d398423f7 1060 }
jordaahh 13:677d398423f7 1061 }
jordaahh 13:677d398423f7 1062 break;
jordaahh 13:677d398423f7 1063 case -3 :
jordaahh 13:677d398423f7 1064 lcd.printString(" Volume ",0,2);
jordaahh 13:677d398423f7 1065 lcd.printString(" MUTE",0,4);
jordaahh 13:677d398423f7 1066 while(1) {
jordaahh 13:677d398423f7 1067 if(button == 1) {
jordaahh 13:677d398423f7 1068 BandVMenu();
jordaahh 13:677d398423f7 1069 break;
jordaahh 13:677d398423f7 1070 } else {
jordaahh 13:677d398423f7 1071 break;
jordaahh 13:677d398423f7 1072 }
jordaahh 13:677d398423f7 1073 }
jordaahh 13:677d398423f7 1074 break;
jordaahh 14:c00b7a943fb5 1075 }
jordaahh 14:c00b7a943fb5 1076 }
jordaahh 14:c00b7a943fb5 1077 }
jordaahh 14:c00b7a943fb5 1078
jordaahh 14:c00b7a943fb5 1079 void writeDataToFile(int data)
jordaahh 14:c00b7a943fb5 1080 {
jordaahh 16:6723fa6c0f25 1081 char str[14];
jordaahh 16:6723fa6c0f25 1082
jordaahh 17:f56dd50acf2d 1083 FILE *fp = fopen("/local/score.csv", "a"); // open 'score.txt'
jordaahh 16:6723fa6c0f25 1084 // if the file doesn't exist it is created, if it exists, data is appended to the end
jordaahh 17:f56dd50acf2d 1085 fprintf(fp,"%i\n",data); // print string to file
jordaahh 17:f56dd50acf2d 1086 fclose(fp); // close file
jordaahh 16:6723fa6c0f25 1087
jordaahh 17:f56dd50acf2d 1088 FILE *fp2 = fopen("/local/score.csv", "r"); // open 'score.txt'
jordaahh 17:f56dd50acf2d 1089 fscanf (fp2, "%s", str);
jordaahh 17:f56dd50acf2d 1090 fclose(fp2); // close file
jordaahh 16:6723fa6c0f25 1091 lcd.printString(str,0,0);
jordaahh 17:f56dd50acf2d 1092 wait(3);// close file
jordaahh 13:677d398423f7 1093 }
jordaahh 13:677d398423f7 1094
jordaahh 14:c00b7a943fb5 1095
jordaahh 14:c00b7a943fb5 1096
jordaahh 14:c00b7a943fb5 1097 void tone()
jordaahh 15:cf59cdffe546 1098 {
jordaahh 14:c00b7a943fb5 1099
jordaahh 14:c00b7a943fb5 1100 if(FLAG3==1) {
jordaahh 14:c00b7a943fb5 1101 FLAG3 = 0;
jordaahh 14:c00b7a943fb5 1102 buz.period(1/(frequency[u])); // set PWM period
jordaahh 14:c00b7a943fb5 1103 buz=0.7;
jordaahh 14:c00b7a943fb5 1104 u++;
jordaahh 14:c00b7a943fb5 1105 }
jordaahh 14:c00b7a943fb5 1106 if( u > 30) {
jordaahh 14:c00b7a943fb5 1107 u = 0;
jordaahh 14:c00b7a943fb5 1108 }
jordaahh 11:e5481bda1d6a 1109
jordaahh 14:c00b7a943fb5 1110 }
jordaahh 14:c00b7a943fb5 1111
jordaahh 14:c00b7a943fb5 1112 void deadTone()
jordaahh 14:c00b7a943fb5 1113 {
jordaahh 14:c00b7a943fb5 1114 int l = 0;
jordaahh 14:c00b7a943fb5 1115 while(1) {
jordaahh 14:c00b7a943fb5 1116 if(FLAG3==1) {
jordaahh 14:c00b7a943fb5 1117 FLAG3 = 0;
jordaahh 14:c00b7a943fb5 1118 buz.period(1/(frequency2[l])); // set PWM period
jordaahh 14:c00b7a943fb5 1119 buz=0.7;
jordaahh 14:c00b7a943fb5 1120 l++;
jordaahh 13:677d398423f7 1121 }
jordaahh 14:c00b7a943fb5 1122 if( l > 6) {
jordaahh 14:c00b7a943fb5 1123 break;
jordaahh 14:c00b7a943fb5 1124 }
jordaahh 14:c00b7a943fb5 1125 }
jordaahh 14:c00b7a943fb5 1126 }