Meteor defense project

Dependencies:   N5110 mbed

Spawn/Spawn.h

Committer:
jasper0712
Date:
2017-04-18
Revision:
30:2e2d48cbfec3
Parent:
25:edd6a95607b1
Child:
31:1c0e47931e84

File content as of revision 30:2e2d48cbfec3:

#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

struct Stats {
    int spawnRate;
    int health;
};
class Spawn
{
public:
    Spawn();
    ~Spawn();
    
    void init(int w);
    
    void randomizeSpawn(int Arr[][Rows], char cArr[][Rows]);
    //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]);
    
    //a tool to clean up the array 
    void updateSpawn(int Arr[][Rows], int Arr2[][Rows], char cArr[][Rows], char cArr2[][Rows], N5110 &lcd);
    void deleteChar(int x, int y, int Arr[][Rows], char cArr[][Rows]); 
    
    //messing with the struct
    Stats statsA(int w);
    Stats statsB(int w);
    Stats statsC(int w);
    Stats statsDE(int w);
    
private:
    //this makes the spawnA stop spawning for a row and spawn for another.
    int stopSpawnA;
    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)
    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]);
    
    Stats A;
    Stats B;
    Stats C;
    Stats DE;
    
    //the stats will increase as the game progress
    int healthA;
    int healthC;
    int healthDE;
    int spawnRateA;
    int spawnRateB;
    int spawnRateC;
    int spawnRateDE;
    
};

#endif