Finished V1
Dependencies: mbed wave_player 4DGL-uLCD-SE MMA8452
Diff: graphics.cpp
- Revision:
- 5:2fb023cdc666
- Parent:
- 4:2297a714936f
--- a/graphics.cpp Tue Nov 19 16:53:47 2019 +0000 +++ b/graphics.cpp Sun Nov 24 03:22:35 2019 +0000 @@ -4,14 +4,20 @@ -void draw_player(int u, int v, int key) +void draw_player(int u, int v, int key, int needBoat) { //OGCODE //uLCD.filled_rectangle(u, v, u+11, v+11, RED); //MYCODE - char playerSprite[122] = "0000000000000QQQQQQQ0000QUUUUUQ0000QUEUEUQ0000QUUUUUQ000000TUT0000000TUUUT000000TWWWT000000TUUUT000000TUTUT000000TUTUT000"; - draw_img(u,v, playerSprite); + if(needBoat == 0){ + char playerSprite[122] = "0000000000000QQQQQQQ0000QUUUUUQ0000QUEUEUQ0000QUUUUUQ000000TUT0000000TUUUT000000TWWWT000000TUUUT000000TUTUT000000TUTUT000"; + draw_img(u,v, playerSprite); + } + else{ + char playerBoatSprite[122] = "OOOOOOOOOOOOOOODDDOOOOOOODDDDDOOOOODDDDDDDOOOODUUUUUDOOOODUEUEUDOOOODUUUUUDOOOODDDDDDDOOOODDDDDDDOOOODDDDDDDOOOOOOOOOOOOO"; + draw_img(u,v, playerBoatSprite); + } } #define YELLOW 0xFFFF00 @@ -23,6 +29,11 @@ #define PCOAT 0xF7C6C6 #define PSKIN 0xFF9900 #define WGRAY 0xC9C9C9 +#define PINK 0xE009EB +#define LBWTR 0x00C4FF +#define DBWTR 0x0C667D +#define RGRAY 0x242424 + //MYCODE @@ -48,6 +59,13 @@ //WALL else if (img[i] == 'I') colors[i] = WGRAY; + //NPC + else if (img[i] == 'A') colors[i] = PINK; + //WATER + else if (img[i] == 'O') colors[i] = LBWTR; + else if (img[i] == 'P') colors[i] = DBWTR; + //ROCKS + else if (img[i] == 'S') colors[i] = RGRAY; //ENDMYCODE else colors[i] = BLACK; } @@ -61,6 +79,11 @@ uLCD.filled_rectangle(u, v, u+10, v+10, BLACK); } +void draw_expPnt(int u, int v){ + char expPntSprite[122] = "00YYYYYYY00000YYYYY000000YYYYY000000YYYYY0000000YYY00000000YYY00000000YYY00000000000000000000Y000000000YYY000000000Y00000"; + draw_img(u,v, expPntSprite); +} + void draw_wall(int u, int v) { //OGCODE @@ -73,13 +96,18 @@ void draw_plant(int u, int v) { - uLCD.filled_rectangle(u, v, u+10, v+10, GREEN); + //OGCODE + //uLCD.filled_rectangle(u, v, u+10, v+10, GREEN); + char plantSprite[122] = "00000G000000000GGG0000000GGGGG00000GGGGGGG000GGGGGGGGG00GGGGGGGGG0GGGGGGGGGGG0000DDD00000000DDD00000000DDD00000000DDD0000"; + draw_img(u,v, plantSprite); } //MYCODE void draw_NPC(int u, int v) { - uLCD.filled_rectangle(u,v,u+10,v+10, YELLOW); + //uLCD.filled_rectangle(u,v,u+10,v+10, YELLOW); + char NPCSprite[122] = "00000000000000GGGGG00000GGGGGGG000GGAGGGAGG00GGAGGGAGG00GGGGGGGGG00GGGGGGGGG00GGAGGGAGG000GGAAAGG00000GGGGG00000000000000"; + draw_img(u,v, NPCSprite); } void draw_ladder(int u, int v){ @@ -88,6 +116,62 @@ draw_img(u,v, ladderSprite); } +void draw_key(int u, int v){ + char keySprite[122] = "000YYYYY0000YYYYYYYY000YYYYYYYY000YYYYYYYY00000YYYYY00000000Y0000000000Y0000000YYYY0000000000Y0000000YYYY0000000000Y00000"; + draw_img(u,v,keySprite); +} + +void draw_sonar(int u, int v){ + char sonarSprite[122] = "00GGGGGGG000G0000000G0G000000000G00GGGGGGG000G0000000G00000GGG0000000G000G0000000000000000000Y000000000YYY0000000YYYYY000"; + draw_img(u,v,sonarSprite); +} + +void draw_treasure(int u, int v){ + char treasureSprite[122] = "000000000000YYDDDDDYY0YDDDDDDDDDYYDDDYYYDDDYIIIIYIYIIIIDDDDYYYDDDDDDDDDDDDDDDDDDDDDDDDDDIDDDDDDDDDIIIDDDDDDDII00000000000"; + draw_img(u,v,treasureSprite); +} + +void draw_water(int u, int v){ + char waterSprite[122] = "OOOOOOOOOOOOOOPOOOPOOOOOOPOOOPOOOOOPPOOPPOOOOOPOOOPOOOOOOPOOOPOOOOOOOOPOOOPOOOOOOPOOOPOOOOOPPOOPPOOOOOPOOOPOOOOOOOOOOOOOO"; + draw_img(u,v,waterSprite); +} + +//sparkle1 +void draw_waterS1(int u, int v){ + char waterS1Sprite[122] = "OOOOOOOOOOOOOOYOOOPOOOOOYYYOOPOOOOOPYOOPPOOOOOPOOOPOOOOOOPOOOPOOOOOOOOPOOOPOOOOOOPOYOPOOOOOPPOOPPOOOOOPOOOPOOOOOOOOOOOOOO"; + draw_img(u,v,waterS1Sprite); +} + +void draw_waterS2(int u, int v){ + char waterS2Sprite[122] = "OOOOOOOOOOOOOOOOOOPOOOOOOYOOOPOOOOOPOOOPPOOOOOPOOOPOOOOOOPOOOPOOOOOOOOPOYOPOOOOOOPYYYPOOOOOPPOYPPOOOOOPOOOPOOOOOOOOOOOOOO"; + draw_img(u,v,waterS2Sprite); +} + +void draw_rock(int u, int v){ + char rockSprite[122] = "00000000000000ISSI000000ISSIII0000IISIIIIS00ISIIIIISSI0ISIIIIISIISIISIISISIISISIIISIISSISSIISIISSISSIIISIISIIS0IIISSSIIII"; + draw_img(u,v,rockSprite); +} + + + +void draw_gate(int u, int v){ + char gateSprite[122] = "00000000000000YYYYY000000YY0YY000000Y000Y000YYYY000YYYYYYYYY0YYYYYYYYYY0YYYYY000Y000Y000000YY0YY000000YYYYY00000000000000"; + draw_img(u,v,gateSprite); +} + +void draw_prisoner(int u, int v){ + char prisonerSprite[122] = "IIIIIIIIIIIIWWPWWWPWWIIIIPIIIPIIIIWWPWWWPWWIIIIIIIIIIIIIWWWWWWWWWIIIIIIIIIIIIIWWPPPPPWWIIIIPPPPPIIIIWWWWWWWWWIIIIIIIIIIII"; + draw_img(u,v,prisonerSprite); +} + +//"IIIIIIIIIIIIWWPWWWPWWIIIIPIIIPIIIIWWPWWWPWWIIIIIIIIIIIIIWWWWWWWWWIIIIIIIIIIIIIWWPPPPPWWIIIIPPPPPIIIIWWWWWWWWWIIIIIIIIIIII"; + +void draw_wood(int u, int v) +{ + // Fill a tile with blackness + uLCD.filled_rectangle(u, v, u+10, v+10, BROWN); +} + void draw_upper_status(int playerX, int playerY) { // Draw bottom border of status bar