Meteor defense project

Dependencies:   N5110 mbed

Spawn/Spawn.cpp

Committer:
jasper0712
Date:
2017-03-27
Revision:
7:3be4369131c6
Parent:
6:a554424e4517
Child:
9:4c4d787c7a8b

File content as of revision 7:3be4369131c6:

#include "Spawn.h"

Spawn::Spawn()
{

}

Spawn::~Spawn()
{

}

void Spawn::randomizeSpawn(int Arr1[][Rows], int Arr2[][Rows]) {
    
    if (stopSpawn ==0) {
        stopSpawn = 1;
        for ( int x = 0; x < Cols; x++) {
            //30% chance of spawning
            //can depends on level 
            bool TrueFalse = (rand() % 100) < 20;
            if (TrueFalse) {
                //spawning from the top of the screen
                Arr1[x][0] = 1;
                //printf("spawn set at x = is %d \n",x);
            }
        }
        //printf("at x=2, y=0. value = %d \n",Arr1[2][0]);
    } else {
        stopSpawn = 0;
    }
    
}
void Spawn::moveSpawn(int Arr1[][Rows], int Arr2[][Rows]) {
    //printf("x=2,y =0. value = %d \n",array[2][0]);
    //scan through the whole array
    for ( int x = 0; x < Cols; x++) {
        for ( int y = 0; y < Rows; y++) {
            if (Arr1[x][y] > 0) {
                //move it down a row
                Arr2[x][y+1] = Arr1[x][y];       
            } else {
                Arr2[x][y+1] = 0;
            }
        }
    }
    printf("at x=2, y=47. number is =%d \n",Arr2[2][47]);  
}

void Spawn::updateSpawn(int Arr1[][Rows], int Arr2[][Rows],N5110 &lcd) {
    for ( int x = 0; x < Cols; x++) {
        for ( int y = 0; y < Rows; y++) {
            if (Arr2[x][y] > 0) {
                lcd.setPixel(x,y);
                //to update array1 
                Arr1[x][y] = Arr2[x][y];
            } else {
                Arr1[x][y] = 0;
            }
        }
    }
}