Finished V1
Dependencies: mbed wave_player 4DGL-uLCD-SE MMA8452
graphics.cpp
- Committer:
- trich9
- Date:
- 2019-11-24
- Revision:
- 5:2fb023cdc666
- Parent:
- 4:2297a714936f
File content as of revision 5:2fb023cdc666:
#include "graphics.h" #include "globals.h" void draw_player(int u, int v, int key, int needBoat) { //OGCODE //uLCD.filled_rectangle(u, v, u+11, v+11, RED); //MYCODE 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 #define BROWN 0xD2691E #define DIRT BROWN //MYCODE #define PHAIR 0x663F04 #define DGREEN 0x384236 #define PCOAT 0xF7C6C6 #define PSKIN 0xFF9900 #define WGRAY 0xC9C9C9 #define PINK 0xE009EB #define LBWTR 0x00C4FF #define DBWTR 0x0C667D #define RGRAY 0x242424 //MYCODE void draw_img(int u, int v, const char* img) { int colors[11*11]; for (int i = 0; i < 11*11; i++) { if (img[i] == 'R') colors[i] = RED; else if (img[i] == 'Y') colors[i] = YELLOW; else if (img[i] == 'G') colors[i] = GREEN; else if (img[i] == 'D') colors[i] = DIRT; else if (img[i] == '5') colors[i] = LGREY; else if (img[i] == '3') colors[i] = DGREY; //MYCODE //Player colors else if (img[i] == 'Q') colors[i] = PHAIR; else if (img[i] == 'E') colors[i] = DGREEN; else if (img[i] == 'W') colors[i] = WHITE; else if (img[i] == 'T') colors[i] = PCOAT; else if (img[i] == 'U') colors[i] = PSKIN; //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; } uLCD.BLIT(u, v, 11, 11, colors); wait_us(250); // Recovery time! } void draw_nothing(int u, int v) { // Fill a tile with blackness 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 //uLCD.filled_rectangle(u, v, u+10, v+10, BROWN); //MYCODE char wallSprite[122] = "IIIIIIIIIIIWWIIWWWIIWWIIWWIIIWWIIIIIIIIIIIIIWWWWWWWWWWWIIIIIIIIIIIWWWWWWWWWWWIIIIIIIIIIIIIWWIIIWWIIWWIIWWWIIWWIIIIIIIIIII"; draw_img(u,v, wallSprite); } void draw_plant(int u, int v) { //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); char NPCSprite[122] = "00000000000000GGGGG00000GGGGGGG000GGAGGGAGG00GGAGGGAGG00GGGGGGGGG00GGGGGGGGG00GGAGGGAGG000GGAAAGG00000GGGGG00000000000000"; draw_img(u,v, NPCSprite); } void draw_ladder(int u, int v){ char ladderSprite[122] = "II0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000IIIIIIIIIIIIIII0000000II"; 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 uLCD.line(0, 9, 127, 9, GREEN); // Add other status info drawing code here //MYCODE uLCD.locate(1,0); uLCD.printf("(%d, %d)", playerX, playerY); } void draw_lower_status() { // Draw top border of status bar uLCD.line(0, 118, 127, 118, GREEN); // Add other status info drawing code here } void draw_border() { uLCD.filled_rectangle(0, 9, 127, 14, WHITE); // Top uLCD.filled_rectangle(0, 13, 2, 114, WHITE); // Left uLCD.filled_rectangle(0, 114, 127, 117, WHITE); // Bottom uLCD.filled_rectangle(124, 14, 127, 117, WHITE); // Right }