Meteor defense project

Dependencies:   N5110 mbed

Spawn/Spawn.h

Committer:
jasper0712
Date:
2017-04-13
Revision:
25:edd6a95607b1
Parent:
24:d6187d39f09b
Child:
30:2e2d48cbfec3

File content as of revision 25:edd6a95607b1:

#ifndef SPAWN_H
#define SPAWN_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Weapon.h"

//Y rows and X columns
#define Rows 48
#define Cols 84

class Spawn
{
public:
    Spawn();
    ~Spawn();
    //spawnHealth
    void init();
    void randomizeSpawn(int Arr[][Rows], char cArr[][Rows]);
    void spawnA(int Arr[][Rows],char cArr[][Rows]); //normal spawn
    void spawnB(int x, int Arr[][Rows],char cArr[][Rows]); //fast moving spawn
    void spawnC(int Arr[][Rows],char cArr[][Rows]); //tanky spawn
    void spawnDE(int x, int Arr[][Rows],char cArr[][Rows]); //zigg-zag spawn (even faster than spawn)
    //http://stackoverflow.com/questions/10289197/how-to-empty-a-2d-char-array-in-c
    void moveSpawnABC(int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows]);
    void moveSpawnB(int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows]);
    void moveSpawnDE(int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows]);
    void movementD(int x, int y, int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows]);
    void movementE(int x, int y, int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows]);
    void deleteChar(int x, int y, int Arr[][Rows], char cArr[][Rows]); 

    void updateSpawn(int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows], N5110 &lcd);
    
    int healthA;
    int healthC;
    int healthDE;
    int spawnRateA;
    int spawnRateB;
    int spawnRateC;
    int spawnRateDE;
    
private:
    //column and row same as the screen resolution
    int stopSpawnA;
};

#endif