1

Dependencies:   mbed Gamepad N5110

Committer:
1012754868
Date:
Thu May 02 06:20:20 2019 +0000
Revision:
3:7b28047013d2
Parent:
2:1234b0a1a51d
Child:
7:cafa0b96e8d3
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
1012754868 0:5fcd72a90b20 1 /*
1012754868 3:7b28047013d2 2 ELEC2645 Embedded Systems Project
1012754868 3:7b28047013d2 3 School of Electronic & Electrical Engineering
1012754868 3:7b28047013d2 4 University of Leeds
1012754868 3:7b28047013d2 5 Name: Li Saiwen
1012754868 3:7b28047013d2 6 Username: Li Saiwen
1012754868 3:7b28047013d2 7 Student ID Number: LEEDS ID: 201089052 SWJTU ID:2016110325
1012754868 3:7b28047013d2 8 Date:
1012754868 0:5fcd72a90b20 9 */
1012754868 0:5fcd72a90b20 10 #include "mbed.h"
1012754868 0:5fcd72a90b20 11 #include "N5110.h"
1012754868 0:5fcd72a90b20 12 #include "Gamepad.h"
1012754868 0:5fcd72a90b20 13
1012754868 0:5fcd72a90b20 14 #include "Snake.h"
1012754868 0:5fcd72a90b20 15
1012754868 0:5fcd72a90b20 16 /************************Structs************************/
1012754868 0:5fcd72a90b20 17 struct UserInput {
1012754868 0:5fcd72a90b20 18 Direction d;
1012754868 0:5fcd72a90b20 19
1012754868 0:5fcd72a90b20 20 };
1012754868 0:5fcd72a90b20 21
1012754868 0:5fcd72a90b20 22
1012754868 0:5fcd72a90b20 23 /************************Objects************************/
1012754868 0:5fcd72a90b20 24 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);//set LCD pins
1012754868 0:5fcd72a90b20 25 Gamepad pad;
1012754868 0:5fcd72a90b20 26 Snake snake;
1012754868 0:5fcd72a90b20 27 Direction d;
1012754868 2:1234b0a1a51d 28 int SNAKY[15][48] = {
1012754868 2:1234b0a1a51d 29 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 30 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 31 {0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 32 {0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 33 {0,0,0,0,0,1,1,1,0,0,0,1,0,1,0,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 34 {0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 35 {1,0,1,1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0},
1012754868 2:1234b0a1a51d 36 {0,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0},
1012754868 2:1234b0a1a51d 37 {0,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 38 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 39 {0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 40 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 41 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 42 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 43 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
1012754868 0:5fcd72a90b20 44 };
1012754868 0:5fcd72a90b20 45
1012754868 2:1234b0a1a51d 46 int _SNAKY[15][48] = {
1012754868 2:1234b0a1a51d 47 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 48 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 49 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 2:1234b0a1a51d 50 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 51 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 52 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 53 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 54 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 55 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 56 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 57 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 58 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 59 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 60 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
1012754868 0:5fcd72a90b20 61 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
1012754868 0:5fcd72a90b20 62 };
1012754868 0:5fcd72a90b20 63
1012754868 0:5fcd72a90b20 64 char _Buffer[200];
1012754868 0:5fcd72a90b20 65 /************************Prototypes************************/
1012754868 0:5fcd72a90b20 66 void start_game();
1012754868 0:5fcd72a90b20 67 void game_setting();
1012754868 2:1234b0a1a51d 68 int game_music_2();
1012754868 0:5fcd72a90b20 69
1012754868 0:5fcd72a90b20 70 /************************Variables************************/
1012754868 0:5fcd72a90b20 71
1012754868 0:5fcd72a90b20 72 //int heroChar[4]=(1,1,0,1);
1012754868 0:5fcd72a90b20 73 //int bomb[4]=(0,1,0,1);
1012754868 0:5fcd72a90b20 74 //int boulderLocation[4][8]={}// set the coordinate for boulder, if 00, boulder does not exist
1012754868 0:5fcd72a90b20 75
1012754868 0:5fcd72a90b20 76 /************************Main code************************/
1012754868 0:5fcd72a90b20 77 int main()
1012754868 2:1234b0a1a51d 78 { snake.Highest_score = 0;
1012754868 2:1234b0a1a51d 79 while(1){
1012754868 2:1234b0a1a51d 80 int _Flag = 1;
1012754868 2:1234b0a1a51d 81 lcd.init();//initializing display
1012754868 2:1234b0a1a51d 82 pad.init();
1012754868 2:1234b0a1a51d 83 start_game();
1012754868 2:1234b0a1a51d 84 game_setting();
1012754868 2:1234b0a1a51d 85 snake.init(25,25,5,3);
1012754868 2:1234b0a1a51d 86
1012754868 0:5fcd72a90b20 87 //pc.printf("initalized");
1012754868 2:1234b0a1a51d 88 while (_Flag) {
1012754868 2:1234b0a1a51d 89 snake.drawsnake(lcd,pad);
1012754868 0:5fcd72a90b20 90 snake.snakemov(pad);
1012754868 2:1234b0a1a51d 91 if(snake.live <= 0) {
1012754868 2:1234b0a1a51d 92 _Flag = 0;
1012754868 2:1234b0a1a51d 93 }
1012754868 2:1234b0a1a51d 94 }
1012754868 2:1234b0a1a51d 95 }
1012754868 0:5fcd72a90b20 96 }
1012754868 0:5fcd72a90b20 97 /************************Functions************************/
1012754868 2:1234b0a1a51d 98 int game_music_2(){
1012754868 2:1234b0a1a51d 99 pad.tone(1047.0,0.125); //gap
1012754868 2:1234b0a1a51d 100 wait(0.125);
1012754868 2:1234b0a1a51d 101 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 102 return 0;
1012754868 2:1234b0a1a51d 103 }
1012754868 2:1234b0a1a51d 104 pad.tone(1175.0,0.125); //1_
1012754868 2:1234b0a1a51d 105 wait(0.125);
1012754868 2:1234b0a1a51d 106 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 107 return 0;
1012754868 2:1234b0a1a51d 108 }
1012754868 2:1234b0a1a51d 109 pad.tone(1319.0,0.25); //2_
1012754868 2:1234b0a1a51d 110 wait(0.25);
1012754868 2:1234b0a1a51d 111 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 112 return 0;
1012754868 2:1234b0a1a51d 113 }
1012754868 2:1234b0a1a51d 114 pad.tone(1047.0,0.125); //3_
1012754868 2:1234b0a1a51d 115 wait(0.125);
1012754868 2:1234b0a1a51d 116 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 117 return 0;
1012754868 2:1234b0a1a51d 118 }
1012754868 2:1234b0a1a51d 119 pad.tone(880.0,0.125); //1_
1012754868 2:1234b0a1a51d 120 wait(0.125);
1012754868 2:1234b0a1a51d 121 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 122 return 0;
1012754868 2:1234b0a1a51d 123 }
1012754868 2:1234b0a1a51d 124 pad.tone(880.0,0.25); //5 3/4
1012754868 2:1234b0a1a51d 125 wait(0.25);
1012754868 2:1234b0a1a51d 126 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 127 return 0;
1012754868 2:1234b0a1a51d 128 }
1012754868 2:1234b0a1a51d 129 pad.tone(1175.0,0.25); //3_
1012754868 2:1234b0a1a51d 130 wait(0.25);
1012754868 2:1234b0a1a51d 131 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 132 return 0;
1012754868 2:1234b0a1a51d 133 }
1012754868 2:1234b0a1a51d 134 pad.tone(988.0,0.25); //2
1012754868 2:1234b0a1a51d 135 wait(0.25);
1012754868 2:1234b0a1a51d 136 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 137 return 0;
1012754868 2:1234b0a1a51d 138 }
1012754868 2:1234b0a1a51d 139 pad.tone(784.0,0.125); //5
1012754868 2:1234b0a1a51d 140 wait(0.125);
1012754868 2:1234b0a1a51d 141 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 142 return 0;
1012754868 2:1234b0a1a51d 143 }
1012754868 2:1234b0a1a51d 144 pad.tone(659.0,0.125); //2
1012754868 1:db2a69ca4929 145 wait(0.125);
1012754868 2:1234b0a1a51d 146 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 147 return 0;
1012754868 2:1234b0a1a51d 148 }
1012754868 2:1234b0a1a51d 149 pad.tone(659.0,0.25); //1.
1012754868 2:1234b0a1a51d 150 wait(0.25);
1012754868 2:1234b0a1a51d 151 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 152 return 0;
1012754868 2:1234b0a1a51d 153 }
1012754868 2:1234b0a1a51d 154 pad.tone(988.0,0.25); //l6.
1012754868 2:1234b0a1a51d 155 wait(0.25);
1012754868 2:1234b0a1a51d 156 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 157 return 0;
1012754868 2:1234b0a1a51d 158 }
1012754868 2:1234b0a1a51d 159 pad.tone(880.0,0.25); //3 3/4
1012754868 2:1234b0a1a51d 160 wait(0.25);
1012754868 2:1234b0a1a51d 161 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 162 return 0;
1012754868 2:1234b0a1a51d 163 }
1012754868 2:1234b0a1a51d 164 pad.tone(784.0,0.125); //1.
1012754868 2:1234b0a1a51d 165 wait(0.125);
1012754868 2:1234b0a1a51d 166 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 167 return 0;
1012754868 2:1234b0a1a51d 168 }
1012754868 2:1234b0a1a51d 169 pad.tone(523.0,0.125); //l7
1012754868 2:1234b0a1a51d 170 wait(0.125);
1012754868 2:1234b0a1a51d 171 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 172 return 0;
1012754868 2:1234b0a1a51d 173 }
1012754868 2:1234b0a1a51d 174 pad.tone(523.0,0.25); //gap
1012754868 2:1234b0a1a51d 175 wait(0.25);
1012754868 2:1234b0a1a51d 176 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 177 return 0;
1012754868 2:1234b0a1a51d 178 }
1012754868 2:1234b0a1a51d 179 pad.tone(784.0,0.25); //l7
1012754868 2:1234b0a1a51d 180 wait(0.25);
1012754868 2:1234b0a1a51d 181 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 182 return 0;
1012754868 2:1234b0a1a51d 183 }
1012754868 2:1234b0a1a51d 184 pad.tone(659.0,0.25); //l6
1012754868 2:1234b0a1a51d 185 wait(0.25);
1012754868 2:1234b0a1a51d 186 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 187 return 0;
1012754868 2:1234b0a1a51d 188 }
1012754868 2:1234b0a1a51d 189 pad.tone(0.0,0.25); //l7
1012754868 2:1234b0a1a51d 190 wait(0.25);
1012754868 2:1234b0a1a51d 191 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 192 return 0;
1012754868 2:1234b0a1a51d 193 }
1012754868 2:1234b0a1a51d 194 pad.tone(0.0,0.25); //1.
1012754868 2:1234b0a1a51d 195 wait(0.25);
1012754868 2:1234b0a1a51d 196 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 197 return 0;
1012754868 2:1234b0a1a51d 198 }
1012754868 2:1234b0a1a51d 199 pad.tone(587.0,0.125); //2.
1012754868 2:1234b0a1a51d 200 wait(0.125);
1012754868 2:1234b0a1a51d 201 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 202 return 0;
1012754868 2:1234b0a1a51d 203 }
1012754868 2:1234b0a1a51d 204 pad.tone(659.0,0.125); //l5
1012754868 1:db2a69ca4929 205 wait(0.125);
1012754868 2:1234b0a1a51d 206 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 207 return 0;
1012754868 2:1234b0a1a51d 208 }
1012754868 2:1234b0a1a51d 209 pad.tone(698.0,0.25); //1
1012754868 2:1234b0a1a51d 210 wait(0.25);
1012754868 2:1234b0a1a51d 211 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 212 return 0;
1012754868 2:1234b0a1a51d 213 }
1012754868 2:1234b0a1a51d 214 pad.tone(0.0,0.25); //2.
1012754868 2:1234b0a1a51d 215 wait(0.25);
1012754868 2:1234b0a1a51d 216 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 217 return 0;
1012754868 2:1234b0a1a51d 218 }
1012754868 2:1234b0a1a51d 219 pad.tone(1047.0,0.25); //3.
1012754868 2:1234b0a1a51d 220 wait(0.25);
1012754868 2:1234b0a1a51d 221 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 222 return 0;
1012754868 2:1234b0a1a51d 223 }
1012754868 2:1234b0a1a51d 224 pad.tone(988.0,0.0833); //4
1012754868 2:1234b0a1a51d 225 wait(0.0833);
1012754868 2:1234b0a1a51d 226 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 227 return 0;
1012754868 2:1234b0a1a51d 228 }
1012754868 2:1234b0a1a51d 229 pad.tone(988.0,0.0833); //4.
1012754868 2:1234b0a1a51d 230 wait(0.0833);
1012754868 2:1234b0a1a51d 231 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 232 return 0;
1012754868 2:1234b0a1a51d 233 }
1012754868 2:1234b0a1a51d 234 pad.tone(1047.0,0.0833); //3.
1012754868 2:1234b0a1a51d 235 wait(0.0833);
1012754868 2:1234b0a1a51d 236 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 237 return 0;
1012754868 2:1234b0a1a51d 238 }
1012754868 2:1234b0a1a51d 239 pad.tone(784.0,0.25); //2.
1012754868 2:1234b0a1a51d 240 wait(0.25);
1012754868 2:1234b0a1a51d 241 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 242 return 0;
1012754868 2:1234b0a1a51d 243 }
1012754868 2:1234b0a1a51d 244 pad.tone(0.0,0.25); //1.
1012754868 2:1234b0a1a51d 245 wait(0.25);
1012754868 2:1234b0a1a51d 246 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 247 return 0;
1012754868 2:1234b0a1a51d 248 }
1012754868 2:1234b0a1a51d 249 pad.tone(698.0,0.25); //2
1012754868 2:1234b0a1a51d 250 wait(0.25);
1012754868 2:1234b0a1a51d 251 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 252 return 0;
1012754868 2:1234b0a1a51d 253 }
1012754868 2:1234b0a1a51d 254 pad.tone(659.0,0.1875); //gap
1012754868 2:1234b0a1a51d 255 wait(0.1875);
1012754868 2:1234b0a1a51d 256 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 257 return 0;
1012754868 2:1234b0a1a51d 258 }
1012754868 2:1234b0a1a51d 259 pad.tone(698.0,0.0625); //1.
1012754868 2:1234b0a1a51d 260 wait(0.0625);
1012754868 2:1234b0a1a51d 261 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 262 return 0;
1012754868 2:1234b0a1a51d 263 }
1012754868 2:1234b0a1a51d 264 pad.tone(740.0,0.25); //2.
1012754868 1:db2a69ca4929 265 wait(0.25);
1012754868 2:1234b0a1a51d 266 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 267 return 0;
1012754868 2:1234b0a1a51d 268 }
1012754868 2:1234b0a1a51d 269 pad.tone(0.0,0.25); //3.
1012754868 2:1234b0a1a51d 270 wait(0.25);
1012754868 2:1234b0a1a51d 271 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 272 return 0;
1012754868 2:1234b0a1a51d 273 }
1012754868 2:1234b0a1a51d 274 pad.tone(1047.0,0.25); //1.
1012754868 2:1234b0a1a51d 275 wait(0.25);
1012754868 2:1234b0a1a51d 276 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 277 return 0;
1012754868 2:1234b0a1a51d 278 }
1012754868 2:1234b0a1a51d 279 pad.tone(988.0,0.0833); //5 3/4
1012754868 2:1234b0a1a51d 280 wait(0.0833);
1012754868 2:1234b0a1a51d 281 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 282 return 0;
1012754868 2:1234b0a1a51d 283 }
1012754868 2:1234b0a1a51d 284 pad.tone(988.0,0.0833); //3.
1012754868 2:1234b0a1a51d 285 wait(0.0833);
1012754868 2:1234b0a1a51d 286 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 287 return 0;
1012754868 2:1234b0a1a51d 288 }
1012754868 2:1234b0a1a51d 289 pad.tone(880.0,0.0833); //2
1012754868 2:1234b0a1a51d 290 wait(0.0833);
1012754868 2:1234b0a1a51d 291 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 292 return 0;
1012754868 2:1234b0a1a51d 293 }
1012754868 2:1234b0a1a51d 294 pad.tone(831.0,0.25); //5
1012754868 2:1234b0a1a51d 295 wait(0.25);
1012754868 2:1234b0a1a51d 296 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 297 return 0;
1012754868 2:1234b0a1a51d 298 }
1012754868 2:1234b0a1a51d 299 pad.tone(0.0,0.25); //2
1012754868 2:1234b0a1a51d 300 wait(0.25);
1012754868 2:1234b0a1a51d 301 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 302 return 0;
1012754868 2:1234b0a1a51d 303 }
1012754868 2:1234b0a1a51d 304 pad.tone(0.0,0.25); //1.
1012754868 2:1234b0a1a51d 305 wait(0.25);
1012754868 2:1234b0a1a51d 306 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 307 return 0;
1012754868 2:1234b0a1a51d 308 }
1012754868 2:1234b0a1a51d 309 pad.tone(1047.0,0.125); //l6.
1012754868 1:db2a69ca4929 310 wait(0.125);
1012754868 2:1234b0a1a51d 311 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 312 return 0;
1012754868 2:1234b0a1a51d 313 }
1012754868 2:1234b0a1a51d 314 pad.tone(1175.0,0.125); //l6
1012754868 2:1234b0a1a51d 315 wait(0.125);
1012754868 2:1234b0a1a51d 316 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 317 return 0;
1012754868 2:1234b0a1a51d 318 }
1012754868 2:1234b0a1a51d 319 pad.tone(1319.0,0.25); //l7.
1012754868 2:1234b0a1a51d 320 wait(0.25);
1012754868 2:1234b0a1a51d 321 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 322 return 0;
1012754868 2:1234b0a1a51d 323 }
1012754868 2:1234b0a1a51d 324 pad.tone(1047.0,0.125); //1.
1012754868 2:1234b0a1a51d 325 wait(0.125);
1012754868 2:1234b0a1a51d 326 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 327 return 0;
1012754868 2:1234b0a1a51d 328 }
1012754868 2:1234b0a1a51d 329 pad.tone(880.0,0.125); //l5
1012754868 2:1234b0a1a51d 330 ////////////////////////////////////////////////////
1012754868 1:db2a69ca4929 331 wait(0.125);
1012754868 1:db2a69ca4929 332 pad.tone(880.0,0.25); //6
1012754868 1:db2a69ca4929 333 wait(0.25);
1012754868 1:db2a69ca4929 334 pad.tone(1175.0,0.25); //H2
1012754868 1:db2a69ca4929 335 wait(0.25);
1012754868 2:1234b0a1a51d 336 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 337 return 0;
1012754868 2:1234b0a1a51d 338 }
1012754868 1:db2a69ca4929 339 pad.tone(988.0,0.25); //7
1012754868 1:db2a69ca4929 340 wait(0.25);
1012754868 1:db2a69ca4929 341 pad.tone(784.0,0.125); //5_
1012754868 1:db2a69ca4929 342 wait(0.125);
1012754868 1:db2a69ca4929 343 pad.tone(659.0,0.125); //3_
1012754868 1:db2a69ca4929 344 wait(0.125);
1012754868 2:1234b0a1a51d 345 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 346 return 0;
1012754868 2:1234b0a1a51d 347 }
1012754868 1:db2a69ca4929 348 pad.tone(659.0,0.25); //3
1012754868 1:db2a69ca4929 349 wait(0.25);
1012754868 1:db2a69ca4929 350 pad.tone(988.0,0.25); //7
1012754868 1:db2a69ca4929 351 wait(0.25);
1012754868 2:1234b0a1a51d 352 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 353 return 0;
1012754868 2:1234b0a1a51d 354 }
1012754868 1:db2a69ca4929 355 pad.tone(880.0,0.25); //6
1012754868 1:db2a69ca4929 356 wait(0.25);
1012754868 1:db2a69ca4929 357 pad.tone(784.0,0.125); //5_
1012754868 1:db2a69ca4929 358 wait(0.125);
1012754868 2:1234b0a1a51d 359 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 360 return 0;
1012754868 2:1234b0a1a51d 361 }
1012754868 1:db2a69ca4929 362 pad.tone(523.0,0.125); //1_
1012754868 1:db2a69ca4929 363 wait(0.125);
1012754868 1:db2a69ca4929 364 pad.tone(523.0,0.25); //1
1012754868 1:db2a69ca4929 365 wait(0.25);
1012754868 2:1234b0a1a51d 366 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 367 return 0;
1012754868 2:1234b0a1a51d 368 }
1012754868 1:db2a69ca4929 369 pad.tone(784.0,0.25); //5
1012754868 1:db2a69ca4929 370 wait(0.25);
1012754868 1:db2a69ca4929 371 pad.tone(659.0,0.25); //3
1012754868 1:db2a69ca4929 372 wait(0.25);
1012754868 2:1234b0a1a51d 373 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 374 return 0;
1012754868 2:1234b0a1a51d 375 }
1012754868 1:db2a69ca4929 376 pad.tone(0.0,0.25); //gap
1012754868 1:db2a69ca4929 377 wait(0.25);
1012754868 1:db2a69ca4929 378 pad.tone(0.0,0.25); //gap
1012754868 1:db2a69ca4929 379 wait(0.25);
1012754868 2:1234b0a1a51d 380 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 381 return 0;
1012754868 2:1234b0a1a51d 382 }
1012754868 1:db2a69ca4929 383 pad.tone(587.0,0.125); //2_
1012754868 1:db2a69ca4929 384 wait(0.125);
1012754868 1:db2a69ca4929 385 pad.tone(659.0,0.125); //3_
1012754868 1:db2a69ca4929 386 wait(0.125);
1012754868 2:1234b0a1a51d 387 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 388 return 0;
1012754868 2:1234b0a1a51d 389 }
1012754868 1:db2a69ca4929 390 pad.tone(698.0,0.25); //4
1012754868 1:db2a69ca4929 391 wait(0.25);
1012754868 1:db2a69ca4929 392 pad.tone(0.0,0.25); //gap
1012754868 1:db2a69ca4929 393 wait(0.25);
1012754868 1:db2a69ca4929 394 pad.tone(784.0,0.25); //5
1012754868 1:db2a69ca4929 395 wait(0.25);
1012754868 2:1234b0a1a51d 396 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 397 return 0;
1012754868 2:1234b0a1a51d 398 }
1012754868 1:db2a69ca4929 399 pad.tone(698.0,0.08333); //4_3
1012754868 1:db2a69ca4929 400 wait(0.08333);
1012754868 1:db2a69ca4929 401 pad.tone(698.0,0.08333); //4_3
1012754868 1:db2a69ca4929 402 wait(0.08333);
1012754868 1:db2a69ca4929 403 pad.tone(784.0,0.08333); //5_3
1012754868 1:db2a69ca4929 404 wait(0.08333);
1012754868 2:1234b0a1a51d 405 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 406 return 0;
1012754868 2:1234b0a1a51d 407 }
1012754868 1:db2a69ca4929 408 pad.tone(659.0,0.25); //3
1012754868 1:db2a69ca4929 409 wait(0.25);
1012754868 1:db2a69ca4929 410 pad.tone(784.0,0.25); //5
1012754868 1:db2a69ca4929 411 wait(0.25);
1012754868 2:1234b0a1a51d 412 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 413 return 0;
1012754868 2:1234b0a1a51d 414 }
1012754868 1:db2a69ca4929 415 pad.tone(1046.0,0.25); //H1
1012754868 1:db2a69ca4929 416 wait(0.25);
1012754868 1:db2a69ca4929 417 pad.tone(1318.0,0.25); //H3
1012754868 1:db2a69ca4929 418 wait(0.25);
1012754868 2:1234b0a1a51d 419 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 420 return 0;
1012754868 2:1234b0a1a51d 421 }
1012754868 1:db2a69ca4929 422 pad.tone(1175.0,0.1875); //H2 3/4
1012754868 1:db2a69ca4929 423 wait(0.1875);
1012754868 1:db2a69ca4929 424 pad.tone(1175.0,0.125); //H2_
1012754868 1:db2a69ca4929 425 wait(0.125);
1012754868 2:1234b0a1a51d 426 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 427 return 0;
1012754868 2:1234b0a1a51d 428 }
1012754868 1:db2a69ca4929 429 pad.tone(1175.0,0.125); //H2_
1012754868 1:db2a69ca4929 430 wait(0.125);
1012754868 1:db2a69ca4929 431 pad.tone(1046.0,0.25); //H1
1012754868 1:db2a69ca4929 432 wait(0.25);
1012754868 1:db2a69ca4929 433 pad.tone(1046.0,0.125); //H1_
1012754868 1:db2a69ca4929 434 wait(0.125);
1012754868 2:1234b0a1a51d 435 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 436 return 0;
1012754868 2:1234b0a1a51d 437 }
1012754868 1:db2a69ca4929 438 pad.tone(1046.0,0.25); //H1
1012754868 1:db2a69ca4929 439 wait(0.25);
1012754868 1:db2a69ca4929 440 pad.tone(0.0,0.25); //GAP
1012754868 1:db2a69ca4929 441 wait(0.25);
1012754868 2:1234b0a1a51d 442 if(pad.check_event(Gamepad::A_PRESSED) == true){
1012754868 2:1234b0a1a51d 443 return 0;
1012754868 2:1234b0a1a51d 444 }
1012754868 1:db2a69ca4929 445 pad.tone(0.0,0.25); //GAP
1012754868 1:db2a69ca4929 446 wait(0.25);
1012754868 1:db2a69ca4929 447 pad.tone(0.0,0.25); //GAP
1012754868 1:db2a69ca4929 448 wait(0.25);
1012754868 2:1234b0a1a51d 449 return 0;
1012754868 1:db2a69ca4929 450 }
1012754868 1:db2a69ca4929 451
1012754868 0:5fcd72a90b20 452
1012754868 0:5fcd72a90b20 453 void start_game(){
1012754868 0:5fcd72a90b20 454 lcd.printString(" LI Saiwen",0,3);
1012754868 2:1234b0a1a51d 455 lcd.printString("Press twice A",0,5);
1012754868 0:5fcd72a90b20 456 lcd.refresh();
1012754868 0:5fcd72a90b20 457
1012754868 2:1234b0a1a51d 458 lcd.drawSprite(60,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 459 lcd.refresh();
1012754868 0:5fcd72a90b20 460 wait(0.2);
1012754868 2:1234b0a1a51d 461 lcd.drawSprite(60,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 462 lcd.refresh();
1012754868 0:5fcd72a90b20 463
1012754868 2:1234b0a1a51d 464 lcd.drawSprite(55,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 465 lcd.refresh();
1012754868 0:5fcd72a90b20 466 wait(0.2);
1012754868 2:1234b0a1a51d 467 lcd.drawSprite(55,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 468 lcd.refresh();
1012754868 0:5fcd72a90b20 469
1012754868 2:1234b0a1a51d 470 lcd.drawSprite(50,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 471 lcd.refresh();
1012754868 0:5fcd72a90b20 472 wait(0.2);
1012754868 2:1234b0a1a51d 473 lcd.drawSprite(50,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 474 lcd.refresh();
1012754868 0:5fcd72a90b20 475
1012754868 2:1234b0a1a51d 476 lcd.drawSprite(45,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 477 lcd.refresh();
1012754868 0:5fcd72a90b20 478 wait(0.2);
1012754868 2:1234b0a1a51d 479 lcd.drawSprite(45,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 480 lcd.refresh();
1012754868 0:5fcd72a90b20 481
1012754868 2:1234b0a1a51d 482 lcd.drawSprite(40,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 483 lcd.refresh();
1012754868 0:5fcd72a90b20 484 wait(0.2);
1012754868 2:1234b0a1a51d 485 lcd.drawSprite(40,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 486 lcd.refresh();
1012754868 0:5fcd72a90b20 487
1012754868 2:1234b0a1a51d 488 lcd.drawSprite(35,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 489 lcd.refresh();
1012754868 0:5fcd72a90b20 490 wait(0.2);
1012754868 2:1234b0a1a51d 491 lcd.drawSprite(35,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 492 lcd.refresh();
1012754868 0:5fcd72a90b20 493
1012754868 2:1234b0a1a51d 494 lcd.drawSprite(30,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 495 lcd.refresh();
1012754868 0:5fcd72a90b20 496 wait(0.2);
1012754868 2:1234b0a1a51d 497 lcd.drawSprite(30,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 498 lcd.refresh();
1012754868 0:5fcd72a90b20 499
1012754868 2:1234b0a1a51d 500 lcd.drawSprite(25,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 501 lcd.refresh();
1012754868 0:5fcd72a90b20 502 wait(0.2);
1012754868 2:1234b0a1a51d 503 lcd.drawSprite(25,5,15,48,(int *)_SNAKY);
1012754868 0:5fcd72a90b20 504
1012754868 2:1234b0a1a51d 505 lcd.drawSprite(20,5,15,48,(int *)SNAKY);
1012754868 0:5fcd72a90b20 506 lcd.refresh();
1012754868 2:1234b0a1a51d 507
1012754868 0:5fcd72a90b20 508 while ( pad.check_event(Gamepad::A_PRESSED) == false) {
1012754868 2:1234b0a1a51d 509 game_music_2();
1012754868 0:5fcd72a90b20 510 pad.leds_on();
1012754868 0:5fcd72a90b20 511 wait(0.1);
1012754868 0:5fcd72a90b20 512 pad.leds_off();
1012754868 0:5fcd72a90b20 513 wait(0.1);
1012754868 0:5fcd72a90b20 514 }
1012754868 0:5fcd72a90b20 515 lcd.clear();
1012754868 0:5fcd72a90b20 516 }
1012754868 0:5fcd72a90b20 517
1012754868 0:5fcd72a90b20 518 void game_setting() {
1012754868 0:5fcd72a90b20 519 lcd.printString(" Menu",0,0);
1012754868 0:5fcd72a90b20 520 lcd.printString(" A to set",0,1);
1012754868 0:5fcd72a90b20 521 lcd.printString("set speed <",0,2);
1012754868 0:5fcd72a90b20 522 lcd.printString("history ",0,3);
1012754868 0:5fcd72a90b20 523 lcd.printString(" press start",0,5);
1012754868 0:5fcd72a90b20 524 lcd.refresh();
1012754868 0:5fcd72a90b20 525 int q = 1;
1012754868 0:5fcd72a90b20 526 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
1012754868 0:5fcd72a90b20 527 d = pad.get_direction();
1012754868 0:5fcd72a90b20 528 if(d == N || q == 1){
1012754868 0:5fcd72a90b20 529 lcd.clear();
1012754868 0:5fcd72a90b20 530 lcd.printString(" Menu",0,0);
1012754868 0:5fcd72a90b20 531 lcd.printString(" A to set",0,1);
1012754868 0:5fcd72a90b20 532 lcd.printString("set speed <",0,2);
1012754868 0:5fcd72a90b20 533 lcd.printString("history ",0,3);
1012754868 0:5fcd72a90b20 534 lcd.printString(" press start",0,5);
1012754868 0:5fcd72a90b20 535 lcd.refresh();
1012754868 0:5fcd72a90b20 536 if(pad.check_event(Gamepad::A_PRESSED) == true) {
1012754868 0:5fcd72a90b20 537 bool IsCheck = false;
1012754868 0:5fcd72a90b20 538 int c = 1;
1012754868 0:5fcd72a90b20 539 lcd.clear();
1012754868 0:5fcd72a90b20 540 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 541 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 542 lcd.printString(" Normal <",0,2);
1012754868 0:5fcd72a90b20 543 lcd.printString(" Difficult",0,3);
1012754868 0:5fcd72a90b20 544 lcd.printString(" Hell",0,4);
1012754868 2:1234b0a1a51d 545 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 546 lcd.refresh();
1012754868 0:5fcd72a90b20 547 while(IsCheck == false){
1012754868 0:5fcd72a90b20 548 d = pad.get_direction();
1012754868 0:5fcd72a90b20 549 if(d == N && c == 1){
1012754868 0:5fcd72a90b20 550 lcd.clear();
1012754868 0:5fcd72a90b20 551 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 552 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 553 lcd.printString(" Normal <",0,2);
1012754868 0:5fcd72a90b20 554 lcd.printString(" Difficult",0,3);
1012754868 0:5fcd72a90b20 555 lcd.printString(" Hell",0,4);
1012754868 2:1234b0a1a51d 556 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 557 c = 1;
1012754868 0:5fcd72a90b20 558 lcd.refresh();
1012754868 0:5fcd72a90b20 559 }
1012754868 0:5fcd72a90b20 560 else if(d == S && c == 1 ){
1012754868 0:5fcd72a90b20 561 lcd.clear();
1012754868 0:5fcd72a90b20 562 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 563 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 564 lcd.printString(" Normal",0,2);
1012754868 0:5fcd72a90b20 565 lcd.printString(" Difficult <",0,3);
1012754868 0:5fcd72a90b20 566 lcd.printString(" Hell",0,4);
1012754868 2:1234b0a1a51d 567 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 568 c = 2;
1012754868 0:5fcd72a90b20 569 lcd.refresh();
1012754868 0:5fcd72a90b20 570 }
1012754868 0:5fcd72a90b20 571 else if(d == N && c == 2){
1012754868 0:5fcd72a90b20 572 lcd.clear();
1012754868 0:5fcd72a90b20 573 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 574 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 575 lcd.printString(" Normal",0,2);
1012754868 0:5fcd72a90b20 576 lcd.printString(" Difficult <",0,3);
1012754868 0:5fcd72a90b20 577 lcd.printString(" Hell",0,4);
1012754868 2:1234b0a1a51d 578 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 579 c = 1;
1012754868 0:5fcd72a90b20 580 lcd.refresh();
1012754868 0:5fcd72a90b20 581 }
1012754868 0:5fcd72a90b20 582 else if(d == S && c == 2){
1012754868 0:5fcd72a90b20 583 lcd.clear();
1012754868 0:5fcd72a90b20 584 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 585 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 586 lcd.printString(" Normal",0,2);
1012754868 0:5fcd72a90b20 587 lcd.printString(" Difficult",0,3);
1012754868 0:5fcd72a90b20 588 lcd.printString(" Hell <",0,4);
1012754868 2:1234b0a1a51d 589 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 590 c = 3;
1012754868 0:5fcd72a90b20 591 lcd.refresh();
1012754868 0:5fcd72a90b20 592 }
1012754868 0:5fcd72a90b20 593 else if(d == S && c == 3){
1012754868 0:5fcd72a90b20 594 lcd.clear();
1012754868 0:5fcd72a90b20 595 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 596 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 597 lcd.printString(" Normal",0,2);
1012754868 0:5fcd72a90b20 598 lcd.printString(" Difficult",0,3);
1012754868 0:5fcd72a90b20 599 lcd.printString(" Hell <",0,4);
1012754868 2:1234b0a1a51d 600 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 601 c = 3;
1012754868 0:5fcd72a90b20 602 lcd.refresh();
1012754868 0:5fcd72a90b20 603 }
1012754868 0:5fcd72a90b20 604 else if(d == N && c == 3){
1012754868 0:5fcd72a90b20 605 lcd.clear();
1012754868 0:5fcd72a90b20 606 lcd.printString(" Speed set",0,0);
1012754868 0:5fcd72a90b20 607 lcd.printString(" B to set",0,1);
1012754868 0:5fcd72a90b20 608 lcd.printString(" Normal",0,2);
1012754868 0:5fcd72a90b20 609 lcd.printString(" Difficult <",0,3);
1012754868 0:5fcd72a90b20 610 lcd.printString(" Hell",0,4);
1012754868 2:1234b0a1a51d 611 lcd.printString(" Press back ",0,5);
1012754868 0:5fcd72a90b20 612 c = 2;
1012754868 0:5fcd72a90b20 613 lcd.refresh();
1012754868 0:5fcd72a90b20 614 }
1012754868 0:5fcd72a90b20 615 wait(0.3);
1012754868 0:5fcd72a90b20 616 if(c == 1 && pad.check_event(Gamepad::B_PRESSED) == true) {
1012754868 0:5fcd72a90b20 617 snake._speed = 0;
1012754868 0:5fcd72a90b20 618 lcd.clear();
1012754868 0:5fcd72a90b20 619 lcd.printString(" set success!",0,2);
1012754868 0:5fcd72a90b20 620 lcd.printString(" Press Back!",0,4);
1012754868 0:5fcd72a90b20 621 lcd.refresh();
1012754868 0:5fcd72a90b20 622 }
1012754868 0:5fcd72a90b20 623 else if(c == 2 && pad.check_event(Gamepad::B_PRESSED) == true) {
1012754868 0:5fcd72a90b20 624 snake._speed = 10;
1012754868 0:5fcd72a90b20 625 lcd.clear();
1012754868 0:5fcd72a90b20 626 lcd.printString(" set success!",0,2);
1012754868 0:5fcd72a90b20 627 lcd.printString(" Press Back!",0,4);
1012754868 0:5fcd72a90b20 628 lcd.refresh();
1012754868 0:5fcd72a90b20 629 }
1012754868 0:5fcd72a90b20 630 else if(c == 3 && pad.check_event(Gamepad::B_PRESSED) == true) {
1012754868 0:5fcd72a90b20 631 snake._speed = 50;
1012754868 0:5fcd72a90b20 632 lcd.clear();
1012754868 0:5fcd72a90b20 633 lcd.printString(" set success",0,2);
1012754868 0:5fcd72a90b20 634 lcd.printString(" Press Back!",0,4);
1012754868 0:5fcd72a90b20 635 lcd.refresh();
1012754868 0:5fcd72a90b20 636 }
1012754868 0:5fcd72a90b20 637 if(pad.check_event(Gamepad::BACK_PRESSED) == true){
1012754868 0:5fcd72a90b20 638 IsCheck = true;
1012754868 0:5fcd72a90b20 639 }
1012754868 0:5fcd72a90b20 640 }
1012754868 0:5fcd72a90b20 641
1012754868 0:5fcd72a90b20 642 if(pad.check_event(Gamepad::BACK_PRESSED) == true){
1012754868 0:5fcd72a90b20 643 break;
1012754868 0:5fcd72a90b20 644 }
1012754868 0:5fcd72a90b20 645 }
1012754868 0:5fcd72a90b20 646
1012754868 0:5fcd72a90b20 647 }
1012754868 0:5fcd72a90b20 648 if(d == S && q == 1){
1012754868 0:5fcd72a90b20 649 lcd.clear();
1012754868 0:5fcd72a90b20 650 lcd.printString(" Menu",0,0);
1012754868 0:5fcd72a90b20 651 lcd.printString(" A to set",0,1);
1012754868 0:5fcd72a90b20 652 lcd.printString("set speed",0,2);
1012754868 0:5fcd72a90b20 653 lcd.printString("history <",0,3);
1012754868 0:5fcd72a90b20 654 lcd.printString(" press start",0,5);
1012754868 0:5fcd72a90b20 655 lcd.refresh();
1012754868 0:5fcd72a90b20 656 q = 2;
1012754868 0:5fcd72a90b20 657 }
1012754868 0:5fcd72a90b20 658 if(d == S && q == 2){
1012754868 0:5fcd72a90b20 659 lcd.clear();
1012754868 0:5fcd72a90b20 660 lcd.printString(" Menu",0,0);
1012754868 0:5fcd72a90b20 661 lcd.printString(" A to set",0,1);
1012754868 0:5fcd72a90b20 662 lcd.printString("set speed",0,2);
1012754868 0:5fcd72a90b20 663 lcd.printString("history <",0,3);
1012754868 0:5fcd72a90b20 664 lcd.printString(" press start",0,5);
1012754868 0:5fcd72a90b20 665 lcd.refresh();
1012754868 0:5fcd72a90b20 666 q = 2;
1012754868 0:5fcd72a90b20 667 }
1012754868 0:5fcd72a90b20 668 if(d == N && q == 2) {
1012754868 0:5fcd72a90b20 669 lcd.clear();
1012754868 0:5fcd72a90b20 670 lcd.printString(" Menu",0,0);
1012754868 0:5fcd72a90b20 671 lcd.printString(" A to set",0,1);
1012754868 0:5fcd72a90b20 672 lcd.printString("set speed <",0,2);
1012754868 0:5fcd72a90b20 673 lcd.printString("history ",0,3);
1012754868 0:5fcd72a90b20 674 lcd.printString(" press start",0,5);
1012754868 0:5fcd72a90b20 675 lcd.refresh();
1012754868 0:5fcd72a90b20 676 q = 1;
1012754868 0:5fcd72a90b20 677 }
1012754868 0:5fcd72a90b20 678
1012754868 0:5fcd72a90b20 679 if(q == 2 && pad.check_event(Gamepad::A_PRESSED) == true) {
1012754868 0:5fcd72a90b20 680 lcd.clear();
1012754868 0:5fcd72a90b20 681 sprintf(_Buffer,"%2d",snake.Highest_score);
1012754868 2:1234b0a1a51d 682 lcd.printString(_Buffer,34,3);
1012754868 0:5fcd72a90b20 683 lcd.printString("Highest score",0,1);
1012754868 2:1234b0a1a51d 684 lcd.printString(" Press Back",0,5);
1012754868 0:5fcd72a90b20 685 lcd.refresh();
1012754868 0:5fcd72a90b20 686 while(pad.check_event(Gamepad::BACK_PRESSED) == false){
1012754868 0:5fcd72a90b20 687
1012754868 0:5fcd72a90b20 688 }
1012754868 0:5fcd72a90b20 689 lcd.clear();
1012754868 0:5fcd72a90b20 690 lcd.printString("MOVE joystick",0,1);
1012754868 0:5fcd72a90b20 691 lcd.refresh();
1012754868 0:5fcd72a90b20 692 }
1012754868 0:5fcd72a90b20 693
1012754868 0:5fcd72a90b20 694 pad.leds_on();
1012754868 0:5fcd72a90b20 695 wait(0.1);
1012754868 0:5fcd72a90b20 696 pad.leds_off();
1012754868 0:5fcd72a90b20 697 wait(0.1);
1012754868 0:5fcd72a90b20 698 }
1012754868 0:5fcd72a90b20 699
1012754868 0:5fcd72a90b20 700
1012754868 0:5fcd72a90b20 701
1012754868 0:5fcd72a90b20 702 lcd.clear();
1012754868 0:5fcd72a90b20 703 lcd.printString(" start!!!",0,1);
1012754868 0:5fcd72a90b20 704 lcd.printString("Enjoy yourself",0,3);
1012754868 0:5fcd72a90b20 705 lcd.refresh();
1012754868 0:5fcd72a90b20 706 wait(2);
1012754868 0:5fcd72a90b20 707 }
1012754868 0:5fcd72a90b20 708
1012754868 0:5fcd72a90b20 709
1012754868 0:5fcd72a90b20 710
1012754868 0:5fcd72a90b20 711