![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
game for 2035
Dependencies: mbed wave_player 4DGL-uLCD-SE MMA8452
graphics.cpp
- Committer:
- Sterofin
- Date:
- 2018-11-30
- Revision:
- 4:af9d6e3b8a29
- Parent:
- 2:06c63d567719
- Child:
- 5:a16af8f3fea9
File content as of revision 4:af9d6e3b8a29:
#include "graphics.h" #include "globals.h" #define W 0xffffff #define G 0xcccccc #define P 0xb700b7 #define R 0xff0015 #define N 0x0 #define B 0x005dff #define DB 0x592e03 #define O 0xff9b38 void draw_player(int u, int v, int key) { //uLCD.filled_rectangle(u, v, u+11, v+11, RED); int player[121] = { N,N,N,N,P,P,N,N,N,N,N, N,N,N,P,P,W,W,N,N,N,N, N,N,N,P,G,G,G,N,N,N,N, N,N,P,P,W,W,W,N,N,N,N, N,N,P,R,R,B,R,R,N,N,N, N,N,N,R,R,B,R,R,N,N,N, N,N,N,R,R,B,R,R,N,N,N, N,N,N,R,B,B,B,R,N,N,N, N,N,N,R,B,N,B,R,N,N,N, N,N,N,N,B,N,B,N,N,N,N, N,N,N,N,B,N,B,N,N,N,N }; uLCD.BLIT(u,v,11,11,&player[0]); } #define YELLOW 0xFFFF00 #define BROWN 0xD2691E #define DIRT BROWN 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; 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_wall(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, BROWN); } void draw_netPortal(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, WHITE); } void draw_terminal(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, 0x359aff); } void draw_hacked_terminal(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, 0x52ff3f); } void draw_plant(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, GREEN); } void draw_door(int u, int v) { uLCD.filled_rectangle(u, v, u+10, v+10, G); } void draw_NPC(int u, int v) { //uLCD.filled_rectangle(u, v, u+10, v+10, 0xffb600); int player[121] = { N,N,N,N,DB,DB,DB,N,N,N,N, N,N,N,N,BROWN,BROWN,BROWN,N,N,N,N, N,N,N,N,G,BROWN,G,N,N,N,N, N,N,N,N,DB,DB,DB,N,N,N, N,N,N,W,W,O,W,W,N,N,N, N,N,N,W,W,O,W,W,N,N,N, N,N,N,W,W,O,W,W,N,N,N, N,N,N,W,R,R,R,W,N,N,N, N,N,N,N,R,N,R,N,N,N,N, N,N,N,N,R,N,R,N,N,N,N, N,N,N,N,R,N,R,N,N,N,N }; uLCD.BLIT(u,v,11,11,&player[0]); } void draw_upper_status(int x, int y) { // Draw bottom border of status bar //uLCD.line(0, 9, 127, 9, GREEN); uLCD.locate(0,0); uLCD.printf("(%d,%d)",x,y); // Add other status info drawing code here } void draw_lower_status(int money) { // Draw top border of status bar //uLCD.line(0, 118, 127, 118, GREEN); uLCD.locate(0,118); uLCD.printf("Credits: %d",money); // 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 } void draw_menu_1() { uLCD.locate(1,12); uLCD.text_width(1); //4X size text uLCD.text_height(1); uLCD.color(RED); uLCD.printf(" Press Start "); } void draw_menu_2() { uLCD.filled_rectangle(0,90,128,115, 0x0); } void draw_boots(int u, int v) { int image[121] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xe8,0xe8,0xe8,0xe8,0xe8,0x00,0x00,0x00, 0x00,0x00,0x00,0xe8,0xe8,0xe8,0xe8,0xe8,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x69,0x69,0x69,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x69,0x69,0x69,0xfc,0x69,0x69,0x00, 0xe8,0xe8,0xe8,0xe8,0xe8,0x69,0xfc,0x69,0x69,0x69,0x69, 0xe8,0xe8,0xe8,0xe8,0xe8,0xfc,0x69,0x69,0x69,0x69,0x69, 0x00,0x69,0x69,0x69,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x69,0x69,0x69,0xfc,0x69,0x69,0x00,0x00,0x00,0x00, 0x00,0x69,0x69,0xfc,0x69,0x69,0x69,0x69,0x00,0x00,0x00, 0x00,0x69,0xfc,0x69,0x69,0x69,0x69,0x69,0x00,0x00,0x00 }; uLCD.BLIT(u,v,11,11,&image[0]); } void draw_printer(int u, int v) { int image[121] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x00,0x6d,0x00,0x00,0x00,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x00,0x6d,0x00,0x00,0x00,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x00,0x6d,0x00,0x00,0x00,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x6d,0x6d,0x6d,0x00,0x00,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x6d,0x6d,0x6d,0x00,0x00,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x00,0x49,0x00,0x00,0x00,0x0a,0x00, 0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00, 0x00,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; uLCD.BLIT(u,v,11,11,&image[0]); } void draw_teleport(int u, int v) { int image[121] = { 0x00,0x00,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x00,0x00, 0x00,0x2a,0x2a,0xff,0xff,0xff,0xff,0xff,0x2a,0x2a,0x00, 0x2a,0x2a,0xe1,0xe1,0xe1,0xe1,0xe1,0xe1,0xe1,0x2a,0x2a, 0x2a,0xff,0xe1,0xe1,0xe1,0xe1,0xe1,0xe1,0xe1,0xff,0x2a, 0x2a,0xff,0xe1,0xe1,0xe1,0xe1,0xe1,0xe1,0xe1,0x00,0x2a, 0x2a,0xff,0xff,0xff,0xe1,0xe1,0xe1,0xff,0xff,0xff,0x2a, 0x2a,0xff,0xff,0xff,0xe1,0xe1,0xe1,0xff,0xff,0xff,0x2a, 0x2a,0xff,0xff,0xff,0xe1,0xe1,0xe1,0xff,0xff,0xff,0x2a, 0x2a,0x2a,0xff,0xff,0xe1,0xe1,0xe1,0xff,0xff,0x2a,0x2a, 0x00,0x2a,0x2a,0xff,0xe1,0xe1,0xe1,0xff,0x2a,0x2a,0x00, 0x00,0x00,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x00,0x00 }; uLCD.BLIT(u,v,11,11,&image[0]); } void draw_gun(int u, int v) { int image[121] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x2a,0x2a,0x00,0x00,0x2a,0x2a,0x00,0x00, 0x00,0x00,0x2a,0x2a,0x00,0x00,0x2a,0x2a,0x00,0x00,0x00, 0x2a,0x2a,0x2a,0x00,0x00,0x2a,0x2a,0x00,0x00,0x00,0x00, 0x2a,0xc0,0x2a,0x00,0x00,0x2a,0x2a,0x00,0x00,0x00,0x00, 0x2a,0xc0,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x00, 0x2a,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0, 0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; uLCD.BLIT(u,v,11,11,&image[0]); }