World War Zombies! Kirby vs. Zombies in an endless post apocalyptic brawl!
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player
Zombie.h@0:4b2a1290ce3a, 2016-03-16 (annotated)
- Committer:
- zjohnson31
- Date:
- Wed Mar 16 17:04:50 2016 +0000
- Revision:
- 0:4b2a1290ce3a
publish;
Who changed what in which revision?
User | Revision | Line number | New 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 |