Updated Space Invaders on the mbed. Improved upon Michael Son's "Mbed Space Invaders" at https://os.mbed.com/users/michaeljson/notebook/mbed-space-invaders/.
Dependencies: mbed wave_player mbed-rtos 4DGL-uLCD-SE SparkfunAnalogJoystick SDFileSystem LSM9DS1_Library_cal_updated
Fork of Two-PlayerSpaceInvaders by
test
globals.cpp@23:56f6a12aaebd, 2021-04-26 (annotated)
- Committer:
- wminix3
- Date:
- Mon Apr 26 21:53:25 2021 +0000
- Revision:
- 23:56f6a12aaebd
- Child:
- 28:a2dac56af32f
Added barriers that both enemies and the player can damage. More true to original space invaders.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wminix3 | 23:56f6a12aaebd | 1 | #include "globals.h" |
wminix3 | 23:56f6a12aaebd | 2 | #include "mbed.h" |
wminix3 | 23:56f6a12aaebd | 3 | // Modified from the RPG Game from ECE 2035. Draw more complex player object (with changing color). |
wminix3 | 23:56f6a12aaebd | 4 | |
wminix3 | 23:56f6a12aaebd | 5 | void draw_img(int u, int v, int width, int height, const char* img) |
wminix3 | 23:56f6a12aaebd | 6 | { |
wminix3 | 23:56f6a12aaebd | 7 | int colors[width*height]; |
wminix3 | 23:56f6a12aaebd | 8 | for (int i = 0; i < width*height; i++) |
wminix3 | 23:56f6a12aaebd | 9 | { |
wminix3 | 23:56f6a12aaebd | 10 | if (img[i] == 'G') colors[i] = GREEN; |
wminix3 | 23:56f6a12aaebd | 11 | else if (img[i] == 'B') colors[i] = BLUE; |
wminix3 | 23:56f6a12aaebd | 12 | else if (img[i] == 'P') colors[i] = PINK; |
wminix3 | 23:56f6a12aaebd | 13 | else if (img[i] == 'U') colors[i] = PURPLE; |
wminix3 | 23:56f6a12aaebd | 14 | else if (img[i] == 'Y') colors[i] = YELLOW; |
wminix3 | 23:56f6a12aaebd | 15 | else if (img[i] == 'R') colors[i] = RED; |
wminix3 | 23:56f6a12aaebd | 16 | else colors[i] = BLACK; |
wminix3 | 23:56f6a12aaebd | 17 | } |
wminix3 | 23:56f6a12aaebd | 18 | uLCD.BLIT(u, v, width, height, colors); |
wminix3 | 23:56f6a12aaebd | 19 | wait_us(250); // Recovery time! |
wminix3 | 23:56f6a12aaebd | 20 | } |