Node collecting works

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 2 years ago
parent b80675746a
commit 2bdfd3da27
  1. 57
      SeasonsOfLoneliness.cpp
  2. BIN
      Seasons_of_Loneliness

@ -21,6 +21,14 @@ enum CUTSCENE{
CUTSCENE_4, CUTSCENE_4,
}; };
enum WEATHER_POWER{
HAILSTORM,
HURRICANE,
METEOR_SHOWER,
METEOR_STORM,
SNOW_STORM
};
#define WIDTH 256 #define WIDTH 256
#define HEIGHT 224 #define HEIGHT 224
#define ALPHA_SCREEN1 128 #define ALPHA_SCREEN1 128
@ -140,6 +148,20 @@ public:
Animation POWER_SNOWSTORM_ANIMATION; Animation POWER_SNOWSTORM_ANIMATION;
std::vector<Entity> entityList; std::vector<Entity> entityList;
bool IN_BATTLE_ENCOUNTER = false; bool IN_BATTLE_ENCOUNTER = false;
int WEATHER_POWERS[15] = {
3,
1,
5,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,0,0};
olc::Decal*DOME_DECAL,*FOOD_METER_DECAL,*OXYGEN_METER_DECAL,*PLANT_DECAL, olc::Decal*DOME_DECAL,*FOOD_METER_DECAL,*OXYGEN_METER_DECAL,*PLANT_DECAL,
@ -405,8 +427,8 @@ public:
bool changed=false; bool changed=false;
if (GetKey(olc::D).bHeld||GetKey(olc::RIGHT).bHeld||GetKey(olc::NP6).bHeld) { if (GetKey(olc::D).bHeld||GetKey(olc::RIGHT).bHeld||GetKey(olc::NP6).bHeld) {
PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]+MOVE_SPD,0.1,(double)MAP_WIDTH); PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]+MOVE_SPD,0.1,(double)MAP_WIDTH);
ConsoleClear(); //ConsoleClear();
cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")"; //cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")";
if (!changed&&&current_playerAnim!=&playerAnimWalkRight) { if (!changed&&&current_playerAnim!=&playerAnimWalkRight) {
changeAnimation(playerAnimWalkRight); changeAnimation(playerAnimWalkRight);
changed=true; changed=true;
@ -414,8 +436,8 @@ public:
} }
if (GetKey(olc::A).bHeld||GetKey(olc::LEFT).bHeld||GetKey(olc::NP4).bHeld) { if (GetKey(olc::A).bHeld||GetKey(olc::LEFT).bHeld||GetKey(olc::NP4).bHeld) {
PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]-MOVE_SPD,0.1,(double)MAP_WIDTH); PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]-MOVE_SPD,0.1,(double)MAP_WIDTH);
ConsoleClear(); //ConsoleClear();
cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")"; //cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")";
if (!changed&&&current_playerAnim!=&playerAnimWalkLeft) { if (!changed&&&current_playerAnim!=&playerAnimWalkLeft) {
changeAnimation(playerAnimWalkLeft); changeAnimation(playerAnimWalkLeft);
changed=true; changed=true;
@ -423,8 +445,8 @@ public:
} }
if (GetKey(olc::W).bHeld||GetKey(olc::UP).bHeld||GetKey(olc::NP8).bHeld) { if (GetKey(olc::W).bHeld||GetKey(olc::UP).bHeld||GetKey(olc::NP8).bHeld) {
PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]-MOVE_SPD,0.1,(double)MAP_HEIGHT); PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]-MOVE_SPD,0.1,(double)MAP_HEIGHT);
ConsoleClear(); //ConsoleClear();
cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")"; //cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")";
if (!changed&&&current_playerAnim!=&playerAnimWalkUp) { if (!changed&&&current_playerAnim!=&playerAnimWalkUp) {
changeAnimation(playerAnimWalkUp); changeAnimation(playerAnimWalkUp);
changed=true; changed=true;
@ -432,8 +454,8 @@ public:
} }
if (GetKey(olc::S).bHeld||GetKey(olc::DOWN).bHeld||GetKey(olc::NP5).bHeld||GetKey(olc::NP2).bHeld) { if (GetKey(olc::S).bHeld||GetKey(olc::DOWN).bHeld||GetKey(olc::NP5).bHeld||GetKey(olc::NP2).bHeld) {
PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]+MOVE_SPD,0.1,(double)MAP_HEIGHT); PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]+MOVE_SPD,0.1,(double)MAP_HEIGHT);
ConsoleClear(); //ConsoleClear();
cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")"; //cout<<"("<<PLAYER_COORDS[0]<<","<<PLAYER_COORDS[1]<<+")";
if (!changed&&&current_playerAnim!=&playerAnimWalkDown) { if (!changed&&&current_playerAnim!=&playerAnimWalkDown) {
changeAnimation(playerAnimWalkDown); changeAnimation(playerAnimWalkDown);
changed=true; changed=true;
@ -441,6 +463,15 @@ public:
} }
} }
for (int i=0;i<OBJECTS.size();i++) {
Object obj = OBJECTS.at(i);
if (obj.name.compare("HAILSTORM_NODE")==0&&collidesWithPlayer(obj)) {
int amountGained=rand()%4+2;
cout<<"Increased HAILSTORM power inventory count by "<<amountGained<<".\n";
OBJECTS.erase(OBJECTS.begin()+i--);
}
}
switch (CURRENT_CUTSCENE) { switch (CURRENT_CUTSCENE) {
case CUTSCENE_4:{ case CUTSCENE_4:{
if (!messageBoxVisible) { if (!messageBoxVisible) {
@ -774,6 +805,16 @@ public:
current_playerAnim=anim; current_playerAnim=anim;
current_playerAnim.frame=0; current_playerAnim.frame=0;
} }
bool collidesWithPlayer(Object obj) {
if (obj.hasAnim) {
return PLAYER_COORDS[0]>=obj.x&&PLAYER_COORDS[0]<=obj.x+obj.anim->width&&
PLAYER_COORDS[1]>=obj.y&&PLAYER_COORDS[1]<=obj.y+obj.anim->height;
} else {
return PLAYER_COORDS[0]>=obj.x&&PLAYER_COORDS[0]<=obj.x+obj.spr->sprite->width&&
PLAYER_COORDS[1]>=obj.y&&PLAYER_COORDS[1]<=obj.y+obj.spr->sprite->height;
}
}
}; };

Binary file not shown.
Loading…
Cancel
Save