|
@@ -294,7 +294,7 @@ int choose_level(int* commands)
|
|
|
return input - '0';
|
|
|
}
|
|
|
|
|
|
-void setup_level(int level, double& shootr, double& poweruprate, int& refresh_t, boss& boss1, int& enemy_num, int* commands)
|
|
|
+void setup_level(int level, double& shootr, double& poweruprate, int& refresh_t, boss& boss1, int& enemy_num, int& walls_num, int* commands)
|
|
|
{
|
|
|
switch(level) //setting game parameters
|
|
|
{
|
|
@@ -308,6 +308,7 @@ void setup_level(int level, double& shootr, double& poweruprate, int& refresh_t,
|
|
|
bossname=bossname+RECORD_DIR+BOSS_FILE1+".dat";
|
|
|
boss1.loadpicture(bossname.c_str());
|
|
|
enemy_num=30;
|
|
|
+ walls_num = 3;
|
|
|
break;
|
|
|
}
|
|
|
case 2:
|
|
@@ -320,6 +321,7 @@ void setup_level(int level, double& shootr, double& poweruprate, int& refresh_t,
|
|
|
bossname=bossname+RECORD_DIR+BOSS_FILE2+".dat";
|
|
|
boss1.loadpicture(bossname.c_str());
|
|
|
enemy_num=40;
|
|
|
+ walls_num = 2;
|
|
|
break;
|
|
|
}
|
|
|
case 3:
|
|
@@ -332,6 +334,7 @@ void setup_level(int level, double& shootr, double& poweruprate, int& refresh_t,
|
|
|
bossname=bossname+RECORD_DIR+BOSS_FILE3+".dat";
|
|
|
boss1.loadpicture(bossname.c_str());
|
|
|
enemy_num=45;
|
|
|
+ walls_num = 2;
|
|
|
break;
|
|
|
}
|
|
|
case 4:
|
|
@@ -344,6 +347,7 @@ void setup_level(int level, double& shootr, double& poweruprate, int& refresh_t,
|
|
|
bossname=bossname+RECORD_DIR+BOSS_FILE4+".dat";
|
|
|
boss1.loadpicture(bossname.c_str());
|
|
|
enemy_num=50;
|
|
|
+ walls_num = 2;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -458,7 +462,7 @@ bool gameover(player& _player,b_list& bombs) //Checks if a bomb/enemy/boss hit
|
|
|
}
|
|
|
|
|
|
|
|
|
-void reset(player& _player, e_list &enemies, boss& boss1, b_list& bullets, b_list& bombs, w_vec& walls, b_list& powerups, r_list& rockets, char level,int& chflag)
|
|
|
+void reset(player& _player, e_list &enemies, boss& boss1, b_list& bullets, b_list& bombs, w_vec& walls, int walls_num, b_list& powerups, r_list& rockets, int& chflag)
|
|
|
{
|
|
|
|
|
|
_player.x=C/2; //resetting initial position and stats of player1
|
|
@@ -491,11 +495,7 @@ void reset(player& _player, e_list &enemies, boss& boss1, b_list& bullets, b_lis
|
|
|
rockets.clear();
|
|
|
chflag=0;
|
|
|
|
|
|
- WALLS_NUM=2; //resetting walls
|
|
|
-
|
|
|
- if(atoi(&level)==1) WALLS_NUM=3;
|
|
|
-
|
|
|
- walls.resize(WALLS_NUM);
|
|
|
+ walls.resize(walls_num);
|
|
|
|
|
|
for(int i=0;i<walls.size();i++)
|
|
|
walls[i].create((i+1)*(C/(3*walls.size()+1))+i*(2*C/(3*walls.size()+1)),2*R/3,(int)min(6,2*C/(3*(int)(walls.size())+1)),2,5);
|
|
@@ -1439,7 +1439,7 @@ int choose_level_bossrush(int* commands)
|
|
|
return input - '0';
|
|
|
}
|
|
|
|
|
|
-void setup_level_bossrush(int level, double& shootr, double& poweruprate, int& refresh_t)
|
|
|
+void setup_level_bossrush(int level, double& shootr, double& poweruprate, int& walls_num, int& refresh_t)
|
|
|
{
|
|
|
switch(level) //setting game parameters
|
|
|
{
|
|
@@ -1468,6 +1468,7 @@ void setup_level_bossrush(int level, double& shootr, double& poweruprate, int& r
|
|
|
poweruprate = 0.01;
|
|
|
}
|
|
|
}
|
|
|
+ walls_num = 3;
|
|
|
}
|
|
|
|
|
|
void resetbosses(boss* Bosses,boss& boss1,player& player1){
|