Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Game/Game.cpp
- Committer:
- S_Tingle
- Date:
- 2019-05-08
- Revision:
- 21:7d4827af00d6
- Parent:
- 20:ad13b0fdd8ff
- Child:
- 22:8e38efeae0c9
File content as of revision 21:7d4827af00d6:
#include "Game.h"
Game::Game(){
}
Game::~Game(){
}
void Game::init(){
smiley.init(x,y);
_lives = 10;
coin = 0;
coin1.init(41,42);
coin2.init(41,23);
coin3.init(78,42);
coin4.init(22,34);
coin5.init(22,12);
coin6.init(59,12);
coin7.init(59,34);
coin8.init(78,14);
coin9.init(78,4);
coin10.init(41,4);
coin11.init(4,4);
coin12.init(78,23);
coin13.init(13,14);
enemyA.init(28,18);
enemy1.init(58,31);
enemyB.init(67,20);
enemy2.init(67,12);
}
void Game::dirmag(Gamepad &pad){
dir = pad.get_direction();
}
void Game::drawSprite(N5110 &lcd){
maze.drawSprite(lcd);
coin1.drawSprite(lcd);
coin2.drawSprite(lcd);
coin3.drawSprite(lcd);
coin4.drawSprite(lcd);
coin5.drawSprite(lcd);
coin6.drawSprite(lcd);
coin7.drawSprite(lcd);
coin8.drawSprite(lcd);
coin9.drawSprite(lcd);
coin10.drawSprite(lcd);
coin11.drawSprite(lcd);
coin12.drawSprite(lcd);
coin13.drawSprite(lcd);
enemyA.drawSpriteA(lcd);
enemy1.drawSprite1(lcd);
enemyB.drawSpriteB(lcd);
enemy2.drawSprite2(lcd);
smiley.drawSprite(lcd);
}
void Game::movement(N5110 &lcd, Gamepad &pad){
smiley.movement(dir,lcd);
enemyA.movementA(lcd);
enemy1.movement1(lcd);
enemyB.movementB(lcd);
enemy2.movement2(lcd);
}
void Game::collect(N5110 &lcd, Gamepad &pad){
int x = smiley.get_x_char();
int y = smiley.get_y_char();
coin1.spawn(x, y, lcd, pad);
coin2.spawn(x, y, lcd, pad);
coin3.spawn(x, y, lcd, pad);
coin4.spawn(x, y, lcd, pad);
coin5.spawn(x, y, lcd, pad);
coin6.spawn(x, y, lcd, pad);
coin7.spawn(x, y, lcd, pad);
coin8.spawn(x, y, lcd, pad);
coin9.spawn(x, y, lcd, pad);
coin10.spawn(x, y, lcd, pad);
coin11.spawn(x, y, lcd, pad);
coin12.spawn(x, y, lcd, pad);
coin13.spawn(x, y, lcd, pad);
}
void Game::win(N5110 &lcd){
if (coin == 1) {
lcd.clear();
lcd.printString("YOU",30,2);
lcd.printString("WIN",30,3);
lcd.printString(":)",30,3);
lcd.refresh();
wait(2);
}
}
void Game::damage(N5110 &lcd, Gamepad &pad){
int x = smiley.get_x_char();
int y = smiley.get_y_char();
if (enemyA.collidePlayer(x, y, pad) == true ||enemy1.collidePlayer(x, y, pad) == true || enemy2.collidePlayer(x, y, pad) == true ){
_lives--;
wait(0.1);
}
}
void Game::death(N5110 &lcd){
if (_lives == 0) {
lcd.clear();
lcd.printString("PUT",30,1);
lcd.printString("ON",30,2);
lcd.printString("TIMEOUT",30,3);
lcd.printString(":(",30,4);
lcd.refresh();
wait(2);
}
}
void Game::UI(Gamepad &pad, N5110 &lcd){
menu.main(lcd,pad);
}
int Game::get_lives() {
return _lives;
}
int Game::get_coins() {
return coin;
}
void Game::display_health(N5110 &lcd) {
char buffer[14];
sprintf(buffer,"%d",_lives);
lcd.printString(buffer,0,5);
}