Laila Al Badwawi 200906179 SpaceInvaders I declare this my own independent work and understand the university rules on plagiarism.

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Mon Mar 25 09:51:49 2019 +0000
Revision:
1:e8c6d93c9122
Parent:
0:e2af4c8e462e
Child:
2:6c1d7aa20e81
creating the enemies and the space ship in sprites function which are defined in 2D array

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 0:e2af4c8e462e 1 /*
fy14lkaa 0:e2af4c8e462e 2 ELEC2645 Embedded Systems Project
fy14lkaa 0:e2af4c8e462e 3 School of Electronic & Electrical Engineering
fy14lkaa 0:e2af4c8e462e 4 University of Leeds
fy14lkaa 0:e2af4c8e462e 5 Name:Laila Al Badwawi
fy14lkaa 0:e2af4c8e462e 6 Username: fy14lkaa
fy14lkaa 0:e2af4c8e462e 7 Student ID Number: 200906179
fy14lkaa 0:e2af4c8e462e 8 Date:19/3/2019
fy14lkaa 0:e2af4c8e462e 9 */
fy14lkaa 0:e2af4c8e462e 10
fy14lkaa 0:e2af4c8e462e 11
fy14lkaa 0:e2af4c8e462e 12 ///////// pre-processor directives ////////
fy14lkaa 0:e2af4c8e462e 13 #include "mbed.h"
fy14lkaa 0:e2af4c8e462e 14 #include "Gamepad.h"
fy14lkaa 0:e2af4c8e462e 15 #include "N5110.h"
fy14lkaa 0:e2af4c8e462e 16 #include "SpaceInvadersEngine.h"
fy14lkaa 0:e2af4c8e462e 17
fy14lkaa 0:e2af4c8e462e 18 #ifdef WITH_TESTING
fy14lkaa 0:e2af4c8e462e 19 # include "tests.h"
fy14lkaa 0:e2af4c8e462e 20 #endif
fy14lkaa 0:e2af4c8e462e 21
fy14lkaa 0:e2af4c8e462e 22 #define
fy14lkaa 0:e2af4c8e462e 23 #define
fy14lkaa 0:e2af4c8e462e 24 #define
fy14lkaa 0:e2af4c8e462e 25 #define
fy14lkaa 0:e2af4c8e462e 26 #define
fy14lkaa 0:e2af4c8e462e 27
fy14lkaa 0:e2af4c8e462e 28 /////////////// structs /////////////////
fy14lkaa 0:e2af4c8e462e 29 struct UserInput {
fy14lkaa 0:e2af4c8e462e 30 Direction d;
fy14lkaa 0:e2af4c8e462e 31 float mag;
fy14lkaa 0:e2af4c8e462e 32 };
fy14lkaa 0:e2af4c8e462e 33
fy14lkaa 0:e2af4c8e462e 34
fy14lkaa 0:e2af4c8e462e 35 /////////////// objects ///////////////
fy14lkaa 0:e2af4c8e462e 36 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
fy14lkaa 0:e2af4c8e462e 37 Gamepad pad;
fy14lkaa 0:e2af4c8e462e 38 SpaceInvadersEngine SpaceInvaders;
fy14lkaa 0:e2af4c8e462e 39
fy14lkaa 0:e2af4c8e462e 40 ///////////// prototypes ///////////////
fy14lkaa 0:e2af4c8e462e 41 void init();
fy14lkaa 0:e2af4c8e462e 42 void update_game(UserInput input);
fy14lkaa 0:e2af4c8e462e 43 void render();
fy14lkaa 0:e2af4c8e462e 44 void welcome();
fy14lkaa 0:e2af4c8e462e 45
fy14lkaa 0:e2af4c8e462e 46
fy14lkaa 0:e2af4c8e462e 47
fy14lkaa 0:e2af4c8e462e 48
fy14lkaa 0:e2af4c8e462e 49 const int alien [3] [3]={
fy14lkaa 0:e2af4c8e462e 50
fy14lkaa 0:e2af4c8e462e 51
fy14lkaa 0:e2af4c8e462e 52 {0000000000000000000000000000000000000000}
fy14lkaa 0:e2af4c8e462e 53 {0000000000011100000000000011100000000000}
fy14lkaa 0:e2af4c8e462e 54 {0000000000011100000000000011100000000000}
fy14lkaa 0:e2af4c8e462e 55 {0000000110011111000000001111100110000000}
fy14lkaa 0:e2af4c8e462e 56 {0000001110000111000000001110000111000000}
fy14lkaa 0:e2af4c8e462e 57 {0000001110000111100000011110000111000000}
fy14lkaa 0:e2af4c8e462e 58 {0000001110011111111111111111100111000000}
fy14lkaa 0:e2af4c8e462e 59 {0000001110011111111111111111100111000000}
fy14lkaa 0:e2af4c8e462e 60 {0000001111111111111111111111111111000000}
fy14lkaa 0:e2af4c8e462e 61 {0000001111111111111111111111111111000000}
fy14lkaa 0:e2af4c8e462e 62 {0000001111111111111111111111111111000000}
fy14lkaa 0:e2af4c8e462e 63 {0000001111111111111111111111111111000000}
fy14lkaa 0:e2af4c8e462e 64 {0000001111111111111111111111111111000000}
fy14lkaa 0:e2af4c8e462e 65 {0000001111111111111111111111111111000000}
fy14lkaa 0:e2af4c8e462e 66 {0000000011111111111111111111111100000000}
fy14lkaa 0:e2af4c8e462e 67 {0000000001111111111111111111111000000000}
fy14lkaa 0:e2af4c8e462e 68 {0000000000011100000000000011100000000000}
fy14lkaa 0:e2af4c8e462e 69 {0000000000011100000000000011100000000000}
fy14lkaa 0:e2af4c8e462e 70 {0000000001111100000000000011111000000000}
fy14lkaa 0:e2af4c8e462e 71 {0000000001100000000000000000011000000000}
fy14lkaa 0:e2af4c8e462e 72 {0000000001100000000000000000011000000000}
fy14lkaa 0:e2af4c8e462e 73 {0000000000000000000000000000000000000000}
fy14lkaa 0:e2af4c8e462e 74
fy14lkaa 0:e2af4c8e462e 75
fy14lkaa 0:e2af4c8e462e 76 const int alien [3] [3]={
fy14lkaa 0:e2af4c8e462e 77
fy14lkaa 0:e2af4c8e462e 78 1111111111111111111111111111111111111111
fy14lkaa 0:e2af4c8e462e 79 1111111111111111110000111111111111111111
fy14lkaa 0:e2af4c8e462e 80 1111111111111111110000111111111111111111
fy14lkaa 0:e2af4c8e462e 81 1111111111111111000000001111111111111111
fy14lkaa 0:e2af4c8e462e 82 1111111111111110000000001111111111111111
fy14lkaa 0:e2af4c8e462e 83 1111111111111110000000000111111111111111
fy14lkaa 0:e2af4c8e462e 84 1111111111111000000000000011111111111111
fy14lkaa 0:e2af4c8e462e 85 1111111111111000000000000001111111111111
fy14lkaa 0:e2af4c8e462e 86 1111111111100001110000110000011111111111
fy14lkaa 0:e2af4c8e462e 87 1111111111100001110000110000011111111111
fy14lkaa 0:e2af4c8e462e 88 1111111111100000000000000000011111111111
fy14lkaa 0:e2af4c8e462e 89 1111111111100000000000000000011111111111
fy14lkaa 0:e2af4c8e462e 90 1111111111111110001111001111111111111111
fy14lkaa 0:e2af4c8e462e 91 1111111111111110001111001111111111111111
fy14lkaa 0:e2af4c8e462e 92 1111111111111101111111111011111111111111
fy14lkaa 0:e2af4c8e462e 93 1111111111111001111111110011111111111111
fy14lkaa 0:e2af4c8e462e 94 1111111111111001111111110011111111111111
fy14lkaa 0:e2af4c8e462e 95 1111111111111110001111001111111111111111
fy14lkaa 0:e2af4c8e462e 96 1111111111111110001111001111111111111111
fy14lkaa 0:e2af4c8e462e 97 1111111111111111111111111111111111111111
fy14lkaa 0:e2af4c8e462e 98
fy14lkaa 0:e2af4c8e462e 99 figure 3
fy14lkaa 0:e2af4c8e462e 100
fy14lkaa 0:e2af4c8e462e 101
fy14lkaa 0:e2af4c8e462e 102
fy14lkaa 0:e2af4c8e462e 103
fy14lkaa 0:e2af4c8e462e 104
fy14lkaa 0:e2af4c8e462e 105 0000000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 106 0000000000110000000000000110000000000000
fy14lkaa 0:e2af4c8e462e 107 0000000000110000000000000110000000000000
fy14lkaa 0:e2af4c8e462e 108 0000000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 109 0000000000000110000000011000000000000000
fy14lkaa 0:e2af4c8e462e 110 0000000000000110000000011000000000000000
fy14lkaa 0:e2af4c8e462e 111 0000000000111111111111111110000000000000
fy14lkaa 0:e2af4c8e462e 112 0000000000111111111111111110000000000000
fy14lkaa 0:e2af4c8e462e 113 0000000000111001111111100111000000000000
fy14lkaa 0:e2af4c8e462e 114 0000000011110001111111000111110000000000
fy14lkaa 0:e2af4c8e462e 115 0000000011110001111111000111110000000000
fy14lkaa 0:e2af4c8e462e 116 0000011111111111111111111111111100000000
fy14lkaa 0:e2af4c8e462e 117 0000011111111111111111111111111100000000
fy14lkaa 0:e2af4c8e462e 118 0000011100111111111111111111001100000000
fy14lkaa 0:e2af4c8e462e 119 0000011000111111111111111110001100000000
fy14lkaa 0:e2af4c8e462e 120 0000011000111111111111111110001100000000
fy14lkaa 0:e2af4c8e462e 121 0000011000110000000000000110001100000000
fy14lkaa 0:e2af4c8e462e 122 0000011000110000000000000110001100000000
fy14lkaa 0:e2af4c8e462e 123 0000000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 124 0000000000000111100011111000000000000000
fy14lkaa 0:e2af4c8e462e 125 0000000000000111100011111000000000000000
fy14lkaa 0:e2af4c8e462e 126 0000000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 127
fy14lkaa 0:e2af4c8e462e 128
fy14lkaa 0:e2af4c8e462e 129
fy14lkaa 0:e2af4c8e462e 130 sapce ship=
fy14lkaa 0:e2af4c8e462e 131 00000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 132 00000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 133 00000000000000000011000000000000000000
fy14lkaa 0:e2af4c8e462e 134 00000000000000000011000000000000000000
fy14lkaa 0:e2af4c8e462e 135 00000000000000000011000000000000000000
fy14lkaa 0:e2af4c8e462e 136 00000000000000000011000000000000000000
fy14lkaa 0:e2af4c8e462e 137 00000000000000000011000000000000000000
fy14lkaa 0:e2af4c8e462e 138 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 139 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 140 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 141 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 142 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 143 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 144 00000000000000001111110000000000000000
fy14lkaa 0:e2af4c8e462e 145 00000000000000011111111000000000000000
fy14lkaa 0:e2af4c8e462e 146 00000000000000011111111000000000000000
fy14lkaa 0:e2af4c8e462e 147 00000000000110011111111001100000000000
fy14lkaa 0:e2af4c8e462e 148 00000000000110011111111001100000000000
fy14lkaa 0:e2af4c8e462e 149 00000000000110111100111101100000000000
fy14lkaa 0:e2af4c8e462e 150 00000000000110111100111101100000000000
fy14lkaa 0:e2af4c8e462e 151 00000000000001110000001110000000000000
fy14lkaa 0:e2af4c8e462e 152 00000000000001110000001110000000000000
fy14lkaa 0:e2af4c8e462e 153 00001000011111110011001111111000010000
fy14lkaa 0:e2af4c8e462e 154 00001000011111111111111111111000010000
fy14lkaa 0:e2af4c8e462e 155 00001001111111111111111111111110010000
fy14lkaa 0:e2af4c8e462e 156 00001111111111111111111111111111110000
fy14lkaa 0:e2af4c8e462e 157 00001111111111111111111111111111110000
fy14lkaa 0:e2af4c8e462e 158 00001111111111101111110111111111110000
fy14lkaa 0:e2af4c8e462e 159 00001111111111101111110111111111110000
fy14lkaa 0:e2af4c8e462e 160 00001111111000001111110000011111110000
fy14lkaa 0:e2af4c8e462e 161 00001111111000001111110000011111110000
fy14lkaa 0:e2af4c8e462e 162 00001111100000001111110000000111110000
fy14lkaa 0:e2af4c8e462e 163 00001111100000001111110000000111110000
fy14lkaa 0:e2af4c8e462e 164 00001110000000000011000000000001110000
fy14lkaa 0:e2af4c8e462e 165 00001100000000000011000000000000110000
fy14lkaa 0:e2af4c8e462e 166 00001000000000000011000000000000010000
fy14lkaa 0:e2af4c8e462e 167 00001000000000000011000000000000010000
fy14lkaa 0:e2af4c8e462e 168 00001000000000000011000000000000010000
fy14lkaa 0:e2af4c8e462e 169 00000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 170 00000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 171
fy14lkaa 0:e2af4c8e462e 172
fy14lkaa 0:e2af4c8e462e 173 welcome:
fy14lkaa 0:e2af4c8e462e 174
fy14lkaa 0:e2af4c8e462e 175 11111111111111111111111111111
fy14lkaa 0:e2af4c8e462e 176 11111111000001111111111111111
fy14lkaa 0:e2af4c8e462e 177 11111111110000111111111111111
fy14lkaa 0:e2af4c8e462e 178 11111111100011011111111111111
fy14lkaa 0:e2af4c8e462e 179 11111111100011011111111111111
fy14lkaa 0:e2af4c8e462e 180 11111111110000011111111111111
fy14lkaa 0:e2af4c8e462e 181 11111111110010011111111111111
fy14lkaa 0:e2af4c8e462e 182 11111111111000001111110011111
fy14lkaa 0:e2af4c8e462e 183 11111111110011101111110010001
fy14lkaa 0:e2af4c8e462e 184 11111111110000001111100000001
fy14lkaa 0:e2af4c8e462e 185 11111001001100000001100000001
fy14lkaa 0:e2af4c8e462e 186 10011000111111001110001000111
fy14lkaa 0:e2af4c8e462e 187 10000000111111111111001100111
fy14lkaa 0:e2af4c8e462e 188 10000000111111111100010001111
fy14lkaa 0:e2af4c8e462e 189 11000010011111111110011010111
fy14lkaa 0:e2af4c8e462e 190 11000000011111111110001000111
fy14lkaa 0:e2af4c8e462e 191 11000000011111100001000000111
fy14lkaa 0:e2af4c8e462e 192 11001011011110000000001110011
fy14lkaa 0:e2af4c8e462e 193 11001011011100111111000111011
fy14lkaa 0:e2af4c8e462e 194 10000000001011111111000110011
fy14lkaa 0:e2af4c8e462e 195 10011110101111111111000000111
fy14lkaa 0:e2af4c8e462e 196 10011110100111111111011001111
fy14lkaa 0:e2af4c8e462e 197 11011101100111111110011111111
fy14lkaa 0:e2af4c8e462e 198 11100011100111111110111111111
fy14lkaa 0:e2af4c8e462e 199 11111111101111111100111111111
fy14lkaa 0:e2af4c8e462e 200 11111111101111111001111111111
fy14lkaa 0:e2af4c8e462e 201 11111111101111110011111111111
fy14lkaa 0:e2af4c8e462e 202 11111111001100101111111111111
fy14lkaa 0:e2af4c8e462e 203 11111110001100011111111111111
fy14lkaa 0:e2af4c8e462e 204 11111110000001111111111111111
fy14lkaa 0:e2af4c8e462e 205 11111110000001111111111111111
fy14lkaa 0:e2af4c8e462e 206 11111100000011111111111111111
fy14lkaa 0:e2af4c8e462e 207 11111100001111111111111111111
fy14lkaa 0:e2af4c8e462e 208 11111100001111111111111111111
fy14lkaa 0:e2af4c8e462e 209 11111100011111111111111111111
fy14lkaa 0:e2af4c8e462e 210 11111100011111111111111111111
fy14lkaa 0:e2af4c8e462e 211 11111100001100011111111111111
fy14lkaa 0:e2af4c8e462e 212 11111110000000111111111111111
fy14lkaa 0:e2af4c8e462e 213 11111111100111111111111111111
fy14lkaa 0:e2af4c8e462e 214 11111111111111111111111111111
fy14lkaa 0:e2af4c8e462e 215
fy14lkaa 0:e2af4c8e462e 216
fy14lkaa 0:e2af4c8e462e 217 game over :
fy14lkaa 0:e2af4c8e462e 218
fy14lkaa 0:e2af4c8e462e 219
fy14lkaa 1:e8c6d93c9122 220 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 221 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 222 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 223 0000000000000000001111000000000000000000
fy14lkaa 1:e8c6d93c9122 224 0000000000000000111111110000000000000000
fy14lkaa 1:e8c6d93c9122 225 0000000000000000111111110000000000000000
fy14lkaa 1:e8c6d93c9122 226 0000000000000000011111100000000000000000
fy14lkaa 1:e8c6d93c9122 227 0000000000000000001111000000000000000000
fy14lkaa 1:e8c6d93c9122 228 0000000000000000111111110000000000000000
fy14lkaa 1:e8c6d93c9122 229 0000000000000011100110001100000000000000
fy14lkaa 1:e8c6d93c9122 230 0000000000000111000110001110000000000000
fy14lkaa 1:e8c6d93c9122 231 0000000000001101101111011011000000000000
fy14lkaa 1:e8c6d93c9122 232 0000000100000000111111110000000010000000
fy14lkaa 1:e8c6d93c9122 233 0000001100000000111111110000000011000000
fy14lkaa 1:e8c6d93c9122 234 0000001100000010000000000100000011000000
fy14lkaa 1:e8c6d93c9122 235 0000011100001111000000001111000011100000
fy14lkaa 1:e8c6d93c9122 236 0000011100011111111001011111100011100000
fy14lkaa 1:e8c6d93c9122 237 0000011110111111111100111111110111100000
fy14lkaa 1:e8c6d93c9122 238 0000011111111111111111111111111111100000
fy14lkaa 1:e8c6d93c9122 239 0000011111111111111111111111111111100000
fy14lkaa 1:e8c6d93c9122 240 0000001111111111111111111111111111000000
fy14lkaa 1:e8c6d93c9122 241 0000000111110111111111111110111110000000
fy14lkaa 1:e8c6d93c9122 242 0000000011000111111111111110001100000000
fy14lkaa 1:e8c6d93c9122 243 0000000000000011111111111100000000000000
fy14lkaa 1:e8c6d93c9122 244 0000000000000001111111111000000000000000
fy14lkaa 1:e8c6d93c9122 245 0000000000000000111111110000000000000000
fy14lkaa 1:e8c6d93c9122 246 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 247 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 248 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 249 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 250 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 251 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 252 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 253 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 254 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 255 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 256 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 257 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 258 0000000000000000000000000000000000000000
fy14lkaa 1:e8c6d93c9122 259 0000000000000000000000000000000000000000
fy14lkaa 0:e2af4c8e462e 260
fy14lkaa 0:e2af4c8e462e 261
fy14lkaa 0:e2af4c8e462e 262
fy14lkaa 0:e2af4c8e462e 263
fy14lkaa 0:e2af4c8e462e 264 ///////////// functions ////////////////
fy14lkaa 0:e2af4c8e462e 265 int main()
fy14lkaa 0:e2af4c8e462e 266 {
fy14lkaa 0:e2af4c8e462e 267 #ifdef WITH_TESTING
fy14lkaa 0:e2af4c8e462e 268 int number_of_failures = run_all_tests();
fy14lkaa 0:e2af4c8e462e 269
fy14lkaa 0:e2af4c8e462e 270 if(number_of_failures > 0) return number_of_failures;
fy14lkaa 0:e2af4c8e462e 271 #endif
fy14lkaa 0:e2af4c8e462e 272
fy14lkaa 0:e2af4c8e462e 273 int fps = 8; // frames per second
fy14lkaa 0:e2af4c8e462e 274
fy14lkaa 0:e2af4c8e462e 275 init(); // initialise and then display welcome screen...
fy14lkaa 0:e2af4c8e462e 276 welcome(); // waiting for the user to start
fy14lkaa 0:e2af4c8e462e 277
fy14lkaa 0:e2af4c8e462e 278 render(); // first draw the initial frame
fy14lkaa 0:e2af4c8e462e 279 wait(1.0f/fps); // and wait for one frame period
fy14lkaa 0:e2af4c8e462e 280 // game loop - read input, update the game state and render the display
fy14lkaa 0:e2af4c8e462e 281 while (1) {
fy14lkaa 0:e2af4c8e462e 282 pong.read_input(pad);
fy14lkaa 0:e2af4c8e462e 283 pong.update(pad);
fy14lkaa 0:e2af4c8e462e 284 render();
fy14lkaa 0:e2af4c8e462e 285 wait(1.0f/fps);
fy14lkaa 0:e2af4c8e462e 286 }
fy14lkaa 0:e2af4c8e462e 287 }
fy14lkaa 0:e2af4c8e462e 288
fy14lkaa 0:e2af4c8e462e 289
fy14lkaa 0:e2af4c8e462e 290
fy14lkaa 0:e2af4c8e462e 291 // initialies all classes and libraries
fy14lkaa 0:e2af4c8e462e 292 void init()
fy14lkaa 0:e2af4c8e462e 293 {
fy14lkaa 0:e2af4c8e462e 294 // need to initialise LCD and Gamepad
fy14lkaa 0:e2af4c8e462e 295 lcd.init();
fy14lkaa 0:e2af4c8e462e 296 pad.init();
fy14lkaa 0:e2af4c8e462e 297
fy14lkaa 0:e2af4c8e462e 298 // initialise the game with correct ball and paddle sizes
fy14lkaa 0:e2af4c8e462e 299 SpaceInvaders.init(PADDLE_WIDTH,PADDLE_HEIGHT,BALL_SIZE,BALL_SPEED);
fy14lkaa 0:e2af4c8e462e 300
fy14lkaa 0:e2af4c8e462e 301 // this function draws each frame on the LCD
fy14lkaa 0:e2af4c8e462e 302 void render()
fy14lkaa 0:e2af4c8e462e 303 {
fy14lkaa 0:e2af4c8e462e 304 // clear screen, re-draw and refresh
fy14lkaa 0:e2af4c8e462e 305 lcd.clear();
fy14lkaa 0:e2af4c8e462e 306 SpaceInvaders.draw(lcd);
fy14lkaa 0:e2af4c8e462e 307 lcd.refresh();
fy14lkaa 0:e2af4c8e462e 308 }
fy14lkaa 0:e2af4c8e462e 309
fy14lkaa 0:e2af4c8e462e 310 // simple splash screen displayed on start-up
fy14lkaa 0:e2af4c8e462e 311 void welcome() {
fy14lkaa 0:e2af4c8e462e 312
fy14lkaa 0:e2af4c8e462e 313 lcd.printString(" SpaceInvaders ! ",0,1);
fy14lkaa 0:e2af4c8e462e 314 lcd.printString(" Press Start ",0,4);
fy14lkaa 0:e2af4c8e462e 315 lcd.refresh();
fy14lkaa 0:e2af4c8e462e 316
fy14lkaa 0:e2af4c8e462e 317 // wait flashing LEDs until start button is pressed
fy14lkaa 0:e2af4c8e462e 318 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
fy14lkaa 0:e2af4c8e462e 319 pad.leds_on();
fy14lkaa 0:e2af4c8e462e 320 wait(0.1);
fy14lkaa 0:e2af4c8e462e 321 pad.leds_off();
fy14lkaa 0:e2af4c8e462e 322 wait(0.1);
fy14lkaa 0:e2af4c8e462e 323 }
fy14lkaa 0:e2af4c8e462e 324
fy14lkaa 0:e2af4c8e462e 325 }
fy14lkaa 0:e2af4c8e462e 326