Dependencies:   mbed

Committer:
KaifK
Date:
Sun May 17 17:59:30 2020 +0000
Revision:
8:5ede90f99a27
Parent:
4:08a0ff6668df
Child:
9:e6566d09f087
game files 90% rebuilt levels and scoring + lives systems left :///

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KaifK 3:f86c1cf90d0d 1 #include "Splash.h"
KaifK 3:f86c1cf90d0d 2
KaifK 3:f86c1cf90d0d 3 const int player_fsm[5][20][15] = {
KaifK 3:f86c1cf90d0d 4 { {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 5 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 6 {0,0,0,1,0,0,0,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 7 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 8 {0,1,1,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 9 {0,0,1,1,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 10 {0,0,0,1,1,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 11 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 12 {0,0,0,0,0,1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 13 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 14 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 15 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 16 {0,0,0,0,0,0,1,1,0,0,1,1,0,0},
KaifK 3:f86c1cf90d0d 17 {0,0,0,0,0,0,1,1,1,0,1,1,0,0},
KaifK 3:f86c1cf90d0d 18 {0,0,0,0,0,0,1,0,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 19 {0,0,0,0,0,0,1,0,0,1,0,0,0,0},
KaifK 3:f86c1cf90d0d 20 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 21 {0,0,0,0,0,0,1,0,0,0,0,0,0,0}
KaifK 3:f86c1cf90d0d 22
KaifK 3:f86c1cf90d0d 23 },
KaifK 3:f86c1cf90d0d 24
KaifK 3:f86c1cf90d0d 25 { {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 26 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 27 {0,0,0,1,0,0,0,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 28 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 29 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 30 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 31 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 32 {0,1,1,1,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 33 {0,1,1,1,1,1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 34 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 35 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 36 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 37 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 38 {0,0,0,0,0,0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 39 {0,0,0,0,0,0,1,0,1,1,1,1,1,0},
KaifK 3:f86c1cf90d0d 40 {0,0,0,0,0,0,1,0,0,1,1,1,1,0},
KaifK 3:f86c1cf90d0d 41 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 42 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 43 {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 44 {0,0,0,0,0,0,0,0,0,0,0,0,0,0}
KaifK 3:f86c1cf90d0d 45 },
KaifK 3:f86c1cf90d0d 46 { {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 47 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 48 {0,0,0,1,0,0,0,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 49 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 50 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 51 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 52 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 53 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 54 {0,0,0,0,1,1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 55 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 56 {0,0,1,1,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 57 {0,1,1,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 58 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 59 {0,0,0,0,0,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 60 {0,0,0,0,0,0,1,0,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 61 {0,0,0,0,0,0,1,0,1,1,0,0,0,0},
KaifK 3:f86c1cf90d0d 62 {0,0,0,0,0,0,1,0,0,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 63 {0,0,0,0,0,0,1,0,0,0,1,1,0,0},
KaifK 3:f86c1cf90d0d 64 {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 65 {0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
KaifK 3:f86c1cf90d0d 66
KaifK 3:f86c1cf90d0d 67 { {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 68 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 69 {0,0,0,1,0,0,0,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 70 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 71 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 72 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 73 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 74 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 75 {0,0,0,0,1,1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 76 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 77 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 78 {0,0,0,1,1,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 79 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 80 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 81 {0,0,0,0,0,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 82 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 83 {0,0,0,0,1,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 84 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 85 {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 86 {0,0,0,0,0,0,0,0,0,0,0,0,0,0} },
KaifK 3:f86c1cf90d0d 87
KaifK 3:f86c1cf90d0d 88 { {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 89 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 90 {0,0,0,1,0,0,0,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 91 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 92 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 93 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 94 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 95 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 96 {0,0,0,0,1,1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 97 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 98 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 99 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 100 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 101 {0,0,0,1,1,0,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 102 {0,0,0,0,0,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 103 {0,0,0,0,1,1,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 104 {0,0,0,0,1,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 105 {0,0,0,0,0,0,1,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 106 {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 107 {0,0,0,0,0,0,0,0,0,0,0,0,0,0} }
KaifK 3:f86c1cf90d0d 108
KaifK 3:f86c1cf90d0d 109 };
KaifK 3:f86c1cf90d0d 110 const int letter_S[15][9] = {
KaifK 3:f86c1cf90d0d 111 {0,1,1,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 112 {1,1,1,1,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 113 {1,1,1,1,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 114 {1,1,1,0,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 115 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 116 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 117 {0,0,1,1,1,0,0,0,0},
KaifK 3:f86c1cf90d0d 118 {0,0,0,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 119 {0,0,0,0,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 120 {0,0,0,0,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 121 {1,1,1,0,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 122 {1,1,1,1,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 123 {0,1,1,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 124 {0,0,1,1,1,0,0,0,0},
KaifK 3:f86c1cf90d0d 125 {0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 126
KaifK 3:f86c1cf90d0d 127 };
KaifK 3:f86c1cf90d0d 128 const int letter_h[15][9] = {
KaifK 3:f86c1cf90d0d 129 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 130 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 131 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 132 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 133 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 134 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 135 {1,1,1,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 136 {1,1,1,1,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 137 {1,1,1,1,1,1,1,1,0},
KaifK 3:f86c1cf90d0d 138 {1,1,1,0,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 139 {1,1,1,0,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 140 {1,1,1,0,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 141 {1,1,1,0,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 142 {1,1,1,0,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 143 {0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 144
KaifK 3:f86c1cf90d0d 145 };
KaifK 3:f86c1cf90d0d 146 const int letter_t[15][9] = {
KaifK 3:f86c1cf90d0d 147 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 148 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 149 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 150 {0,1,1,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 151 {0,1,1,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 152 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 153 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 154 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 155 {0,1,1,1,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 156 {0,1,1,1,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 157 {0,1,1,1,0,1,1,1,0},
KaifK 3:f86c1cf90d0d 158 {0,1,1,1,1,1,1,1,0},
KaifK 3:f86c1cf90d0d 159 {0,0,1,1,1,1,1,0,0},
KaifK 3:f86c1cf90d0d 160 {0,0,0,1,1,1,0,0,0},
KaifK 3:f86c1cf90d0d 161 {0,0,0,0,0,0,0,0,0},
KaifK 3:f86c1cf90d0d 162
KaifK 3:f86c1cf90d0d 163 };
KaifK 3:f86c1cf90d0d 164
KaifK 3:f86c1cf90d0d 165 int ball_x = 33;
KaifK 3:f86c1cf90d0d 166 int ball_y = 17;
KaifK 3:f86c1cf90d0d 167
KaifK 3:f86c1cf90d0d 168 Splash::Splash() {}
KaifK 3:f86c1cf90d0d 169
KaifK 3:f86c1cf90d0d 170 Splash::~Splash() {}
KaifK 3:f86c1cf90d0d 171
KaifK 3:f86c1cf90d0d 172 void Splash::displayInfo(N5110 &lcd) {
KaifK 3:f86c1cf90d0d 173 lcd.clear(); //clear screen before starting animation
KaifK 3:f86c1cf90d0d 174 lcd.setContrast(0);
KaifK 3:f86c1cf90d0d 175 //print info
KaifK 3:f86c1cf90d0d 176 lcd.printString("Kaif Kutchwala",1,1);
KaifK 3:f86c1cf90d0d 177 lcd.printString("EL18KK",24,2);
KaifK 3:f86c1cf90d0d 178 lcd.printString("ELEC 2645",16,3);
KaifK 3:f86c1cf90d0d 179 lcd.printString("201267448",15,4);
KaifK 3:f86c1cf90d0d 180 lcd.refresh();
KaifK 3:f86c1cf90d0d 181 //slowly increase contrast to create fade-in animation
KaifK 3:f86c1cf90d0d 182 contrast_slide(lcd);
KaifK 3:f86c1cf90d0d 183 wait(1);
KaifK 3:f86c1cf90d0d 184 lcd.clear(); //clear screen after animation
KaifK 3:f86c1cf90d0d 185 }
KaifK 3:f86c1cf90d0d 186
KaifK 3:f86c1cf90d0d 187 void Splash::playIntro(N5110 &lcd, Ball &ball) {
KaifK 3:f86c1cf90d0d 188 lcd.clear();
KaifK 3:f86c1cf90d0d 189 lcd.setContrast(0);
KaifK 3:f86c1cf90d0d 190 draw_name(lcd,ball);
KaifK 3:f86c1cf90d0d 191 ball.setLocation(ball_x,ball_y,lcd);
KaifK 3:f86c1cf90d0d 192 contrast_slide(lcd);
KaifK 4:08a0ff6668df 193 wait(1);
KaifK 8:5ede90f99a27 194 player_enter_animation(lcd, ball);
KaifK 4:08a0ff6668df 195 kick_animation(lcd, ball);
KaifK 4:08a0ff6668df 196 shot_animation(lcd,ball);
KaifK 4:08a0ff6668df 197 lcd.refresh();
KaifK 4:08a0ff6668df 198 wait(2);
KaifK 4:08a0ff6668df 199 lcd.clear();
KaifK 4:08a0ff6668df 200 }
KaifK 4:08a0ff6668df 201 void Splash::drawLogo(int x, int y, N5110 &lcd, Ball &ball) {
KaifK 4:08a0ff6668df 202 lcd.drawSprite(x,y,15,9,(int*)letter_S);
KaifK 4:08a0ff6668df 203 lcd.drawSprite((x+9),y,15,9,(int*)letter_h);//+9
KaifK 4:08a0ff6668df 204 ball.setLocation((x+18),(y+3),lcd);//+32 +3
KaifK 4:08a0ff6668df 205 ball.setLocation((x+32),(y+3),lcd);//+32 +3
KaifK 4:08a0ff6668df 206 lcd.drawSprite((x+47),y,15,9,(int*)letter_t);//+47
KaifK 4:08a0ff6668df 207 }
KaifK 4:08a0ff6668df 208 void draw_name(N5110 &lcd, Ball &ball) {
KaifK 4:08a0ff6668df 209 lcd.drawSprite(15,14,15,9,(int*)letter_S);
KaifK 4:08a0ff6668df 210 lcd.drawSprite(24,14,15,9,(int*)letter_h);
KaifK 4:08a0ff6668df 211 ball.setLocation(47,17,lcd);
KaifK 4:08a0ff6668df 212 lcd.drawSprite(62,14,15,9,(int*)letter_t);
KaifK 4:08a0ff6668df 213 lcd.printString("Game by",21,4);
KaifK 4:08a0ff6668df 214 lcd.printString("Kaif Kutchwala",0,5);
KaifK 4:08a0ff6668df 215 }
KaifK 4:08a0ff6668df 216
KaifK 4:08a0ff6668df 217 void contrast_slide(N5110 &lcd){
KaifK 4:08a0ff6668df 218 for(float contrast = 0.40; contrast < 0.51; contrast += 0.01) {
KaifK 4:08a0ff6668df 219 lcd.setContrast(contrast);
KaifK 4:08a0ff6668df 220 //printf("Contrast = %.2f \n",contrast);
KaifK 4:08a0ff6668df 221 lcd.refresh();
KaifK 4:08a0ff6668df 222 wait_ms(100);
KaifK 4:08a0ff6668df 223 }
KaifK 4:08a0ff6668df 224 }
KaifK 8:5ede90f99a27 225 void player_enter_animation(N5110 &lcd, Ball &ball) {
KaifK 8:5ede90f99a27 226 int sprite_X = 25;
KaifK 8:5ede90f99a27 227 int sprite_Y = -10;
KaifK 8:5ede90f99a27 228 while(sprite_X != 35 && sprite_Y != 0){
KaifK 8:5ede90f99a27 229 lcd.clear(); //clear screen before starting animation
KaifK 8:5ede90f99a27 230 lcd.drawSprite(sprite_X,sprite_Y,20,15,(int*)player_fsm[0]);
KaifK 8:5ede90f99a27 231 draw_name(lcd,ball);
KaifK 8:5ede90f99a27 232 ball.setLocation(ball_x,ball_y,lcd);
KaifK 8:5ede90f99a27 233 //printf("%d \n",sprite_X);
KaifK 8:5ede90f99a27 234 //printf("%d \n",sprite_Y);
KaifK 8:5ede90f99a27 235 lcd.refresh();
KaifK 8:5ede90f99a27 236 sprite_X++;
KaifK 8:5ede90f99a27 237 sprite_Y++;
KaifK 8:5ede90f99a27 238 wait(0.1);
KaifK 8:5ede90f99a27 239 }
KaifK 8:5ede90f99a27 240 }
KaifK 4:08a0ff6668df 241 void kick_animation(N5110 &lcd, Ball &ball) {
KaifK 4:08a0ff6668df 242 int state = 0;
KaifK 4:08a0ff6668df 243 while(state < 3) {
KaifK 3:f86c1cf90d0d 244 switch(state) {
KaifK 3:f86c1cf90d0d 245 case 0:
KaifK 3:f86c1cf90d0d 246 state = 1;
KaifK 3:f86c1cf90d0d 247 break;
KaifK 3:f86c1cf90d0d 248 case 1:
KaifK 3:f86c1cf90d0d 249 state = 2;
KaifK 3:f86c1cf90d0d 250 break;
KaifK 3:f86c1cf90d0d 251 case 2:
KaifK 3:f86c1cf90d0d 252 state = 3;
KaifK 3:f86c1cf90d0d 253 break;
KaifK 3:f86c1cf90d0d 254 case 3:
KaifK 3:f86c1cf90d0d 255 state = 0;
KaifK 3:f86c1cf90d0d 256 break;
KaifK 3:f86c1cf90d0d 257 default:
KaifK 3:f86c1cf90d0d 258 error("Invalid state");
KaifK 3:f86c1cf90d0d 259 break;
KaifK 3:f86c1cf90d0d 260 }
KaifK 3:f86c1cf90d0d 261 }
KaifK 4:08a0ff6668df 262 lcd.drawSprite(35,0,20,15,(int*)player_fsm[state]);
KaifK 4:08a0ff6668df 263 draw_name(lcd,ball);
KaifK 4:08a0ff6668df 264 ball.setLocation(ball_x,ball_y,lcd);
KaifK 4:08a0ff6668df 265 lcd.refresh();
KaifK 4:08a0ff6668df 266 lcd.clear();
KaifK 4:08a0ff6668df 267 wait(0.1);
KaifK 4:08a0ff6668df 268 }
KaifK 4:08a0ff6668df 269 void shot_animation(N5110 &lcd, Ball &ball) {
KaifK 3:f86c1cf90d0d 270 while(ball_x != -7 && ball_y != 48){
KaifK 3:f86c1cf90d0d 271 lcd.drawSprite(35,0,20,15,(int*)player_fsm[4]);
KaifK 3:f86c1cf90d0d 272 draw_name(lcd,ball);
KaifK 3:f86c1cf90d0d 273 ball.setLocation(ball_x, ball_y,lcd);
KaifK 3:f86c1cf90d0d 274 lcd.refresh();
KaifK 3:f86c1cf90d0d 275 lcd.clear();
KaifK 3:f86c1cf90d0d 276 ball_x--;
KaifK 3:f86c1cf90d0d 277 ball_y++;
KaifK 3:f86c1cf90d0d 278 wait_ms(30);
KaifK 3:f86c1cf90d0d 279 }
KaifK 3:f86c1cf90d0d 280 }