Dependencies: mbed
Game/Game.cpp@5:ed71996c0534, 2020-05-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |