World War Zombies! Kirby vs. Zombies in an endless post apocalyptic brawl!

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player

Committer:
zjohnson31
Date:
Wed Mar 16 17:04:50 2016 +0000
Revision:
0:4b2a1290ce3a
publish;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zjohnson31 0:4b2a1290ce3a 1 #include "mbed.h"
zjohnson31 0:4b2a1290ce3a 2 #include "globals.h"
zjohnson31 0:4b2a1290ce3a 3 #include "Player.h"
zjohnson31 0:4b2a1290ce3a 4
zjohnson31 0:4b2a1290ce3a 5 #ifndef ZOMBIE_H
zjohnson31 0:4b2a1290ce3a 6 #define ZOMBIE_H
zjohnson31 0:4b2a1290ce3a 7
zjohnson31 0:4b2a1290ce3a 8 extern uLCD_4DGL uLCD;
zjohnson31 0:4b2a1290ce3a 9
zjohnson31 0:4b2a1290ce3a 10 int killed = 0;
zjohnson31 0:4b2a1290ce3a 11
zjohnson31 0:4b2a1290ce3a 12 class Zombie
zjohnson31 0:4b2a1290ce3a 13 {
zjohnson31 0:4b2a1290ce3a 14 public:
zjohnson31 0:4b2a1290ce3a 15 static const int WIDTH = 5;
zjohnson31 0:4b2a1290ce3a 16 static const int HEIGHT = 10;
zjohnson31 0:4b2a1290ce3a 17 int posX, posY;
zjohnson31 0:4b2a1290ce3a 18 bool alive;
zjohnson31 0:4b2a1290ce3a 19
zjohnson31 0:4b2a1290ce3a 20 Zombie()
zjohnson31 0:4b2a1290ce3a 21 {
zjohnson31 0:4b2a1290ce3a 22 posX = 127+12;
zjohnson31 0:4b2a1290ce3a 23 posY = 127;
zjohnson31 0:4b2a1290ce3a 24 alive = true;
zjohnson31 0:4b2a1290ce3a 25 }
zjohnson31 0:4b2a1290ce3a 26
zjohnson31 0:4b2a1290ce3a 27 void draw()
zjohnson31 0:4b2a1290ce3a 28 {
zjohnson31 0:4b2a1290ce3a 29 uLCD.filled_rectangle(posX-10, posY-13, posX-2, posY-16, GREEN);//head
zjohnson31 0:4b2a1290ce3a 30 uLCD.filled_rectangle(posX-12, posY-13, posX-10, posY-7, GREEN);//left arm
zjohnson31 0:4b2a1290ce3a 31 uLCD.filled_rectangle(posX-2, posY-13, posX, posY-7, GREEN);//right arm
zjohnson31 0:4b2a1290ce3a 32 uLCD.filled_rectangle(posX-10, posY-7, posX-2, posY-13, 0x895300);//body
zjohnson31 0:4b2a1290ce3a 33 uLCD.filled_rectangle(posX-10, posY-7, posX-2, posY-2, BLUE);//legs
zjohnson31 0:4b2a1290ce3a 34 uLCD.filled_rectangle(posX-12, posY, posX, posY-2, 0x895300);//foot
zjohnson31 0:4b2a1290ce3a 35 }
zjohnson31 0:4b2a1290ce3a 36
zjohnson31 0:4b2a1290ce3a 37 void erase()
zjohnson31 0:4b2a1290ce3a 38 {
zjohnson31 0:4b2a1290ce3a 39 uLCD.filled_rectangle(posX-12, posY, posX, posY-17, BLACK);
zjohnson31 0:4b2a1290ce3a 40 }
zjohnson31 0:4b2a1290ce3a 41
zjohnson31 0:4b2a1290ce3a 42 bool collision(Player *p){
zjohnson31 0:4b2a1290ce3a 43 if(posX == p->posX && posY == p->posY){
zjohnson31 0:4b2a1290ce3a 44 return true;
zjohnson31 0:4b2a1290ce3a 45 }//if
zjohnson31 0:4b2a1290ce3a 46 return false;
zjohnson31 0:4b2a1290ce3a 47 }
zjohnson31 0:4b2a1290ce3a 48
zjohnson31 0:4b2a1290ce3a 49 void kill()
zjohnson31 0:4b2a1290ce3a 50 {
zjohnson31 0:4b2a1290ce3a 51 alive = false;
zjohnson31 0:4b2a1290ce3a 52 killed++;
zjohnson31 0:4b2a1290ce3a 53 }
zjohnson31 0:4b2a1290ce3a 54
zjohnson31 0:4b2a1290ce3a 55 void move()
zjohnson31 0:4b2a1290ce3a 56 {
zjohnson31 0:4b2a1290ce3a 57 erase();
zjohnson31 0:4b2a1290ce3a 58 posX-=7;
zjohnson31 0:4b2a1290ce3a 59 draw();
zjohnson31 0:4b2a1290ce3a 60 //uLCD.filled_rectangle(posX, posY, posX+WIDTH, posY-HEIGHT, GREEN);
zjohnson31 0:4b2a1290ce3a 61 //uLCD.filled_rectangle(posX+3+WIDTH, posY, posX+WIDTH+3+WIDTH, posY-HEIGHT, BLACK);
zjohnson31 0:4b2a1290ce3a 62 }
zjohnson31 0:4b2a1290ce3a 63
zjohnson31 0:4b2a1290ce3a 64 //reset position, never more than 4 zombies
zjohnson31 0:4b2a1290ce3a 65 void hit(){
zjohnson31 0:4b2a1290ce3a 66
zjohnson31 0:4b2a1290ce3a 67 }
zjohnson31 0:4b2a1290ce3a 68 };
zjohnson31 0:4b2a1290ce3a 69
zjohnson31 0:4b2a1290ce3a 70 #endif