ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Coin/Coin.cpp

Committer:
S_Tingle
Date:
2019-05-08
Revision:
21:7d4827af00d6
Parent:
19:1073cc64cb0b
Child:
22:8e38efeae0c9

File content as of revision 21:7d4827af00d6:

#include "Coin.h"

Coin::Coin(){
    _spawn = true;
}

Coin::~Coin(){

}

void Coin::init(int x,int y){
    x_coin = x;
    y_coin = y;
}

int Coin::get_x_coin(){
    return x_coin;
}

int Coin::get_y_coin(){
    return y_coin;
}

void Coin::drawSprite(N5110 &lcd){
        lcd.drawSprite(x_coin,y_coin,2,2,(int *)coin_01);
}

bool Coin::collidePlayer(int x, int y, Gamepad &pad) {
    for (int ix = 0; ix < 7; ix++) {
        for (int iy = 0; iy < 7; iy++) {
            if ( x + ix == x_coin - 1 && y + iy == y_coin) {
                ++coin;
                pad.tone(650,0.25);
                return true; 
            } else if ( x + ix == x_coin + 2 && y + iy == y_coin) {
                ++coin;
                pad.tone(650,0.25);
                return true; 
            } else if ( x + ix == x_coin && y + iy == y_coin - 1) {
                ++coin;
                pad.tone(650,0.25);
                return true; 
            } else if ( x + ix == x_coin && y + iy == y_coin + 2) {
                ++coin;
                pad.tone(650,0.25);
                return true;
            } 
        }       
    }
    return false;
}

void Coin::spawn(int x, int y, N5110 &lcd, Gamepad &pad) {
    drawSprite(lcd);
    if (collidePlayer(x,y,pad) == true) {
        //coin++;
        x_coin = 100;
        y_coin = 100;
    }
}