ECE2035 Project 2

Dependencies:   mbed mbed-rtos SDFileSystem

Committer:
kwengryn3
Date:
Tue Apr 20 18:15:22 2021 +0000
Revision:
10:1994adcfc86f
Parent:
0:bff8b9020128
adv features

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kwengryn3 0:bff8b9020128 1 #include "graphics.h"
kwengryn3 0:bff8b9020128 2 #include "globals.h"
kwengryn3 0:bff8b9020128 3
kwengryn3 0:bff8b9020128 4 #define YELLOW 0xFFFF00
kwengryn3 0:bff8b9020128 5 #define GREEN 0x00FF00
kwengryn3 0:bff8b9020128 6 #define WHITE 0xFFFFFF
kwengryn3 0:bff8b9020128 7 #define BLACK 0x000000
kwengryn3 0:bff8b9020128 8 #define BROWN 0xD2691E
kwengryn3 0:bff8b9020128 9 #define DIRT BROWN
kwengryn3 0:bff8b9020128 10 #define RED 0xFF0000
kwengryn3 0:bff8b9020128 11 #define ORANGE 0xFFA500
kwengryn3 10:1994adcfc86f 12 #define X 0xFF0000
kwengryn3 10:1994adcfc86f 13 #define _ 0x000000
kwengryn3 10:1994adcfc86f 14 #define W 0xFFFFFF
kwengryn3 10:1994adcfc86f 15 #define O 0xFD6A02
kwengryn3 10:1994adcfc86f 16 #define G 0x00FF00
kwengryn3 10:1994adcfc86f 17 #define B 0x664229
kwengryn3 10:1994adcfc86f 18 #define Y 0xFFFF00
kwengryn3 10:1994adcfc86f 19
kwengryn3 10:1994adcfc86f 20
kwengryn3 10:1994adcfc86f 21 int bomb_sprite[10 * 10] = {
kwengryn3 10:1994adcfc86f 22 _,_,_,_,_,X,X,X,X,X,
kwengryn3 10:1994adcfc86f 23 _,_,_,X,X,X,X,_,_,X,
kwengryn3 10:1994adcfc86f 24 _,_,_,X,X,X,X,_,_,_,
kwengryn3 10:1994adcfc86f 25 _,X,X,X,X,X,X,X,X,_,
kwengryn3 10:1994adcfc86f 26 X,X,X,X,X,X,X,X,X,X,
kwengryn3 10:1994adcfc86f 27 X,X,X,X,X,X,X,X,X,X,
kwengryn3 10:1994adcfc86f 28 X,X,X,X,X,X,X,X,X,X,
kwengryn3 10:1994adcfc86f 29 X,X,X,X,X,X,X,X,X,X,
kwengryn3 10:1994adcfc86f 30 _,X,X,X,X,X,X,X,X,_,
kwengryn3 10:1994adcfc86f 31 _,_,X,X,X,X,X,X,_,_,
kwengryn3 10:1994adcfc86f 32 };
kwengryn3 10:1994adcfc86f 33
kwengryn3 10:1994adcfc86f 34 int orange_sprite[10 * 10] = {
kwengryn3 10:1994adcfc86f 35 _,G,G,G,B,B,_,_,_,_,
kwengryn3 10:1994adcfc86f 36 _,_,_,_,B,B,_,_,_,_,
kwengryn3 10:1994adcfc86f 37 _,O,O,O,O,O,O,O,O,_,
kwengryn3 10:1994adcfc86f 38 O,O,O,O,O,O,O,O,O,O,
kwengryn3 10:1994adcfc86f 39 O,O,O,O,O,O,O,O,O,O,
kwengryn3 10:1994adcfc86f 40 O,O,O,O,O,O,O,O,O,O,
kwengryn3 10:1994adcfc86f 41 O,O,O,O,O,O,O,O,O,O,
kwengryn3 10:1994adcfc86f 42 O,O,O,O,O,O,O,O,O,O,
kwengryn3 10:1994adcfc86f 43 _,O,O,O,O,O,O,O,O,_,
kwengryn3 10:1994adcfc86f 44 _,_,O,O,O,O,O,O,_,_,
kwengryn3 10:1994adcfc86f 45 };
kwengryn3 10:1994adcfc86f 46
kwengryn3 10:1994adcfc86f 47 int apple_sprite[10 * 10] = {
kwengryn3 10:1994adcfc86f 48 _,G,G,G,B,B,_,_,_,_,
kwengryn3 10:1994adcfc86f 49 _,_,_,_,B,B,_,_,_,_,
kwengryn3 10:1994adcfc86f 50 _,G,G,G,G,G,G,G,G,_,
kwengryn3 10:1994adcfc86f 51 G,G,G,G,G,G,G,G,G,G,
kwengryn3 10:1994adcfc86f 52 G,G,G,G,G,G,G,G,G,G,
kwengryn3 10:1994adcfc86f 53 G,G,G,G,G,G,G,G,G,G,
kwengryn3 10:1994adcfc86f 54 G,G,G,G,G,G,G,G,G,G,
kwengryn3 10:1994adcfc86f 55 G,G,G,G,G,G,G,G,G,G,
kwengryn3 10:1994adcfc86f 56 _,G,G,G,G,G,G,G,G,_,
kwengryn3 10:1994adcfc86f 57 _,_,G,G,G,G,G,G,_,_,
kwengryn3 10:1994adcfc86f 58 };
kwengryn3 10:1994adcfc86f 59
kwengryn3 10:1994adcfc86f 60 int banana_sprite[10 * 10] = {
kwengryn3 10:1994adcfc86f 61 _,_,_,_,_,_,_,_,B,B,
kwengryn3 10:1994adcfc86f 62 _,_,_,_,_,_,_,_,B,B,
kwengryn3 10:1994adcfc86f 63 _,_,_,_,_,_,_,B,B,B,
kwengryn3 10:1994adcfc86f 64 _,_,_,_,_,Y,Y,Y,Y,Y,
kwengryn3 10:1994adcfc86f 65 _,_,_,_,Y,Y,Y,Y,Y,Y,
kwengryn3 10:1994adcfc86f 66 _,_,Y,Y,Y,Y,Y,Y,Y,_,
kwengryn3 10:1994adcfc86f 67 Y,Y,Y,Y,Y,Y,Y,Y,_,_,
kwengryn3 10:1994adcfc86f 68 Y,Y,Y,Y,Y,Y,Y,_,_,_,
kwengryn3 10:1994adcfc86f 69 Y,Y,Y,Y,Y,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 70 };
kwengryn3 10:1994adcfc86f 71
kwengryn3 10:1994adcfc86f 72 int fruit_mask[10 * 10] = {
kwengryn3 10:1994adcfc86f 73 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 74 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 75 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 76 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 77 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 78 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 79 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 80 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 81 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 82 _,_,_,_,_,_,_,_,_,_,
kwengryn3 10:1994adcfc86f 83
kwengryn3 10:1994adcfc86f 84 };
kwengryn3 10:1994adcfc86f 85
kwengryn3 10:1994adcfc86f 86
kwengryn3 0:bff8b9020128 87 void draw_img(int u, int v, const char* img)
kwengryn3 0:bff8b9020128 88 {
kwengryn3 0:bff8b9020128 89 int colors[11*11];
kwengryn3 0:bff8b9020128 90 for (int i = 0; i < 11*11; i++)
kwengryn3 0:bff8b9020128 91 {
kwengryn3 0:bff8b9020128 92 if (img[i] == 'R') colors[i] = RED;
kwengryn3 0:bff8b9020128 93 else if (img[i] == 'Y') colors[i] = YELLOW;
kwengryn3 0:bff8b9020128 94 else if (img[i] == 'G') colors[i] = GREEN;
kwengryn3 0:bff8b9020128 95 else if (img[i] == 'D') colors[i] = DIRT;
kwengryn3 0:bff8b9020128 96 // else if (img[i] == '5') colors[i] = LGREY;
kwengryn3 0:bff8b9020128 97 // else if (img[i] == '3') colors[i] = DGREY;
kwengryn3 0:bff8b9020128 98 else colors[i] = BLACK;
kwengryn3 0:bff8b9020128 99 }
kwengryn3 0:bff8b9020128 100 uLCD.BLIT(u, v, 11, 11, colors);
kwengryn3 0:bff8b9020128 101 wait_us(250); // Recovery time!
kwengryn3 0:bff8b9020128 102 }
kwengryn3 0:bff8b9020128 103
kwengryn3 0:bff8b9020128 104 void draw_player(int u, int v, int key)
kwengryn3 0:bff8b9020128 105 {
kwengryn3 0:bff8b9020128 106 uLCD.filled_rectangle(u, v, u+11, v+11, WHITE);
kwengryn3 0:bff8b9020128 107 }
kwengryn3 0:bff8b9020128 108
kwengryn3 0:bff8b9020128 109 void draw_nothing(boundingBox b)
kwengryn3 0:bff8b9020128 110 {
kwengryn3 0:bff8b9020128 111 // Erase a bounding box
kwengryn3 10:1994adcfc86f 112 //uLCD.filled_rectangle(b.topLeft.x, b.topLeft.y, b.bottomRight.x, b.bottomRight.y, BLACK);
kwengryn3 10:1994adcfc86f 113 uLCD.BLIT(b.topLeft.x, b.topLeft.y, 10, 10, fruit_mask);
kwengryn3 0:bff8b9020128 114 }
kwengryn3 0:bff8b9020128 115
kwengryn3 0:bff8b9020128 116 void draw_bomb(boundingBox b)
kwengryn3 0:bff8b9020128 117 {
kwengryn3 0:bff8b9020128 118 // Draw an apple using a filled_rectangle or get creative and use a sprite!
kwengryn3 10:1994adcfc86f 119 //uLCD.filled_rectangle(b.topLeft.x, b.topLeft.y, b.bottomRight.x, b.bottomRight.y, RED);
kwengryn3 10:1994adcfc86f 120 uLCD.BLIT(b.topLeft.x, b.topLeft.y, 10, 10, bomb_sprite);
kwengryn3 0:bff8b9020128 121 }
kwengryn3 0:bff8b9020128 122
kwengryn3 0:bff8b9020128 123 void draw_banana(boundingBox b)
kwengryn3 0:bff8b9020128 124 {
kwengryn3 0:bff8b9020128 125 // Draw a banana using a filled_rectangle or get creative and use a sprite!
kwengryn3 10:1994adcfc86f 126 //uLCD.filled_rectangle(b.topLeft.x, b.topLeft.y, b.bottomRight.x, b.bottomRight.y, YELLOW);
kwengryn3 10:1994adcfc86f 127 uLCD.BLIT(b.topLeft.x, b.topLeft.y, 10, 10, banana_sprite);
kwengryn3 0:bff8b9020128 128 }
kwengryn3 0:bff8b9020128 129
kwengryn3 0:bff8b9020128 130 void draw_orange(boundingBox b)
kwengryn3 0:bff8b9020128 131 {
kwengryn3 0:bff8b9020128 132 // Draw an orange using a filled_rectangle or get creative and use a sprite!
kwengryn3 10:1994adcfc86f 133 //uLCD.filled_rectangle(b.topLeft.x, b.topLeft.y, b.bottomRight.x, b.bottomRight.y, ORANGE);
kwengryn3 10:1994adcfc86f 134 uLCD.BLIT(b.topLeft.x, b.topLeft.y, 10, 10, orange_sprite);
kwengryn3 0:bff8b9020128 135 }
kwengryn3 10:1994adcfc86f 136
kwengryn3 10:1994adcfc86f 137 void draw_apple(boundingBox b) {
kwengryn3 10:1994adcfc86f 138 uLCD.BLIT(b.topLeft.x, b.topLeft.y, 10, 10, apple_sprite);
kwengryn3 10:1994adcfc86f 139 }
kwengryn3 10:1994adcfc86f 140
kwengryn3 10:1994adcfc86f 141