Dependencies:   mbed

Committer:
KaifK
Date:
Sat May 16 14:38:22 2020 +0000
Revision:
5:ed71996c0534
Parent:
4:08a0ff6668df
Child:
6:09a555c0d997
lost code rebuilt part 2 (game.cpp rebuilt update lives and score methods and background)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KaifK 4:08a0ff6668df 1 #include "Game.h"
KaifK 4:08a0ff6668df 2 int grass[7][7] = {
KaifK 4:08a0ff6668df 3 {0,0,0,0,0,0,0},
KaifK 4:08a0ff6668df 4 {0,0,0,0,0,0,0},
KaifK 4:08a0ff6668df 5 {0,0,1,0,0,0,0},
KaifK 4:08a0ff6668df 6 {0,0,1,0,1,0,0},
KaifK 4:08a0ff6668df 7 {0,1,0,1,0,1,0},
KaifK 4:08a0ff6668df 8 {0,1,0,1,0,1,0},
KaifK 4:08a0ff6668df 9 {1,0,1,0,0,0,1}
KaifK 4:08a0ff6668df 10 };
KaifK 4:08a0ff6668df 11 int grass_small[3][3] = {
KaifK 4:08a0ff6668df 12 {1,0,1},
KaifK 4:08a0ff6668df 13 {0,1,0},
KaifK 4:08a0ff6668df 14 {1,1,1},
KaifK 4:08a0ff6668df 15 };
KaifK 4:08a0ff6668df 16 int goal[24][70] = {
KaifK 4:08a0ff6668df 17 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
KaifK 4:08a0ff6668df 18 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
KaifK 4:08a0ff6668df 19 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
KaifK 4:08a0ff6668df 20 {0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0},
KaifK 4:08a0ff6668df 21 {0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0},
KaifK 4:08a0ff6668df 22 {0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 23 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 24 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 25 {0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 26 {0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 27 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 28 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 29 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 30 {0,1,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 31 {0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 32 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 33 {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 34 {0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 35 {0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0},
KaifK 4:08a0ff6668df 36 {0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0},
KaifK 4:08a0ff6668df 37 {0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0},
KaifK 4:08a0ff6668df 38 {0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 39 {0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0},
KaifK 4:08a0ff6668df 40 {0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0}
KaifK 4:08a0ff6668df 41 };
KaifK 4:08a0ff6668df 42 Game::Game() {}
KaifK 4:08a0ff6668df 43 Game::~Game() {}
KaifK 4:08a0ff6668df 44
KaifK 4:08a0ff6668df 45 void Game::init() {
KaifK 4:08a0ff6668df 46 _level =1;
KaifK 4:08a0ff6668df 47 _is_goal = false;
KaifK 5:ed71996c0534 48 _lives = 2;
KaifK 5:ed71996c0534 49 _score =22;
KaifK 4:08a0ff6668df 50 _speed = 1;
KaifK 4:08a0ff6668df 51 }
KaifK 4:08a0ff6668df 52 void Game::displayLevel(int level, N5110 &lcd) {
KaifK 5:ed71996c0534 53 _level = level;
KaifK 4:08a0ff6668df 54 display_background(lcd);
KaifK 4:08a0ff6668df 55 }
KaifK 5:ed71996c0534 56 void Game::updateLives(Gamepad &pad) {
KaifK 5:ed71996c0534 57 switch(_lives){
KaifK 5:ed71996c0534 58 case 1:
KaifK 5:ed71996c0534 59 pad.leds(0.0);
KaifK 5:ed71996c0534 60 pad.led(1,1.0); //red leds only
KaifK 5:ed71996c0534 61 pad.led(4,1.0);
KaifK 5:ed71996c0534 62 break;
KaifK 5:ed71996c0534 63 case 2:
KaifK 5:ed71996c0534 64 pad.leds_off();
KaifK 5:ed71996c0534 65 pad.led(1,1.0); //red and yellow leds
KaifK 5:ed71996c0534 66 pad.led(2,1.0);
KaifK 5:ed71996c0534 67 pad.led(4,1.0);
KaifK 5:ed71996c0534 68 pad.led(5,1.0);
KaifK 5:ed71996c0534 69 break;
KaifK 5:ed71996c0534 70 case 3:
KaifK 5:ed71996c0534 71 pad.leds(1.0);
KaifK 5:ed71996c0534 72 break;
KaifK 5:ed71996c0534 73 default:
KaifK 5:ed71996c0534 74 error("Invalid state");
KaifK 5:ed71996c0534 75 break;
KaifK 5:ed71996c0534 76 }
KaifK 5:ed71996c0534 77 }
KaifK 5:ed71996c0534 78 void Game::updateScore(N5110 &lcd) {
KaifK 5:ed71996c0534 79 char buffer[12];
KaifK 5:ed71996c0534 80 sprintf(buffer,"%d",_score);
KaifK 5:ed71996c0534 81 lcd.printString(buffer,2,5);
KaifK 5:ed71996c0534 82 }
KaifK 4:08a0ff6668df 83 void display_background(N5110 &lcd){
KaifK 4:08a0ff6668df 84 //draw goal
KaifK 4:08a0ff6668df 85 lcd.drawSprite(7,0,24,70,(int *)goal);
KaifK 4:08a0ff6668df 86 //draw grass
KaifK 4:08a0ff6668df 87 lcd.drawSprite(1,17,7,7,(int *)grass);
KaifK 4:08a0ff6668df 88 lcd.drawSprite(76,17,7,7,(int *)grass);
KaifK 4:08a0ff6668df 89 lcd.drawSprite(67,26,3,3,(int *)grass_small);
KaifK 4:08a0ff6668df 90 lcd.drawSprite(67,26,3,3,(int *)grass_small);
KaifK 4:08a0ff6668df 91 lcd.drawSprite(6,35,3,3,(int *)grass_small);
KaifK 4:08a0ff6668df 92 lcd.drawSprite(72,32,3,3,(int *)grass_small);
KaifK 4:08a0ff6668df 93 lcd.drawSprite(69,43,3,3,(int *)grass_small);
KaifK 5:ed71996c0534 94 lcd.drawSprite(16,29,3,3,(int *)grass_small);
KaifK 4:08a0ff6668df 95 //ground line
KaifK 4:08a0ff6668df 96 lcd.drawLine(0,24,84,24,1);
KaifK 5:ed71996c0534 97 //score card
KaifK 5:ed71996c0534 98 lcd.drawRect(0,38,15,11,FILL_TRANSPARENT);
KaifK 4:08a0ff6668df 99 }