ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Committer:
S_Tingle
Date:
Wed May 08 09:05:27 2019 +0000
Revision:
16:37d98c281eb3
Parent:
15:a080c64cf301
Child:
17:ce6b54422113
collect + damage + menu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
S_Tingle 13:c3b550fc2445 1 #include "Coin.h"
S_Tingle 13:c3b550fc2445 2
S_Tingle 13:c3b550fc2445 3 Coin::Coin(){
S_Tingle 14:d0650d0de063 4 x_coin = 41;
S_Tingle 14:d0650d0de063 5 y_coin = 42;
S_Tingle 16:37d98c281eb3 6 _spawn = true;
S_Tingle 13:c3b550fc2445 7 }
S_Tingle 13:c3b550fc2445 8
S_Tingle 13:c3b550fc2445 9 Coin::~Coin(){
S_Tingle 13:c3b550fc2445 10
S_Tingle 13:c3b550fc2445 11 }
S_Tingle 13:c3b550fc2445 12
S_Tingle 13:c3b550fc2445 13 void Coin::init(int x,int y){
S_Tingle 13:c3b550fc2445 14 x_coin = x;
S_Tingle 13:c3b550fc2445 15 y_coin = y;
S_Tingle 13:c3b550fc2445 16 }
S_Tingle 13:c3b550fc2445 17
S_Tingle 14:d0650d0de063 18 int Coin::get_x_coin(){
S_Tingle 13:c3b550fc2445 19 return x_coin;
S_Tingle 13:c3b550fc2445 20 }
S_Tingle 13:c3b550fc2445 21
S_Tingle 14:d0650d0de063 22 int Coin::get_y_coin(){
S_Tingle 13:c3b550fc2445 23 return y_coin;
S_Tingle 13:c3b550fc2445 24 }
S_Tingle 13:c3b550fc2445 25
S_Tingle 13:c3b550fc2445 26 void Coin::drawSprite(N5110 &lcd){
S_Tingle 16:37d98c281eb3 27 lcd.drawSprite(x_coin,y_coin,2,2,(int *)coin_01);
S_Tingle 13:c3b550fc2445 28 }
S_Tingle 13:c3b550fc2445 29
S_Tingle 14:d0650d0de063 30 void Coin::collect(N5110 &lcd){
S_Tingle 14:d0650d0de063 31
S_Tingle 14:d0650d0de063 32 }
S_Tingle 16:37d98c281eb3 33 /*
S_Tingle 15:a080c64cf301 34 bool Coin::northCollision(int x, int y, N5110 &lcd){
S_Tingle 15:a080c64cf301 35 for (int i = 0; i < 2; i++){
S_Tingle 16:37d98c281eb3 36 if (lcd.getPixel(x + i,y - 1) == 1){
S_Tingle 13:c3b550fc2445 37 return true;
S_Tingle 13:c3b550fc2445 38 }
S_Tingle 13:c3b550fc2445 39 }
S_Tingle 13:c3b550fc2445 40 return false;
S_Tingle 13:c3b550fc2445 41 }
S_Tingle 13:c3b550fc2445 42
S_Tingle 15:a080c64cf301 43 bool Coin::southCollision(int x, int y, N5110 &lcd){
S_Tingle 15:a080c64cf301 44 for (int i = 0; i < 2; i++){
S_Tingle 15:a080c64cf301 45 if (lcd.getPixel(x + i,y + 1) == 1){
S_Tingle 15:a080c64cf301 46 return true;
S_Tingle 15:a080c64cf301 47 }
S_Tingle 15:a080c64cf301 48 }
S_Tingle 15:a080c64cf301 49 return false;
S_Tingle 15:a080c64cf301 50 }
S_Tingle 15:a080c64cf301 51
S_Tingle 15:a080c64cf301 52 bool Coin::eastCollision(int x, int y, N5110 &lcd){
S_Tingle 15:a080c64cf301 53 for (int i = 0; i < 2; i++){
S_Tingle 14:d0650d0de063 54 if (lcd.getPixel(x + 1,y + i) == 1){
S_Tingle 13:c3b550fc2445 55 return true;
S_Tingle 13:c3b550fc2445 56 }
S_Tingle 13:c3b550fc2445 57 }
S_Tingle 13:c3b550fc2445 58 return false;
S_Tingle 15:a080c64cf301 59 }
S_Tingle 15:a080c64cf301 60
S_Tingle 15:a080c64cf301 61 bool Coin::westCollision(int x, int y, N5110 &lcd){
S_Tingle 15:a080c64cf301 62 for (int i = 0; i < 2; i++){
S_Tingle 16:37d98c281eb3 63 if (lcd.getPixel(x - 1,y + i) == 1){
S_Tingle 15:a080c64cf301 64 return true;
S_Tingle 15:a080c64cf301 65 }
S_Tingle 15:a080c64cf301 66 }
S_Tingle 15:a080c64cf301 67 return false;
S_Tingle 16:37d98c281eb3 68 }
S_Tingle 16:37d98c281eb3 69 */
S_Tingle 16:37d98c281eb3 70 bool Coin::collidePlayer(int x, int y, Gamepad &pad) {
S_Tingle 16:37d98c281eb3 71
S_Tingle 16:37d98c281eb3 72 for (int ix = 0; ix < 7; ix++) {
S_Tingle 16:37d98c281eb3 73 for (int iy = 0; iy < 7; iy++) {
S_Tingle 16:37d98c281eb3 74 if ( x + ix == x_coin - 1 &&
S_Tingle 16:37d98c281eb3 75 y + iy == y_coin) {
S_Tingle 16:37d98c281eb3 76 pad.tone(650,0.25);
S_Tingle 16:37d98c281eb3 77 return true;
S_Tingle 16:37d98c281eb3 78
S_Tingle 16:37d98c281eb3 79 }
S_Tingle 16:37d98c281eb3 80 }
S_Tingle 16:37d98c281eb3 81 }
S_Tingle 16:37d98c281eb3 82 return false;
S_Tingle 16:37d98c281eb3 83 }
S_Tingle 16:37d98c281eb3 84
S_Tingle 16:37d98c281eb3 85 void Coin::spawn(int x, int y, N5110 &lcd, Gamepad &pad) {
S_Tingle 16:37d98c281eb3 86 drawSprite(lcd);
S_Tingle 16:37d98c281eb3 87 if (collidePlayer(x,y,pad) == true) {
S_Tingle 16:37d98c281eb3 88 x_coin = 100;
S_Tingle 16:37d98c281eb3 89 y_coin = 100;
S_Tingle 16:37d98c281eb3 90
S_Tingle 16:37d98c281eb3 91 } else {
S_Tingle 16:37d98c281eb3 92
S_Tingle 16:37d98c281eb3 93 }
S_Tingle 13:c3b550fc2445 94 }