ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Committer:
S_Tingle
Date:
Wed May 08 18:36:45 2019 +0000
Revision:
20:ad13b0fdd8ff
Parent:
19:1073cc64cb0b
Child:
21:7d4827af00d6
fixed proportions of maze

Who changed what in which revision?

UserRevisionLine numberNew contents of line
S_Tingle 5:e6cb6fda5b37 1 #include "Game.h"
S_Tingle 5:e6cb6fda5b37 2
S_Tingle 5:e6cb6fda5b37 3 Game::Game(){
S_Tingle 17:ce6b54422113 4
S_Tingle 5:e6cb6fda5b37 5 }
S_Tingle 5:e6cb6fda5b37 6
S_Tingle 5:e6cb6fda5b37 7 Game::~Game(){
S_Tingle 5:e6cb6fda5b37 8
S_Tingle 5:e6cb6fda5b37 9 }
S_Tingle 5:e6cb6fda5b37 10
S_Tingle 5:e6cb6fda5b37 11 void Game::init(){
S_Tingle 5:e6cb6fda5b37 12 smiley.init(x,y);
S_Tingle 19:1073cc64cb0b 13 _lives = 10;
S_Tingle 18:ba4159ab4da7 14 coin1.init(41, 42);
S_Tingle 18:ba4159ab4da7 15 coin2.init(41, 23);
S_Tingle 19:1073cc64cb0b 16 coin3.init(78, 42);
S_Tingle 19:1073cc64cb0b 17 coin4.init(31, 35);
S_Tingle 5:e6cb6fda5b37 18 }
S_Tingle 5:e6cb6fda5b37 19
S_Tingle 5:e6cb6fda5b37 20 void Game::dirmag(Gamepad &pad){
S_Tingle 5:e6cb6fda5b37 21 dir = pad.get_direction();
S_Tingle 5:e6cb6fda5b37 22 mag = pad.get_mag();
S_Tingle 5:e6cb6fda5b37 23 }
S_Tingle 5:e6cb6fda5b37 24
S_Tingle 5:e6cb6fda5b37 25 void Game::drawSprite(N5110 &lcd){
S_Tingle 5:e6cb6fda5b37 26 maze.drawSprite(lcd);
S_Tingle 11:953141c3f7dd 27 enemy1.drawSprite(lcd);
S_Tingle 12:200a1266ceee 28 enemy2.drawSprite(lcd);
S_Tingle 18:ba4159ab4da7 29 coin1.drawSprite(lcd);
S_Tingle 18:ba4159ab4da7 30 coin2.drawSprite(lcd);
S_Tingle 18:ba4159ab4da7 31 coin3.drawSprite(lcd);
S_Tingle 19:1073cc64cb0b 32 coin4.drawSprite(lcd);
S_Tingle 5:e6cb6fda5b37 33 smiley.drawSprite(lcd);
S_Tingle 5:e6cb6fda5b37 34 }
S_Tingle 5:e6cb6fda5b37 35
S_Tingle 17:ce6b54422113 36 void Game::movement(Gamepad &pad, N5110 &lcd){
S_Tingle 17:ce6b54422113 37 smiley.movement(dir,lcd);
S_Tingle 17:ce6b54422113 38 enemy1.movement(lcd);
S_Tingle 17:ce6b54422113 39 enemy2.movement(lcd);
S_Tingle 17:ce6b54422113 40 }
S_Tingle 17:ce6b54422113 41
S_Tingle 16:37d98c281eb3 42 void Game::collect(N5110 &lcd, Gamepad &pad){
S_Tingle 16:37d98c281eb3 43 int x = smiley.get_x_char();
S_Tingle 16:37d98c281eb3 44 int y = smiley.get_y_char();
S_Tingle 18:ba4159ab4da7 45 coin1.spawn(x, y, lcd, pad);
S_Tingle 19:1073cc64cb0b 46 coin2.spawn(x, y, lcd, pad);
S_Tingle 19:1073cc64cb0b 47 coin3.spawn(x, y, lcd, pad);
S_Tingle 19:1073cc64cb0b 48 coin4.spawn(x, y, lcd, pad);
S_Tingle 15:a080c64cf301 49 }
S_Tingle 15:a080c64cf301 50
S_Tingle 16:37d98c281eb3 51 void Game::damage(N5110 &lcd, Gamepad &pad){
S_Tingle 16:37d98c281eb3 52 int x = smiley.get_x_char();
S_Tingle 16:37d98c281eb3 53 int y = smiley.get_y_char();
S_Tingle 16:37d98c281eb3 54 if (enemy1.collidePlayer(x, y, pad) == true || enemy2.collidePlayer(x, y, pad) == true ){
S_Tingle 16:37d98c281eb3 55 _lives--;
S_Tingle 19:1073cc64cb0b 56 wait(0.1);
S_Tingle 16:37d98c281eb3 57 }
S_Tingle 16:37d98c281eb3 58 }
S_Tingle 16:37d98c281eb3 59
S_Tingle 17:ce6b54422113 60 void Game::death(N5110 &lcd, Gamepad &pad){
S_Tingle 17:ce6b54422113 61 if (_lives == 0) {
S_Tingle 17:ce6b54422113 62 lcd.clear();
S_Tingle 20:ad13b0fdd8ff 63 lcd.printString("PUT",30,2);
S_Tingle 20:ad13b0fdd8ff 64 lcd.printString("ON",30,3);
S_Tingle 20:ad13b0fdd8ff 65 lcd.printString("TIMEOUT",30,3);
S_Tingle 20:ad13b0fdd8ff 66 lcd.printString(":(",30,3);
S_Tingle 17:ce6b54422113 67 lcd.refresh();
S_Tingle 17:ce6b54422113 68 wait(1);
S_Tingle 16:37d98c281eb3 69 }
S_Tingle 16:37d98c281eb3 70 }
S_Tingle 16:37d98c281eb3 71
S_Tingle 16:37d98c281eb3 72 void Game::UI(Gamepad &pad, N5110 &lcd){
S_Tingle 17:ce6b54422113 73 menu.main(lcd,pad);
S_Tingle 17:ce6b54422113 74 }
S_Tingle 17:ce6b54422113 75
S_Tingle 17:ce6b54422113 76 int Game::get_lives() {
S_Tingle 17:ce6b54422113 77 return _lives;
S_Tingle 19:1073cc64cb0b 78 }
S_Tingle 19:1073cc64cb0b 79
S_Tingle 19:1073cc64cb0b 80 void Game::display_health(N5110 &lcd) {
S_Tingle 19:1073cc64cb0b 81 char buffer[14];
S_Tingle 19:1073cc64cb0b 82 sprintf(buffer,"%d",_lives);
S_Tingle 20:ad13b0fdd8ff 83 lcd.printString(buffer,0,5);
S_Tingle 5:e6cb6fda5b37 84 }