Laila Al Badwawi 200906179 SpaceInvaders I declare this my own independent work and understand the university rules on plagiarism.
Dependencies: mbed
main.cpp@1:e8c6d93c9122, 2019-03-25 (annotated)
- 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?
User | Revision | Line number | New 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 |