Browse Source

Make enemy number a parameter in choose_level

With the goal of removing the ENEMY_NUM global variable, I made
choose_level accept a reference parameter (enemy_num) and modify it,
instead of directly changing the global variable.
Matteo Zeccoli Marazzini 4 years ago
parent
commit
b830da9b8a
3 changed files with 9 additions and 9 deletions
  1. 5 5
      functions.cpp
  2. 1 1
      functions.hpp
  3. 3 3
      invaders.cpp

+ 5 - 5
functions.cpp

@@ -222,7 +222,7 @@ void print_info(){
 }
 
 
-void choose_level(double& shootr, int& refresh_t, boss& boss1, char& level,int* commands)
+void choose_level(double& shootr, int& refresh_t, boss& boss1, char& level, int& enemy_num, int* commands)
 {
 	std::string phrase;
 	phrase=choose_phrase();
@@ -296,7 +296,7 @@ void choose_level(double& shootr, int& refresh_t, boss& boss1, char& level,int*
 			std::string bossname=getenv("HOME");
 			bossname=bossname+RECORD_DIR+BOSS_FILE1+".dat";
 			boss1.loadpicture(bossname.c_str());
-			ENEMY_NUM=30;
+			enemy_num=30;
 			break;
 		}
 		case 2:
@@ -308,7 +308,7 @@ void choose_level(double& shootr, int& refresh_t, boss& boss1, char& level,int*
 			std::string bossname=getenv("HOME");
 			bossname=bossname+RECORD_DIR+BOSS_FILE2+".dat";
 			boss1.loadpicture(bossname.c_str());
-			ENEMY_NUM=40;
+			enemy_num=40;
 			break;
 		}
 		case 3:
@@ -320,7 +320,7 @@ void choose_level(double& shootr, int& refresh_t, boss& boss1, char& level,int*
 			std::string bossname=getenv("HOME");
 			bossname=bossname+RECORD_DIR+BOSS_FILE3+".dat";
 			boss1.loadpicture(bossname.c_str());
-			ENEMY_NUM=45;
+			enemy_num=45;
 			break;
 		}
 		case 4:
@@ -332,7 +332,7 @@ void choose_level(double& shootr, int& refresh_t, boss& boss1, char& level,int*
 			std::string bossname=getenv("HOME");
 			bossname=bossname+RECORD_DIR+BOSS_FILE4+".dat";
 			boss1.loadpicture(bossname.c_str());
-			ENEMY_NUM=50;
+			enemy_num=50;
 			break;
 		}
 	}

+ 1 - 1
functions.hpp

@@ -49,7 +49,7 @@ void print_info();
 
 void print_scores();
 
-void choose_level(double& shootr, int& refresh_t, boss &boss1, char& level,int* commands);
+void choose_level(double& shootr, int& refresh_t, boss &boss1, char& level, int& enemy_num,int* commands);
 
 void change_commands(int* commands);
 

+ 3 - 3
invaders.cpp

@@ -97,7 +97,7 @@ int main(int argc,char** argv)
 	
 	WALLS_NUM=2;
 	
-	choose_level(shootrate, refresh_time, boss1, level, commands);     	//choose difficulty level and set game parameters and boss
+	choose_level(shootrate, refresh_time, boss1, level, ENEMY_NUM, commands);     	//choose difficulty level and set game parameters and boss
 	load_enemies(enemies,ENEMY_NUM);
 	player1.set_commands(commands);
 	erase();
@@ -261,7 +261,7 @@ int main(int argc,char** argv)
 				score=0;
 				erase();
 				refresh();
-				choose_level(shootrate, refresh_time, boss1, level, commands);
+				choose_level(shootrate, refresh_time, boss1, level, ENEMY_NUM, commands);
 				load_enemies(enemies,ENEMY_NUM);
 				reset(player1, enemies, boss1, bullets, bombs, walls, powerups,rockets, level,chflag); // reset box, player, enemy and deletes all bullets and bombs
 				erase();
@@ -292,7 +292,7 @@ int main(int argc,char** argv)
 				score=0;
 				erase();
 				refresh();
-				choose_level(shootrate, refresh_time, boss1, level, commands);
+				choose_level(shootrate, refresh_time, boss1, level, ENEMY_NUM, commands);
 				load_enemies(enemies,ENEMY_NUM);
 				reset(player1, enemies, boss1, bullets, bombs, walls, powerups,rockets,level,chflag);       // reset box, player, enemy and delete all bullets and bombs
 				erase();