ELEC2645 (2018/19) / Mbed 2 deprecated el17szs

Dependencies:   mbed

Committer:
shahidsajid
Date:
Tue Apr 30 13:17:14 2019 +0000
Revision:
21:a0904159e183
Parent:
Bat/Bat.cpp@20:9d21599fe350
Child:
22:69d7fe739872
Child:
24:23fd6b451db7
Created text for the rules and controls menus;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shahidsajid 21:a0904159e183 1 #include "UX.h"
shahidsajid 4:55a0509c4874 2
shahidsajid 4:55a0509c4874 3
shahidsajid 21:a0904159e183 4 UX::UX()
shahidsajid 4:55a0509c4874 5 {
shahidsajid 4:55a0509c4874 6
shahidsajid 4:55a0509c4874 7 }
shahidsajid 4:55a0509c4874 8
shahidsajid 21:a0904159e183 9 UX::~UX()
shahidsajid 4:55a0509c4874 10 {
shahidsajid 4:55a0509c4874 11
shahidsajid 4:55a0509c4874 12 }
shahidsajid 21:a0904159e183 13 void UX::init()
shahidsajid 6:3e50f2cf4366 14 {
shahidsajid 6:3e50f2cf4366 15 batPad.init();
shahidsajid 20:9d21599fe350 16 _button_pressed=false;
shahidsajid 4:55a0509c4874 17 }
shahidsajid 21:a0904159e183 18 int UX::get_a_pressed(){
shahidsajid 21:a0904159e183 19 int _a_pressed=0;
shahidsajid 21:a0904159e183 20 if (batPad.check_event(Gamepad::A_PRESSED) == true){
shahidsajid 21:a0904159e183 21 _a_pressed=1;
shahidsajid 21:a0904159e183 22 }
shahidsajid 21:a0904159e183 23 return _a_pressed;
shahidsajid 13:924891519a95 24 }
shahidsajid 21:a0904159e183 25 int UX::get_l_pressed(){
shahidsajid 21:a0904159e183 26 int _l_pressed=0;
shahidsajid 13:924891519a95 27 if (batPad.check_event(Gamepad::L_PRESSED) == true){
shahidsajid 15:81a3aaf52647 28 //badPad.tone(750.0,0.1);
shahidsajid 21:a0904159e183 29 _l_pressed=1;
shahidsajid 13:924891519a95 30 }
shahidsajid 21:a0904159e183 31 return _l_pressed;
shahidsajid 6:3e50f2cf4366 32 }
shahidsajid 21:a0904159e183 33 void UX::first_menu(N5110 &menu_lcd,Gamepad &pad){
shahidsajid 15:81a3aaf52647 34 menu_lcd.clear();
shahidsajid 15:81a3aaf52647 35 menu_lcd.printString("HERO CRICKET",5,1);
shahidsajid 15:81a3aaf52647 36 menu_lcd.refresh();
shahidsajid 21:a0904159e183 37 menu_lcd.printString(" A Game By",5,2);
shahidsajid 21:a0904159e183 38 menu_lcd.printString( " el17szs",5,3);
shahidsajid 15:81a3aaf52647 39 wait(1);
shahidsajid 15:81a3aaf52647 40 menu_lcd.refresh();
shahidsajid 15:81a3aaf52647 41 menu_lcd.printString("PRESS START..",1,5);
shahidsajid 15:81a3aaf52647 42 wait(1);
shahidsajid 15:81a3aaf52647 43 menu_lcd.refresh();
shahidsajid 15:81a3aaf52647 44 while (batPad.check_event(Gamepad::START_PRESSED) == false) {
shahidsajid 15:81a3aaf52647 45 printf("2");
shahidsajid 15:81a3aaf52647 46 batPad.leds_on();
shahidsajid 15:81a3aaf52647 47 wait(0.1);
shahidsajid 15:81a3aaf52647 48 batPad.leds_off();
shahidsajid 15:81a3aaf52647 49 wait(0.1);
shahidsajid 15:81a3aaf52647 50 }
shahidsajid 15:81a3aaf52647 51 second_menu(menu_lcd);
shahidsajid 15:81a3aaf52647 52 batPad.leds_off();
shahidsajid 15:81a3aaf52647 53 }
shahidsajid 21:a0904159e183 54 void UX::second_menu(N5110 &menu_lcd){
shahidsajid 20:9d21599fe350 55 while (_button_pressed==false){
shahidsajid 21:a0904159e183 56 menu_options(menu_lcd);
shahidsajid 21:a0904159e183 57 if (batPad.check_event(Gamepad::A_PRESSED) == true){
shahidsajid 21:a0904159e183 58 _button_pressed=true;
shahidsajid 21:a0904159e183 59 }
shahidsajid 21:a0904159e183 60 if (batPad.check_event(Gamepad::B_PRESSED) == true){
shahidsajid 21:a0904159e183 61 rules_menu(menu_lcd);
shahidsajid 21:a0904159e183 62 }
shahidsajid 21:a0904159e183 63 if (batPad.check_event(Gamepad::X_PRESSED) == true){
shahidsajid 21:a0904159e183 64 controls_menu(menu_lcd);
shahidsajid 21:a0904159e183 65
shahidsajid 21:a0904159e183 66 }
shahidsajid 21:a0904159e183 67
shahidsajid 21:a0904159e183 68 }
shahidsajid 21:a0904159e183 69
shahidsajid 21:a0904159e183 70 }
shahidsajid 21:a0904159e183 71 void UX::menu_options(N5110 &menu_lcd){
shahidsajid 20:9d21599fe350 72 batPad.leds_off();
shahidsajid 20:9d21599fe350 73 menu_lcd.clear();
shahidsajid 21:a0904159e183 74 menu_lcd.setContrast(0.5);
shahidsajid 20:9d21599fe350 75 menu_lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
shahidsajid 20:9d21599fe350 76 menu_lcd.printString("START GAME",2,1);
shahidsajid 20:9d21599fe350 77 menu_lcd.printString("A",70,1);
shahidsajid 20:9d21599fe350 78 menu_lcd.drawCircle(72,11,5,FILL_TRANSPARENT);
shahidsajid 20:9d21599fe350 79 menu_lcd.printString("RULES",2,3);
shahidsajid 20:9d21599fe350 80 menu_lcd.printString("B",70,3);
shahidsajid 20:9d21599fe350 81 menu_lcd.drawCircle(72,27,5,FILL_TRANSPARENT);
shahidsajid 20:9d21599fe350 82 menu_lcd.printString("CONTROLS",2,5);
shahidsajid 21:a0904159e183 83 menu_lcd.printString("X",70,5);
shahidsajid 20:9d21599fe350 84 menu_lcd.drawCircle(72,42,5,FILL_TRANSPARENT);
shahidsajid 20:9d21599fe350 85 menu_lcd.refresh();
shahidsajid 15:81a3aaf52647 86 }
shahidsajid 21:a0904159e183 87 void UX::rules_menu(N5110 &menu_lcd){
shahidsajid 21:a0904159e183 88 menu_lcd.clear();
shahidsajid 21:a0904159e183 89 menu_lcd.setContrast(0.5);
shahidsajid 21:a0904159e183 90 menu_lcd.printString("Hit the ball",0,0);
shahidsajid 21:a0904159e183 91 menu_lcd.printString("to score runs",0,1);
shahidsajid 21:a0904159e183 92 menu_lcd.printString("Ball is bolwed",0,3);
shahidsajid 21:a0904159e183 93 menu_lcd.printString("with a tone",0,4);
shahidsajid 21:a0904159e183 94 menu_lcd.refresh();
shahidsajid 21:a0904159e183 95 wait(5);
shahidsajid 21:a0904159e183 96
shahidsajid 21:a0904159e183 97 menu_lcd.clear();
shahidsajid 21:a0904159e183 98 menu_lcd.setContrast(0.5);
shahidsajid 21:a0904159e183 99 menu_lcd.printString("There are 5",0,0);
shahidsajid 21:a0904159e183 100 menu_lcd.printString("fielders in",0,1);
shahidsajid 21:a0904159e183 101 menu_lcd.printString("the ",0,1);
shahidsajid 21:a0904159e183 102 menu_lcd.printString("marked by",0,3);
shahidsajid 21:a0904159e183 103 menu_lcd.printString("white circles",0,4);
shahidsajid 21:a0904159e183 104 menu_lcd.refresh();
shahidsajid 21:a0904159e183 105 wait(5);
shahidsajid 21:a0904159e183 106
shahidsajid 21:a0904159e183 107 menu_lcd.clear();
shahidsajid 21:a0904159e183 108 menu_lcd.setContrast(0.5);
shahidsajid 21:a0904159e183 109 menu_lcd.printString("SCORING RUNS",0,0);
shahidsajid 21:a0904159e183 110 menu_lcd.printString("Lofted Hit:",0,2);
shahidsajid 21:a0904159e183 111 menu_lcd.printString("Hit In between ",0,3);
shahidsajid 21:a0904159e183 112 menu_lcd.printString("the fielders ",0,4);
shahidsajid 21:a0904159e183 113 menu_lcd.printString("is 6 runs",0,5);
shahidsajid 21:a0904159e183 114 menu_lcd.refresh();
shahidsajid 21:a0904159e183 115 wait(5);
shahidsajid 21:a0904159e183 116
shahidsajid 21:a0904159e183 117
shahidsajid 21:a0904159e183 118
shahidsajid 21:a0904159e183 119 menu_lcd.clear();
shahidsajid 21:a0904159e183 120 menu_lcd.setContrast(0.5);
shahidsajid 21:a0904159e183 121 menu_lcd.printString("SCORING RUNS",0,0);
shahidsajid 21:a0904159e183 122 menu_lcd.printString("Normal Hit:",0,2);
shahidsajid 21:a0904159e183 123 menu_lcd.printString("Hit In between ",0,3);
shahidsajid 21:a0904159e183 124 menu_lcd.printString("the fielders ",0,4);
shahidsajid 21:a0904159e183 125 menu_lcd.printString("is 4 runs",0,5);
shahidsajid 21:a0904159e183 126 menu_lcd.refresh();
shahidsajid 21:a0904159e183 127 wait(5);
shahidsajid 21:a0904159e183 128 menu_lcd.clear();
shahidsajid 21:a0904159e183 129 menu_lcd.setContrast(0.5);
shahidsajid 21:a0904159e183 130 menu_lcd.printString("SCORING RUNS",0,0);
shahidsajid 21:a0904159e183 131 menu_lcd.printString("Normal Hit:",0,2);
shahidsajid 21:a0904159e183 132 menu_lcd.printString("Hit to fielder ",0,3);
shahidsajid 21:a0904159e183 133 menu_lcd.printString("inside circle ",0,4);
shahidsajid 21:a0904159e183 134 menu_lcd.printString("is 1 run",0,5);
shahidsajid 21:a0904159e183 135 menu_lcd.refresh();
shahidsajid 21:a0904159e183 136 wait(5);
shahidsajid 21:a0904159e183 137 menu_lcd.clear();
shahidsajid 21:a0904159e183 138 menu_lcd.printString("SCORING RUNS",0,0);
shahidsajid 21:a0904159e183 139 menu_lcd.printString("Normal Hit:",0,2);
shahidsajid 21:a0904159e183 140 menu_lcd.printString("Hit to fielder ",0,3);
shahidsajid 21:a0904159e183 141 menu_lcd.printString("out of circle ",0,4);
shahidsajid 21:a0904159e183 142 menu_lcd.printString("is 2 runs",0,5);
shahidsajid 21:a0904159e183 143 menu_lcd.refresh();
shahidsajid 21:a0904159e183 144 wait(5);
shahidsajid 21:a0904159e183 145
shahidsajid 21:a0904159e183 146 menu_lcd.clear();
shahidsajid 21:a0904159e183 147 menu_lcd.printString("GETTING OUT",0,0);
shahidsajid 21:a0904159e183 148 menu_lcd.printString("CAUGHT:",0,2);
shahidsajid 21:a0904159e183 149 menu_lcd.printString("A Lofted Hit",0,3);
shahidsajid 21:a0904159e183 150 menu_lcd.printString("to a fiedler",0,4);
shahidsajid 21:a0904159e183 151 menu_lcd.printString("is OUT",0,5);
shahidsajid 21:a0904159e183 152 menu_lcd.refresh();
shahidsajid 21:a0904159e183 153 wait(5);
shahidsajid 21:a0904159e183 154 menu_lcd.clear();
shahidsajid 21:a0904159e183 155 menu_lcd.printString("GETTING OUT",0,0);
shahidsajid 21:a0904159e183 156 menu_lcd.printString("BOWLED:",0,2);
shahidsajid 21:a0904159e183 157 menu_lcd.printString("If you do ",0,3);
shahidsajid 21:a0904159e183 158 menu_lcd.printString("not hit ball",0,4);
shahidsajid 21:a0904159e183 159 menu_lcd.printString("It is OUT",0,5);
shahidsajid 21:a0904159e183 160 menu_lcd.refresh();
shahidsajid 21:a0904159e183 161 wait(5);
shahidsajid 21:a0904159e183 162 menu_lcd.clear();
shahidsajid 21:a0904159e183 163 menu_lcd.printString("10 balls are",0,1);
shahidsajid 21:a0904159e183 164 menu_lcd.printString("given to score",0,2);
shahidsajid 21:a0904159e183 165 menu_lcd.printString("a set target",0,3);
shahidsajid 21:a0904159e183 166 menu_lcd.printString("GOOD LUCK!!!",0,4);
shahidsajid 21:a0904159e183 167 menu_lcd.refresh();
shahidsajid 21:a0904159e183 168 wait(5);
shahidsajid 15:81a3aaf52647 169 }
shahidsajid 21:a0904159e183 170 void UX::controls_menu(N5110 &menu_lcd){
shahidsajid 21:a0904159e183 171 menu_lcd.clear();
shahidsajid 21:a0904159e183 172 menu_lcd.printString("Hold down A to ",0,2);
shahidsajid 21:a0904159e183 173 menu_lcd.printString("hit the ball",0,3);
shahidsajid 21:a0904159e183 174 menu_lcd.refresh();
shahidsajid 21:a0904159e183 175 wait(5);
shahidsajid 21:a0904159e183 176 menu_lcd.clear();
shahidsajid 21:a0904159e183 177 menu_lcd.printString("Hold down A ",0,1);
shahidsajid 21:a0904159e183 178 menu_lcd.printString("and L for ",0,2);
shahidsajid 21:a0904159e183 179 menu_lcd.printString("a lofted hit",0,3);
shahidsajid 21:a0904159e183 180 menu_lcd.refresh();
shahidsajid 21:a0904159e183 181 wait(5);
shahidsajid 21:a0904159e183 182 menu_lcd.clear();
shahidsajid 21:a0904159e183 183 menu_lcd.printString("Move joystick to",0,1);
shahidsajid 21:a0904159e183 184 menu_lcd.printString("the direction",0,2);
shahidsajid 21:a0904159e183 185 menu_lcd.printString("you want to",0,3);
shahidsajid 21:a0904159e183 186 menu_lcd.printString("hit the ball",0,4);
shahidsajid 21:a0904159e183 187 menu_lcd.refresh();
shahidsajid 21:a0904159e183 188 wait(5);
shahidsajid 21:a0904159e183 189 }
shahidsajid 21:a0904159e183 190 void UX::game_over_menu(N5110 &menu_lcd,int option){
shahidsajid 18:a260ce8db9e7 191 if (option==1){
shahidsajid 18:a260ce8db9e7 192 menu_lcd.clear();
shahidsajid 18:a260ce8db9e7 193 menu_lcd.printString("GAME LOST",2,1);
shahidsajid 18:a260ce8db9e7 194 menu_lcd.printString("NO MORE BALLS LEFT",2,3);
shahidsajid 18:a260ce8db9e7 195 menu_lcd.refresh();
shahidsajid 18:a260ce8db9e7 196 wait(5);
shahidsajid 18:a260ce8db9e7 197 }
shahidsajid 19:e1ded5acb64a 198 if (option==2){
shahidsajid 19:e1ded5acb64a 199 menu_lcd.clear();
shahidsajid 19:e1ded5acb64a 200 menu_lcd.printString("GAME LOST",2,1);
shahidsajid 19:e1ded5acb64a 201 menu_lcd.printString("BOWLED",2,3);
shahidsajid 19:e1ded5acb64a 202 menu_lcd.refresh();
shahidsajid 19:e1ded5acb64a 203 wait(5);
shahidsajid 19:e1ded5acb64a 204 }
shahidsajid 19:e1ded5acb64a 205 if (option==3){
shahidsajid 19:e1ded5acb64a 206 menu_lcd.clear();
shahidsajid 19:e1ded5acb64a 207 menu_lcd.printString("GAME LOST",2,1);
shahidsajid 19:e1ded5acb64a 208 menu_lcd.printString("CAUGHT",2,3);
shahidsajid 19:e1ded5acb64a 209 menu_lcd.refresh();
shahidsajid 19:e1ded5acb64a 210 wait(5);
shahidsajid 19:e1ded5acb64a 211 }
shahidsajid 19:e1ded5acb64a 212
shahidsajid 18:a260ce8db9e7 213 }
shahidsajid 21:a0904159e183 214 void UX::victory_menu(N5110 &menu_lcd){
shahidsajid 18:a260ce8db9e7 215 menu_lcd.clear();
shahidsajid 18:a260ce8db9e7 216 menu_lcd.printString("CONGRATS!!",2,1);
shahidsajid 18:a260ce8db9e7 217 menu_lcd.printString("YOU HAVE WON",2,3);
shahidsajid 18:a260ce8db9e7 218 menu_lcd.refresh();
shahidsajid 18:a260ce8db9e7 219 wait(5);
shahidsajid 18:a260ce8db9e7 220 }
shahidsajid 21:a0904159e183 221 void UX::info_screen(N5110 &menu_lcd, int target){
shahidsajid 18:a260ce8db9e7 222 menu_lcd.clear();
shahidsajid 20:9d21599fe350 223 menu_lcd.printString("YOU ARE GIVEN",2,1);
shahidsajid 20:9d21599fe350 224 menu_lcd.printString("10 BALLS ",3,2);
shahidsajid 19:e1ded5acb64a 225 menu_lcd.refresh();
shahidsajid 20:9d21599fe350 226 wait(0.5);
shahidsajid 18:a260ce8db9e7 227 char buffer[5];
shahidsajid 18:a260ce8db9e7 228 int length=sprintf(buffer,"SCORE %i RUNS",target);
shahidsajid 20:9d21599fe350 229 menu_lcd.printString(buffer,2,4);
shahidsajid 20:9d21599fe350 230 menu_lcd.refresh();
shahidsajid 20:9d21599fe350 231 wait(0.5);
shahidsajid 20:9d21599fe350 232 menu_lcd.printString("GOOD LUCK!!!",0,5);
shahidsajid 18:a260ce8db9e7 233 menu_lcd.refresh();
shahidsajid 19:e1ded5acb64a 234 int i=0;
shahidsajid 20:9d21599fe350 235 /*
shahidsajid 19:e1ded5acb64a 236 while (i<=10){
shahidsajid 19:e1ded5acb64a 237 batPad.leds_on();
shahidsajid 19:e1ded5acb64a 238 wait(0.1);
shahidsajid 19:e1ded5acb64a 239 batPad.leds_off();
shahidsajid 19:e1ded5acb64a 240 wait(0.1);
shahidsajid 19:e1ded5acb64a 241 i++;
shahidsajid 19:e1ded5acb64a 242 }
shahidsajid 20:9d21599fe350 243 */
shahidsajid 19:e1ded5acb64a 244 wait(3);
shahidsajid 19:e1ded5acb64a 245
shahidsajid 18:a260ce8db9e7 246 }
shahidsajid 18:a260ce8db9e7 247