Finished V1

Dependencies:   mbed wave_player 4DGL-uLCD-SE MMA8452

Committer:
trich9
Date:
Sun Nov 24 03:22:35 2019 +0000
Revision:
5:2fb023cdc666
Parent:
4:2297a714936f
finished V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rconnorlawson 0:35660d7952f7 1 #include "graphics.h"
rconnorlawson 0:35660d7952f7 2
rconnorlawson 0:35660d7952f7 3 #include "globals.h"
rconnorlawson 0:35660d7952f7 4
rconnorlawson 0:35660d7952f7 5
rconnorlawson 0:35660d7952f7 6
trich9 5:2fb023cdc666 7 void draw_player(int u, int v, int key, int needBoat)
rconnorlawson 0:35660d7952f7 8 {
trich9 4:2297a714936f 9 //OGCODE
trich9 4:2297a714936f 10 //uLCD.filled_rectangle(u, v, u+11, v+11, RED);
trich9 4:2297a714936f 11
trich9 4:2297a714936f 12 //MYCODE
trich9 5:2fb023cdc666 13 if(needBoat == 0){
trich9 5:2fb023cdc666 14 char playerSprite[122] = "0000000000000QQQQQQQ0000QUUUUUQ0000QUEUEUQ0000QUUUUUQ000000TUT0000000TUUUT000000TWWWT000000TUUUT000000TUTUT000000TUTUT000";
trich9 5:2fb023cdc666 15 draw_img(u,v, playerSprite);
trich9 5:2fb023cdc666 16 }
trich9 5:2fb023cdc666 17 else{
trich9 5:2fb023cdc666 18 char playerBoatSprite[122] = "OOOOOOOOOOOOOOODDDOOOOOOODDDDDOOOOODDDDDDDOOOODUUUUUDOOOODUEUEUDOOOODUUUUUDOOOODDDDDDDOOOODDDDDDDOOOODDDDDDDOOOOOOOOOOOOO";
trich9 5:2fb023cdc666 19 draw_img(u,v, playerBoatSprite);
trich9 5:2fb023cdc666 20 }
rconnorlawson 0:35660d7952f7 21 }
rconnorlawson 0:35660d7952f7 22
rconnorlawson 0:35660d7952f7 23 #define YELLOW 0xFFFF00
rconnorlawson 0:35660d7952f7 24 #define BROWN 0xD2691E
rconnorlawson 0:35660d7952f7 25 #define DIRT BROWN
trich9 4:2297a714936f 26 //MYCODE
trich9 4:2297a714936f 27 #define PHAIR 0x663F04
trich9 4:2297a714936f 28 #define DGREEN 0x384236
trich9 4:2297a714936f 29 #define PCOAT 0xF7C6C6
trich9 4:2297a714936f 30 #define PSKIN 0xFF9900
trich9 4:2297a714936f 31 #define WGRAY 0xC9C9C9
trich9 5:2fb023cdc666 32 #define PINK 0xE009EB
trich9 5:2fb023cdc666 33 #define LBWTR 0x00C4FF
trich9 5:2fb023cdc666 34 #define DBWTR 0x0C667D
trich9 5:2fb023cdc666 35 #define RGRAY 0x242424
trich9 5:2fb023cdc666 36
trich9 4:2297a714936f 37
trich9 4:2297a714936f 38
trich9 4:2297a714936f 39 //MYCODE
trich9 4:2297a714936f 40
rconnorlawson 0:35660d7952f7 41 void draw_img(int u, int v, const char* img)
rconnorlawson 0:35660d7952f7 42 {
rconnorlawson 0:35660d7952f7 43 int colors[11*11];
rconnorlawson 0:35660d7952f7 44 for (int i = 0; i < 11*11; i++)
rconnorlawson 0:35660d7952f7 45 {
rconnorlawson 0:35660d7952f7 46 if (img[i] == 'R') colors[i] = RED;
rconnorlawson 0:35660d7952f7 47 else if (img[i] == 'Y') colors[i] = YELLOW;
rconnorlawson 0:35660d7952f7 48 else if (img[i] == 'G') colors[i] = GREEN;
rconnorlawson 0:35660d7952f7 49 else if (img[i] == 'D') colors[i] = DIRT;
rconnorlawson 0:35660d7952f7 50 else if (img[i] == '5') colors[i] = LGREY;
rconnorlawson 0:35660d7952f7 51 else if (img[i] == '3') colors[i] = DGREY;
trich9 4:2297a714936f 52 //MYCODE
trich9 4:2297a714936f 53 //Player colors
trich9 4:2297a714936f 54 else if (img[i] == 'Q') colors[i] = PHAIR;
trich9 4:2297a714936f 55 else if (img[i] == 'E') colors[i] = DGREEN;
trich9 4:2297a714936f 56 else if (img[i] == 'W') colors[i] = WHITE;
trich9 4:2297a714936f 57 else if (img[i] == 'T') colors[i] = PCOAT;
trich9 4:2297a714936f 58 else if (img[i] == 'U') colors[i] = PSKIN;
trich9 4:2297a714936f 59
trich9 4:2297a714936f 60 //WALL
trich9 4:2297a714936f 61 else if (img[i] == 'I') colors[i] = WGRAY;
trich9 5:2fb023cdc666 62 //NPC
trich9 5:2fb023cdc666 63 else if (img[i] == 'A') colors[i] = PINK;
trich9 5:2fb023cdc666 64 //WATER
trich9 5:2fb023cdc666 65 else if (img[i] == 'O') colors[i] = LBWTR;
trich9 5:2fb023cdc666 66 else if (img[i] == 'P') colors[i] = DBWTR;
trich9 5:2fb023cdc666 67 //ROCKS
trich9 5:2fb023cdc666 68 else if (img[i] == 'S') colors[i] = RGRAY;
trich9 4:2297a714936f 69 //ENDMYCODE
rconnorlawson 0:35660d7952f7 70 else colors[i] = BLACK;
rconnorlawson 0:35660d7952f7 71 }
rconnorlawson 0:35660d7952f7 72 uLCD.BLIT(u, v, 11, 11, colors);
rconnorlawson 0:35660d7952f7 73 wait_us(250); // Recovery time!
rconnorlawson 0:35660d7952f7 74 }
rconnorlawson 0:35660d7952f7 75
rconnorlawson 0:35660d7952f7 76 void draw_nothing(int u, int v)
rconnorlawson 0:35660d7952f7 77 {
rconnorlawson 0:35660d7952f7 78 // Fill a tile with blackness
rconnorlawson 0:35660d7952f7 79 uLCD.filled_rectangle(u, v, u+10, v+10, BLACK);
rconnorlawson 0:35660d7952f7 80 }
rconnorlawson 0:35660d7952f7 81
trich9 5:2fb023cdc666 82 void draw_expPnt(int u, int v){
trich9 5:2fb023cdc666 83 char expPntSprite[122] = "00YYYYYYY00000YYYYY000000YYYYY000000YYYYY0000000YYY00000000YYY00000000YYY00000000000000000000Y000000000YYY000000000Y00000";
trich9 5:2fb023cdc666 84 draw_img(u,v, expPntSprite);
trich9 5:2fb023cdc666 85 }
trich9 5:2fb023cdc666 86
rconnorlawson 0:35660d7952f7 87 void draw_wall(int u, int v)
rconnorlawson 0:35660d7952f7 88 {
trich9 4:2297a714936f 89 //OGCODE
trich9 4:2297a714936f 90 //uLCD.filled_rectangle(u, v, u+10, v+10, BROWN);
trich9 4:2297a714936f 91
trich9 4:2297a714936f 92 //MYCODE
trich9 4:2297a714936f 93 char wallSprite[122] = "IIIIIIIIIIIWWIIWWWIIWWIIWWIIIWWIIIIIIIIIIIIIWWWWWWWWWWWIIIIIIIIIIIWWWWWWWWWWWIIIIIIIIIIIIIWWIIIWWIIWWIIWWWIIWWIIIIIIIIIII";
trich9 4:2297a714936f 94 draw_img(u,v, wallSprite);
rconnorlawson 0:35660d7952f7 95 }
rconnorlawson 0:35660d7952f7 96
rconnorlawson 0:35660d7952f7 97 void draw_plant(int u, int v)
rconnorlawson 0:35660d7952f7 98 {
trich9 5:2fb023cdc666 99 //OGCODE
trich9 5:2fb023cdc666 100 //uLCD.filled_rectangle(u, v, u+10, v+10, GREEN);
trich9 5:2fb023cdc666 101 char plantSprite[122] = "00000G000000000GGG0000000GGGGG00000GGGGGGG000GGGGGGGGG00GGGGGGGGG0GGGGGGGGGGG0000DDD00000000DDD00000000DDD00000000DDD0000";
trich9 5:2fb023cdc666 102 draw_img(u,v, plantSprite);
rconnorlawson 0:35660d7952f7 103 }
rconnorlawson 0:35660d7952f7 104
trich9 4:2297a714936f 105 //MYCODE
trich9 4:2297a714936f 106 void draw_NPC(int u, int v)
trich9 4:2297a714936f 107 {
trich9 5:2fb023cdc666 108 //uLCD.filled_rectangle(u,v,u+10,v+10, YELLOW);
trich9 5:2fb023cdc666 109 char NPCSprite[122] = "00000000000000GGGGG00000GGGGGGG000GGAGGGAGG00GGAGGGAGG00GGGGGGGGG00GGGGGGGGG00GGAGGGAGG000GGAAAGG00000GGGGG00000000000000";
trich9 5:2fb023cdc666 110 draw_img(u,v, NPCSprite);
trich9 4:2297a714936f 111 }
trich9 4:2297a714936f 112
trich9 4:2297a714936f 113 void draw_ladder(int u, int v){
trich9 4:2297a714936f 114
trich9 4:2297a714936f 115 char ladderSprite[122] = "II0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000II";
trich9 4:2297a714936f 116 draw_img(u,v, ladderSprite);
trich9 4:2297a714936f 117 }
trich9 4:2297a714936f 118
trich9 5:2fb023cdc666 119 void draw_key(int u, int v){
trich9 5:2fb023cdc666 120 char keySprite[122] = "000YYYYY0000YYYYYYYY000YYYYYYYY000YYYYYYYY00000YYYYY00000000Y0000000000Y0000000YYYY0000000000Y0000000YYYY0000000000Y00000";
trich9 5:2fb023cdc666 121 draw_img(u,v,keySprite);
trich9 5:2fb023cdc666 122 }
trich9 5:2fb023cdc666 123
trich9 5:2fb023cdc666 124 void draw_sonar(int u, int v){
trich9 5:2fb023cdc666 125 char sonarSprite[122] = "00GGGGGGG000G0000000G0G000000000G00GGGGGGG000G0000000G00000GGG0000000G000G0000000000000000000Y000000000YYY0000000YYYYY000";
trich9 5:2fb023cdc666 126 draw_img(u,v,sonarSprite);
trich9 5:2fb023cdc666 127 }
trich9 5:2fb023cdc666 128
trich9 5:2fb023cdc666 129 void draw_treasure(int u, int v){
trich9 5:2fb023cdc666 130 char treasureSprite[122] = "000000000000YYDDDDDYY0YDDDDDDDDDYYDDDYYYDDDYIIIIYIYIIIIDDDDYYYDDDDDDDDDDDDDDDDDDDDDDDDDDIDDDDDDDDDIIIDDDDDDDII00000000000";
trich9 5:2fb023cdc666 131 draw_img(u,v,treasureSprite);
trich9 5:2fb023cdc666 132 }
trich9 5:2fb023cdc666 133
trich9 5:2fb023cdc666 134 void draw_water(int u, int v){
trich9 5:2fb023cdc666 135 char waterSprite[122] = "OOOOOOOOOOOOOOPOOOPOOOOOOPOOOPOOOOOPPOOPPOOOOOPOOOPOOOOOOPOOOPOOOOOOOOPOOOPOOOOOOPOOOPOOOOOPPOOPPOOOOOPOOOPOOOOOOOOOOOOOO";
trich9 5:2fb023cdc666 136 draw_img(u,v,waterSprite);
trich9 5:2fb023cdc666 137 }
trich9 5:2fb023cdc666 138
trich9 5:2fb023cdc666 139 //sparkle1
trich9 5:2fb023cdc666 140 void draw_waterS1(int u, int v){
trich9 5:2fb023cdc666 141 char waterS1Sprite[122] = "OOOOOOOOOOOOOOYOOOPOOOOOYYYOOPOOOOOPYOOPPOOOOOPOOOPOOOOOOPOOOPOOOOOOOOPOOOPOOOOOOPOYOPOOOOOPPOOPPOOOOOPOOOPOOOOOOOOOOOOOO";
trich9 5:2fb023cdc666 142 draw_img(u,v,waterS1Sprite);
trich9 5:2fb023cdc666 143 }
trich9 5:2fb023cdc666 144
trich9 5:2fb023cdc666 145 void draw_waterS2(int u, int v){
trich9 5:2fb023cdc666 146 char waterS2Sprite[122] = "OOOOOOOOOOOOOOOOOOPOOOOOOYOOOPOOOOOPOOOPPOOOOOPOOOPOOOOOOPOOOPOOOOOOOOPOYOPOOOOOOPYYYPOOOOOPPOYPPOOOOOPOOOPOOOOOOOOOOOOOO";
trich9 5:2fb023cdc666 147 draw_img(u,v,waterS2Sprite);
trich9 5:2fb023cdc666 148 }
trich9 5:2fb023cdc666 149
trich9 5:2fb023cdc666 150 void draw_rock(int u, int v){
trich9 5:2fb023cdc666 151 char rockSprite[122] = "00000000000000ISSI000000ISSIII0000IISIIIIS00ISIIIIISSI0ISIIIIISIISIISIISISIISISIIISIISSISSIISIISSISSIIISIISIIS0IIISSSIIII";
trich9 5:2fb023cdc666 152 draw_img(u,v,rockSprite);
trich9 5:2fb023cdc666 153 }
trich9 5:2fb023cdc666 154
trich9 5:2fb023cdc666 155
trich9 5:2fb023cdc666 156
trich9 5:2fb023cdc666 157 void draw_gate(int u, int v){
trich9 5:2fb023cdc666 158 char gateSprite[122] = "00000000000000YYYYY000000YY0YY000000Y000Y000YYYY000YYYYYYYYY0YYYYYYYYYY0YYYYY000Y000Y000000YY0YY000000YYYYY00000000000000";
trich9 5:2fb023cdc666 159 draw_img(u,v,gateSprite);
trich9 5:2fb023cdc666 160 }
trich9 5:2fb023cdc666 161
trich9 5:2fb023cdc666 162 void draw_prisoner(int u, int v){
trich9 5:2fb023cdc666 163 char prisonerSprite[122] = "IIIIIIIIIIIIWWPWWWPWWIIIIPIIIPIIIIWWPWWWPWWIIIIIIIIIIIIIWWWWWWWWWIIIIIIIIIIIIIWWPPPPPWWIIIIPPPPPIIIIWWWWWWWWWIIIIIIIIIIII";
trich9 5:2fb023cdc666 164 draw_img(u,v,prisonerSprite);
trich9 5:2fb023cdc666 165 }
trich9 5:2fb023cdc666 166
trich9 5:2fb023cdc666 167 //"IIIIIIIIIIIIWWPWWWPWWIIIIPIIIPIIIIWWPWWWPWWIIIIIIIIIIIIIWWWWWWWWWIIIIIIIIIIIIIWWPPPPPWWIIIIPPPPPIIIIWWWWWWWWWIIIIIIIIIIII";
trich9 5:2fb023cdc666 168
trich9 5:2fb023cdc666 169 void draw_wood(int u, int v)
trich9 5:2fb023cdc666 170 {
trich9 5:2fb023cdc666 171 // Fill a tile with blackness
trich9 5:2fb023cdc666 172 uLCD.filled_rectangle(u, v, u+10, v+10, BROWN);
trich9 5:2fb023cdc666 173 }
trich9 5:2fb023cdc666 174
trich9 4:2297a714936f 175 void draw_upper_status(int playerX, int playerY)
rconnorlawson 0:35660d7952f7 176 {
rconnorlawson 0:35660d7952f7 177 // Draw bottom border of status bar
rconnorlawson 0:35660d7952f7 178 uLCD.line(0, 9, 127, 9, GREEN);
rconnorlawson 0:35660d7952f7 179
rconnorlawson 0:35660d7952f7 180 // Add other status info drawing code here
trich9 4:2297a714936f 181
trich9 4:2297a714936f 182 //MYCODE
trich9 4:2297a714936f 183 uLCD.locate(1,0);
trich9 4:2297a714936f 184 uLCD.printf("(%d, %d)", playerX, playerY);
trich9 4:2297a714936f 185
trich9 4:2297a714936f 186
trich9 4:2297a714936f 187
rconnorlawson 0:35660d7952f7 188 }
rconnorlawson 0:35660d7952f7 189
rconnorlawson 0:35660d7952f7 190 void draw_lower_status()
rconnorlawson 0:35660d7952f7 191 {
rconnorlawson 0:35660d7952f7 192 // Draw top border of status bar
rconnorlawson 0:35660d7952f7 193 uLCD.line(0, 118, 127, 118, GREEN);
rconnorlawson 0:35660d7952f7 194
rconnorlawson 0:35660d7952f7 195 // Add other status info drawing code here
rconnorlawson 0:35660d7952f7 196 }
rconnorlawson 0:35660d7952f7 197
rconnorlawson 0:35660d7952f7 198 void draw_border()
rconnorlawson 0:35660d7952f7 199 {
rconnorlawson 0:35660d7952f7 200 uLCD.filled_rectangle(0, 9, 127, 14, WHITE); // Top
rconnorlawson 0:35660d7952f7 201 uLCD.filled_rectangle(0, 13, 2, 114, WHITE); // Left
rconnorlawson 0:35660d7952f7 202 uLCD.filled_rectangle(0, 114, 127, 117, WHITE); // Bottom
rconnorlawson 0:35660d7952f7 203 uLCD.filled_rectangle(124, 14, 127, 117, WHITE); // Right
rconnorlawson 0:35660d7952f7 204 }
rconnorlawson 0:35660d7952f7 205
rconnorlawson 0:35660d7952f7 206