git repos / blockattack-game

commit f5d6c281

sago007 · 2017-03-25 17:08
f5d6c281d99d03a651d27351fd519a75d51925d9 patch · browse files
parent d450da8b713df6bc674502db90549575c37a1e90

Replaced even more old C-arrays

Changed files

M source/code/BallManager.hpp before
M source/code/ExplosionManager.hpp before
M source/code/main.cpp before
diff --git a/source/code/BallManager.hpp b/source/code/BallManager.hpp index 0a65675..3a9ef47 100644 --- a/source/code/BallManager.hpp +++ b/source/code/BallManager.hpp
@@ -24,6 +24,7 @@ http://www.blockattack.net
#ifndef BALLMANAGER_HPP
#define BALLMANAGER_HPP
+#include <array>
extern GlobalData globalData;
@@ -93,24 +94,24 @@ public:
}
}; //aBall
-static const int maxNumberOfBalls = 6*12*2*2;
class BallManager {
+ static const int maxNumberOfBalls = 6*12*2*2;
public:
- ABall ballArray[maxNumberOfBalls];
+ std::array<ABall, maxNumberOfBalls> ballArray;
BallManager() {
}
//Adds a ball to the screen at given coordiantes, traveling right or not with color
int addBall(int x, int y,bool right,int color) {
- int ballNumber = 0;
+ size_t ballNumber = 0;
//Find a free ball
- while (ballNumber<maxNumberOfBalls && ballArray[ballNumber].inUse) {
+ while (ballNumber<ballArray.size() && ballArray[ballNumber].inUse) {
ballNumber++;
}
//Could not find a free ball, return -1
- if (ballNumber==maxNumberOfBalls) {
+ if (ballNumber==ballArray.size()) {
return -1;
}
ballArray[ballNumber] = ABall(x,y,right,color);
@@ -119,7 +120,7 @@ public:
} //addBall
void update() {
- for (int i = 0; i<maxNumberOfBalls; i++) {
+ for (size_t i = 0; i<ballArray.size(); i++) {
if (ballArray[i].inUse) {
ballArray[i].update();
diff --git a/source/code/ExplosionManager.hpp b/source/code/ExplosionManager.hpp index 67a4590..736e866 100644 --- a/source/code/ExplosionManager.hpp +++ b/source/code/ExplosionManager.hpp
@@ -24,6 +24,8 @@ http://www.blockattack.net
#ifndef EXPLOSIONMANAGER_HPP
#define EXPLOSIONMANAGER_HPP
+#include <array>
+
//a explosions, non moving
class AnExplosion {
private:
@@ -69,19 +71,19 @@ public:
}; //nExplosion
class ExplosionManager {
-public:
static const int maxNumberOfExplosions = 6*12*2*2;
- AnExplosion explosionArray[maxNumberOfExplosions];
+public:
+ std::array<AnExplosion, maxNumberOfExplosions> explosionArray;
ExplosionManager() {
}
int addExplosion(int x, int y) {
- int explosionNumber = 0;
- while ( explosionNumber<maxNumberOfExplosions && explosionArray[explosionNumber].inUse) {
+ size_t explosionNumber = 0;
+ while ( explosionNumber<explosionArray.size() && explosionArray[explosionNumber].inUse) {
explosionNumber++;
}
- if (explosionNumber==maxNumberOfExplosions) {
+ if (explosionNumber==explosionArray.size()) {
return -1;
}
explosionArray[explosionNumber] = AnExplosion(x,y);
@@ -90,7 +92,7 @@ public:
} //addBall
void update() {
- for (int i = 0; i<maxNumberOfExplosions; i++) {
+ for (size_t i = 0; i<explosionArray.size(); i++) {
if (explosionArray[i].inUse) {
if (explosionArray[i].removeMe()) {
diff --git a/source/code/main.cpp b/source/code/main.cpp index 32f0cc3..9ec576a 100644 --- a/source/code/main.cpp +++ b/source/code/main.cpp
@@ -396,10 +396,12 @@ void OpenScoresDisplay() {
//Draws the balls and explosions
static void DrawBalls() {
- for (int i = 0; i< maxNumberOfBalls; i++) {
+ for (size_t i = 0; i< theBallManager.ballArray.size(); i++) {
if (theBallManager.ballArray[i].inUse) {
DrawIMG(balls[theBallManager.ballArray[i].getColor()],globalData.screen,theBallManager.ballArray[i].getX(),theBallManager.ballArray[i].getY());
} //if used
+ }
+ for (size_t i = 0; i< theExplosionManager.explosionArray.size(); i++) {
if (theExplosionManager.explosionArray[i].inUse) {
DrawIMG(explosion[theExplosionManager.explosionArray[i].getFrame()],globalData.screen,theExplosionManager.explosionArray[i].getX(),theExplosionManager.explosionArray[i].getY());
}