khoa phan test
Dependencies: 4DGL-uLCD-SE MMA8452 mbed wave_player
Fork of rpg_game_shell by
Diff: graphics.cpp
- Revision:
- 2:2f32fe4dadab
- Parent:
- 0:35660d7952f7
--- a/graphics.cpp Wed Apr 04 21:11:07 2018 +0000 +++ b/graphics.cpp Sun Apr 22 02:27:42 2018 +0000 @@ -1,17 +1,13 @@ #include "graphics.h" - #include "globals.h" - - - -void draw_player(int u, int v, int key) -{ - uLCD.filled_rectangle(u, v, u+11, v+11, RED); -} - #define YELLOW 0xFFFF00 #define BROWN 0xD2691E #define DIRT BROWN +#define RED 0xFF0000 +#define ORANGE 0xFFA500 +#define BLACK 0x000000 +#define WHITE 0xffffff +#define SKIN 0xDCB847 void draw_img(int u, int v, const char* img) { int colors[11*11]; @@ -23,12 +19,115 @@ else if (img[i] == 'D') colors[i] = DIRT; else if (img[i] == '5') colors[i] = LGREY; else if (img[i] == '3') colors[i] = DGREY; + else if (img[i] == 'R') colors[i] = RED; + else if (img[i] == 'B') colors[i] = BLACK; + else if (img[i] == 'W') colors[i] = WHITE; + else if (img[i] == 'S') colors[i] = SKIN; else colors[i] = BLACK; } uLCD.BLIT(u, v, 11, 11, colors); wait_us(250); // Recovery time! } +const char duck[121] = { + 'B','B','B','B','B','B','Y','Y','Y','B','B', + 'B','B','B','B','B','Y','Y','Y','Y','Y','B', + 'B','B','B','B','B','Y','Y','Y','B','Y','B', + 'B','B','B','B','B','Y','Y','Y','Y','O','R', + 'Y','B','Y','Y','Y','Y','Y','Y','Y','B','B', + 'Y','5','Y','Y','5','Y','Y','Y','Y','Y','B', + 'Y','Y','5','5','Y','Y','Y','Y','Y','Y','B', + 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', + 'B','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', + 'B','Y','Y','Y','Y','Y','Y','Y','Y','Y','B', + 'B','Y','Y','Y','Y','Y','Y','Y','Y','Y','B', + }; +const char apple[121] = { + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','G','G','B','D','B','B','B','B', + 'B','B','B','B','G','D','B','B','B','B','B', + 'B','B','R','B','B','R','R','R','B','B','B', + 'B','R','W','W','R','R','R','R','R','R','B', + 'B','R','W','R','R','R','R','R','R','R','B', + 'B','R','R','R','R','R','R','R','R','R','B', + 'B','R','R','R','R','R','R','R','R','R','B', + 'B','B','R','R','R','R','R','R','R','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + }; + +const char poisonapple[121] = { + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','G','G','B','D','B','B','B','B', + 'B','B','B','B','G','D','B','B','B','B','B', + 'B','B','R','B','B','R','R','R','G','B','B', + 'B','G','W','W','R','R','R','R','R','R','B', + 'B','R','W','R','G','R','R','R','R','R','B', + 'B','R','R','R','R','R','R','R','G','R','B', + 'B','R','R','G','R','R','R','R','R','R','B', + 'B','B','R','R','R','R','R','R','R','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + }; + +const char oldMan[121] = { + 'B','B','B','B','S','S','S','S','B','B','B', + 'B','B','B','S','S','S','S','S','S','B','B', + 'B','B','3','W','S','S','S','S','S','B','B', + 'B','B','3','B','W','W','S','W','W','B','B', + 'B','B','3','S','B','S','S','S','B','B','B', + 'B','B','3','3','S','R','R','R','S','B','B', + 'B','D','D','D','3','3','3','3','B','B','B', + 'B','D','S','D','D','3','3','3','B','B','B', + 'B','D','S','D','D','D','3','S','B','B','B', + 'B','B','B','D','D','D','3','D','B','B','B', + 'B','B','B','S','B','S','B','D','B','B','B', + }; + +const char goldkey [121] = { + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','Y','Y','Y','Y','B', + 'B','Y','Y','Y','Y','Y','Y','W','W','Y','B', + 'B','Y','Y','Y','Y','Y','Y','W','W','Y','B', + 'B','Y','B','Y','B','B','Y','Y','Y','Y','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + }; +const char door [121] = { + 'D','D','D','D','D','D','D','D','D','D','D', + 'D','D','D','D','D','D','D','D','D','D','D', + 'D','D','D','D','D','D','D','D','D','D','D', + 'D','D','D','D','D','D','D','D','D','B','D', + 'D','D','D','D','D','D','D','D','D','B','D', + 'D','D','D','D','D','D','D','D','D','B','D', + 'D','D','D','D','D','D','D','D','D','B','D', + 'D','D','D','D','D','D','D','D','D','B','D', + 'D','D','D','D','D','D','D','D','D','D','D', + 'D','D','D','D','D','D','D','D','D','D','D', + 'D','D','D','D','D','D','D','D','D','D','D', + }; + +const char plant [121] = { + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','B','B','B','B','B','B','B','B', + 'B','B','B','G','B','G','B','G','G','B','B', + 'B','B','G','G','G','G','G','G','G','G','B', + 'B','G','G','G','G','G','G','G','G','G','B', + 'G','G','G','G','G','G','G','G','G','B','B', + 'B','G','G','G','G','G','G','G','G','G','B', + 'G','G','G','G','G','G','G','G','G','G','B', + 'G','G','G','G','G','G','G','G','G','G','G', + }; + +void draw_player(int u, int v, int key) +{ + draw_img(u, v, duck); +} + void draw_nothing(int u, int v) { // Fill a tile with blackness @@ -38,11 +137,11 @@ void draw_wall(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, BROWN); -} +} void draw_plant(int u, int v) { - uLCD.filled_rectangle(u, v, u+10, v+10, GREEN); + draw_img(u, v, plant); } void draw_upper_status() @@ -69,4 +168,41 @@ uLCD.filled_rectangle(124, 14, 127, 117, WHITE); // Right } +void draw_startScreen() +{ + uLCD.text_bold(ON); + uLCD.text_string("Homebound Duck", 3, 1, FONT_7X8, WHITE); + uLCD.text_string("HELP THIS DUCK", 2, 7,FONT_7X8, WHITE); + uLCD.text_string("RETURN HOME", 5, 9,FONT_7X8, WHITE); + uLCD.text_string("Press any button", 1, 14, FONT_7X8, WHITE); + uLCD.text_string("to start", 1, 15, FONT_7X8, WHITE); +} +void draw_gameend() +{ + uLCD.filled_rectangle(0,0, 127, 127, BLACK); // Top + uLCD.text_bold(ON); + uLCD.text_string("Game Over", 4, 1, FONT_7X8, WHITE); +} +void draw_NPC(int u, int v) +{ + draw_img(u, v, oldMan); +} +void draw_apple(int u, int v) +{ + draw_img(u,v,apple); +} +void draw_poiapple(int u, int v) +{ + draw_img(u,v,poisonapple); +} +void draw_door(int u, int v) +{ + draw_img(u,v,door); +} +void draw_key(int u, int v) +{ + draw_img(u,v,goldkey); +} + +