ELEC2645 (2018/19) / Mbed 2 deprecated el17szs

Dependencies:   mbed

Committer:
shahidsajid
Date:
Mon Apr 22 19:57:01 2019 +0000
Revision:
11:f481ec642cc5
Parent:
10:6c6e09023942
Child:
12:954da4f4e565
Fixed play_game bug;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shahidsajid 10:6c6e09023942 1 #include "Cricket.h"
shahidsajid 10:6c6e09023942 2
shahidsajid 10:6c6e09023942 3
shahidsajid 10:6c6e09023942 4 Cricket::Cricket()
shahidsajid 10:6c6e09023942 5 {
shahidsajid 10:6c6e09023942 6
shahidsajid 10:6c6e09023942 7 }
shahidsajid 10:6c6e09023942 8
shahidsajid 10:6c6e09023942 9 Cricket::~Cricket()
shahidsajid 10:6c6e09023942 10 {
shahidsajid 10:6c6e09023942 11
shahidsajid 10:6c6e09023942 12 }
shahidsajid 10:6c6e09023942 13
shahidsajid 10:6c6e09023942 14 void Cricket::init()
shahidsajid 10:6c6e09023942 15 {
shahidsajid 10:6c6e09023942 16 bat.init(4,5);
shahidsajid 10:6c6e09023942 17 ball.init(2,3);
shahidsajid 10:6c6e09023942 18 float f;
shahidsajid 10:6c6e09023942 19 new_round=0;
shahidsajid 10:6c6e09023942 20 }
shahidsajid 11:f481ec642cc5 21 void Cricket::game(N5110 &lcd,Gamepad &pad){
shahidsajid 10:6c6e09023942 22 if (new_round==0){
shahidsajid 10:6c6e09023942 23 //ball.reset();
shahidsajid 10:6c6e09023942 24 set_field(lcd);
shahidsajid 11:f481ec642cc5 25 play_game(lcd,pad);
shahidsajid 10:6c6e09023942 26 }
shahidsajid 10:6c6e09023942 27 /*
shahidsajid 10:6c6e09023942 28 else
shahidsajid 10:6c6e09023942 29 {
shahidsajid 11:f481ec642cc5 30 play_game(lcd,pad);
shahidsajid 10:6c6e09023942 31 }
shahidsajid 10:6c6e09023942 32 */
shahidsajid 10:6c6e09023942 33
shahidsajid 10:6c6e09023942 34 }
shahidsajid 11:f481ec642cc5 35
shahidsajid 11:f481ec642cc5 36 void Cricket::play_game(N5110 &lcd,Gamepad &pad){
shahidsajid 11:f481ec642cc5 37 int check_hit=bat.get_hitBall();
shahidsajid 11:f481ec642cc5 38 int check_bowled=ball.ball_start();
shahidsajid 11:f481ec642cc5 39 printf("BOWLED %i ",check_bowled);
shahidsajid 11:f481ec642cc5 40 }
shahidsajid 10:6c6e09023942 41 /*
shahidsajid 10:6c6e09023942 42 void Cricket::update_game(int checkHit, Direction dir){
shahidsajid 10:6c6e09023942 43 int check_bowled=
shahidsajid 10:6c6e09023942 44 if (direction_set!=1){
shahidsajid 10:6c6e09023942 45 ball_direction=dir;
shahidsajid 10:6c6e09023942 46 direction_set=1;
shahidsajid 10:6c6e09023942 47 }
shahidsajid 10:6c6e09023942 48 if (checkHit ==1 && ballHit!=1){
shahidsajid 10:6c6e09023942 49 ballHit=1;
shahidsajid 10:6c6e09023942 50 }
shahidsajid 10:6c6e09023942 51 if(bowled==1 && ballHit==1){
shahidsajid 10:6c6e09023942 52 printf("TEST\n");
shahidsajid 10:6c6e09023942 53 for (int i=0;i<fieldersCount;i++){
shahidsajid 10:6c6e09023942 54 if(ball_direction==fielder[i].dir){
shahidsajid 10:6c6e09023942 55 printf("x=%i y=%i \n",_x,_y);
shahidsajid 10:6c6e09023942 56 if (!(_y == fielder[i].y )){
shahidsajid 10:6c6e09023942 57 _y--;
shahidsajid 10:6c6e09023942 58 }
shahidsajid 10:6c6e09023942 59 if (_x!=fielder[i].x){
shahidsajid 10:6c6e09023942 60 _x++;
shahidsajid 10:6c6e09023942 61 }
shahidsajid 10:6c6e09023942 62 printf("HERE");
shahidsajid 10:6c6e09023942 63 }
shahidsajid 10:6c6e09023942 64 }
shahidsajid 10:6c6e09023942 65
shahidsajid 10:6c6e09023942 66 }
shahidsajid 10:6c6e09023942 67 }
shahidsajid 10:6c6e09023942 68 */
shahidsajid 10:6c6e09023942 69 void Cricket::draw(N5110 &lcd){
shahidsajid 10:6c6e09023942 70 lcd.drawCircle((WIDTH/2),HEIGHT/2,23,FILL_TRANSPARENT);
shahidsajid 10:6c6e09023942 71 lcd.drawRect(37,11,12,30,FILL_TRANSPARENT);
shahidsajid 10:6c6e09023942 72 ball.draw(lcd);
shahidsajid 10:6c6e09023942 73 draw_field(lcd);
shahidsajid 10:6c6e09023942 74 bat.draw(lcd);
shahidsajid 10:6c6e09023942 75 }
shahidsajid 10:6c6e09023942 76
shahidsajid 10:6c6e09023942 77
shahidsajid 10:6c6e09023942 78 void Cricket::draw_field(N5110 &lcd){
shahidsajid 10:6c6e09023942 79 lcd.drawCircle(field[0].x,field[0].y,2,FILL_BLACK);
shahidsajid 10:6c6e09023942 80 lcd.drawCircle(field[1].x,field[1].y,2,FILL_BLACK);
shahidsajid 10:6c6e09023942 81 lcd.drawCircle(field[2].x,field[2].y,2,FILL_BLACK);
shahidsajid 10:6c6e09023942 82 lcd.drawCircle(field[3].x,field[3].y,2,FILL_BLACK);
shahidsajid 10:6c6e09023942 83 }
shahidsajid 10:6c6e09023942 84 void Cricket::set_field(N5110 &lcd){
shahidsajid 10:6c6e09023942 85 int d=0;
shahidsajid 10:6c6e09023942 86 int fieldersCount=0;
shahidsajid 10:6c6e09023942 87 int pos=0;
shahidsajid 10:6c6e09023942 88 int i=0;
shahidsajid 10:6c6e09023942 89 int continueCount=0;
shahidsajid 10:6c6e09023942 90 srand(time(NULL));
shahidsajid 10:6c6e09023942 91 while (fieldersCount!=5){
shahidsajid 10:6c6e09023942 92 d = 1+ rand() % 6;
shahidsajid 10:6c6e09023942 93 printf("DIRECTION %i\n",d);
shahidsajid 10:6c6e09023942 94 pos=rand()%2;
shahidsajid 10:6c6e09023942 95 for (int j=0;j<10;j++){
shahidsajid 10:6c6e09023942 96 if (fieldNumbers[j]==d){
shahidsajid 10:6c6e09023942 97 printf("CHECK");
shahidsajid 10:6c6e09023942 98 continueCount=1;
shahidsajid 10:6c6e09023942 99 }
shahidsajid 10:6c6e09023942 100 }
shahidsajid 10:6c6e09023942 101 if (continueCount==1){
shahidsajid 10:6c6e09023942 102 printf("IM HERE");
shahidsajid 10:6c6e09023942 103 continueCount=0;
shahidsajid 10:6c6e09023942 104 continue;
shahidsajid 10:6c6e09023942 105 }
shahidsajid 10:6c6e09023942 106 printf("YESS");
shahidsajid 10:6c6e09023942 107 if (d==1){ //NW
shahidsajid 10:6c6e09023942 108 if (pos==1){
shahidsajid 10:6c6e09023942 109 field[i].dir=NW;
shahidsajid 10:6c6e09023942 110 field[i].x=30;
shahidsajid 10:6c6e09023942 111 field[i].y=9;
shahidsajid 10:6c6e09023942 112 field[i].position=1;
shahidsajid 10:6c6e09023942 113 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 114 i++;
shahidsajid 10:6c6e09023942 115 fieldersCount++;
shahidsajid 10:6c6e09023942 116 }
shahidsajid 10:6c6e09023942 117 else{
shahidsajid 10:6c6e09023942 118 field[i].dir=NW;
shahidsajid 10:6c6e09023942 119 field[i].x=25;
shahidsajid 10:6c6e09023942 120 field[i].y=2;
shahidsajid 10:6c6e09023942 121 field[i].position=0;
shahidsajid 10:6c6e09023942 122 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 123 i++;
shahidsajid 10:6c6e09023942 124 fieldersCount++;
shahidsajid 10:6c6e09023942 125 }
shahidsajid 10:6c6e09023942 126 }
shahidsajid 10:6c6e09023942 127
shahidsajid 10:6c6e09023942 128
shahidsajid 10:6c6e09023942 129 if (d==2){ //NE
shahidsajid 10:6c6e09023942 130 if (pos==1){
shahidsajid 10:6c6e09023942 131 field[i].dir=NE;
shahidsajid 10:6c6e09023942 132 field[i].x=55;
shahidsajid 10:6c6e09023942 133 field[i].y=9;
shahidsajid 10:6c6e09023942 134 field[i].position=1;
shahidsajid 10:6c6e09023942 135 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 136 i++;
shahidsajid 10:6c6e09023942 137 fieldersCount++;
shahidsajid 10:6c6e09023942 138 }
shahidsajid 10:6c6e09023942 139 else{
shahidsajid 10:6c6e09023942 140 field[i].dir=NE;
shahidsajid 10:6c6e09023942 141 field[i].x=65;
shahidsajid 10:6c6e09023942 142 field[i].y=2;
shahidsajid 10:6c6e09023942 143 field[i].position=0;
shahidsajid 10:6c6e09023942 144 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 145 i++;
shahidsajid 10:6c6e09023942 146 fieldersCount++;
shahidsajid 10:6c6e09023942 147 }
shahidsajid 10:6c6e09023942 148 }
shahidsajid 10:6c6e09023942 149
shahidsajid 10:6c6e09023942 150
shahidsajid 10:6c6e09023942 151 if (d==3){ //SW
shahidsajid 10:6c6e09023942 152 if (pos==1){
shahidsajid 10:6c6e09023942 153 field[i].dir=SW;
shahidsajid 10:6c6e09023942 154 field[i].x=33;
shahidsajid 10:6c6e09023942 155 field[i].y=40;
shahidsajid 10:6c6e09023942 156 field[i].position=1;
shahidsajid 10:6c6e09023942 157 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 158 i++;
shahidsajid 10:6c6e09023942 159 fieldersCount++;
shahidsajid 10:6c6e09023942 160 }
shahidsajid 10:6c6e09023942 161
shahidsajid 10:6c6e09023942 162 else{
shahidsajid 10:6c6e09023942 163 field[i].dir=SW;
shahidsajid 10:6c6e09023942 164 field[i].x=25;
shahidsajid 10:6c6e09023942 165 field[i].y=44;
shahidsajid 10:6c6e09023942 166 field[i].position=0;
shahidsajid 10:6c6e09023942 167 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 168 i++;
shahidsajid 10:6c6e09023942 169 fieldersCount++;
shahidsajid 10:6c6e09023942 170 }
shahidsajid 10:6c6e09023942 171 }
shahidsajid 10:6c6e09023942 172
shahidsajid 10:6c6e09023942 173 if (d==4){ //SE
shahidsajid 10:6c6e09023942 174 if (pos==1){
shahidsajid 10:6c6e09023942 175 field[i].dir=SE;
shahidsajid 10:6c6e09023942 176 field[i].x=55;
shahidsajid 10:6c6e09023942 177 field[i].y=40;
shahidsajid 10:6c6e09023942 178 field[i].position=1;
shahidsajid 10:6c6e09023942 179 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 180 i++;
shahidsajid 10:6c6e09023942 181 fieldersCount++;
shahidsajid 10:6c6e09023942 182 }
shahidsajid 10:6c6e09023942 183 else{
shahidsajid 10:6c6e09023942 184 field[i].dir=SE;
shahidsajid 10:6c6e09023942 185 field[i].x=65;
shahidsajid 10:6c6e09023942 186 field[i].y=44;
shahidsajid 10:6c6e09023942 187 field[i].position=0;
shahidsajid 10:6c6e09023942 188 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 189 i++;
shahidsajid 10:6c6e09023942 190 fieldersCount++;
shahidsajid 10:6c6e09023942 191 }
shahidsajid 10:6c6e09023942 192 }
shahidsajid 10:6c6e09023942 193
shahidsajid 10:6c6e09023942 194 if (d==5){ //W
shahidsajid 10:6c6e09023942 195 if (pos==1){
shahidsajid 10:6c6e09023942 196 field[i].dir=W;
shahidsajid 10:6c6e09023942 197 field[i].x=3;
shahidsajid 10:6c6e09023942 198 field[i].y=25;
shahidsajid 10:6c6e09023942 199 field[i].position=1;
shahidsajid 10:6c6e09023942 200 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 201 i++;
shahidsajid 10:6c6e09023942 202 fieldersCount++;
shahidsajid 10:6c6e09023942 203 }
shahidsajid 10:6c6e09023942 204 else{
shahidsajid 10:6c6e09023942 205 field[i].dir=W;
shahidsajid 10:6c6e09023942 206 field[i].x=25;
shahidsajid 10:6c6e09023942 207 field[i].y=25;
shahidsajid 10:6c6e09023942 208 field[i].position=0;
shahidsajid 10:6c6e09023942 209 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 210 i++;
shahidsajid 10:6c6e09023942 211 fieldersCount++;
shahidsajid 10:6c6e09023942 212 }
shahidsajid 10:6c6e09023942 213 }
shahidsajid 10:6c6e09023942 214
shahidsajid 10:6c6e09023942 215 if (d==6){ //W
shahidsajid 10:6c6e09023942 216 if (pos==1){
shahidsajid 10:6c6e09023942 217 field[i].dir=E;
shahidsajid 10:6c6e09023942 218 field[i].x=80;
shahidsajid 10:6c6e09023942 219 field[i].y=20;
shahidsajid 10:6c6e09023942 220 field[i].position=1;
shahidsajid 10:6c6e09023942 221 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 222 i++;
shahidsajid 10:6c6e09023942 223 fieldersCount++;
shahidsajid 10:6c6e09023942 224 }
shahidsajid 10:6c6e09023942 225 else{
shahidsajid 10:6c6e09023942 226 field[i].dir=E;
shahidsajid 10:6c6e09023942 227 field[i].x=50;
shahidsajid 10:6c6e09023942 228 field[i].y=20;
shahidsajid 10:6c6e09023942 229 field[i].position=1;
shahidsajid 10:6c6e09023942 230 fieldNumbers[i]=d;
shahidsajid 10:6c6e09023942 231 i++;
shahidsajid 10:6c6e09023942 232 fieldersCount++;
shahidsajid 10:6c6e09023942 233 }
shahidsajid 10:6c6e09023942 234
shahidsajid 10:6c6e09023942 235 }
shahidsajid 10:6c6e09023942 236
shahidsajid 10:6c6e09023942 237 }
shahidsajid 10:6c6e09023942 238
shahidsajid 10:6c6e09023942 239
shahidsajid 10:6c6e09023942 240 }