📄 gamestateplay.hpp
字号:
mTunnel_4[i] = new Tunnel(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_1[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_2[i] = new Gangplank(this);
for (i=0;i<MAX_BAD_FLOWER;i++)
mBadFlowers[i] = new BadFlower(this);
//mEngine->EnableVSync(true);
//mBlock->SetPosition(mX, mY);
}
void GameStatePlay::Start()
{
mTurtleCount = 0;
mBadMushCount = 0;
mStaticCoinsCount = 0;
mBadFlowersCount = 0;
mTunnelCount = 0;
mTunnel_1Count = 0;
mTunnel_2Count = 0;
mTunnel_3Count = 0;
mTunnel_4Count = 0;
mGangplankCount = 0;
mGangplankCount_1 = 0;
mGangplankCount_2 = 0;
mEngine->PlayMusic(mMusic);
}
void GameStatePlay::End()
{
}
JTexture* GameStatePlay::GetTexture(int id)
{
return mTexture;
}
void GameStatePlay::Destroy()
{
int i;
if (mBgTex)
mEngine->FreeTexture(mBgTex);
//life = mMario->GetCurLife();
//coincount = mMario->GetCoinCount();
//mSql->SaveState("1","100",string(life),string(coincount));
SAFE_DELETE(mMountains);
SAFE_DELETE(mCloud);
if (mTexture)
mEngine->FreeTexture(mTexture);
if (mTexture_2)
mEngine->FreeTexture(mTexture_2);
for (i=0;i<MAX_TILES;i++)
SAFE_DELETE(mTiles[i]);
SAFE_DELETE(mMario);
for (int i=0;i<MAX_BADFISH;i++)
SAFE_DELETE(mBadFish[i]);
SAFE_DELETE(scrollerCloud);
SAFE_DELETE(scrollerMount);
if (mMusic)
mEngine->FreeMusic(mMusic);
if (mTileTex)
mEngine->FreeTexture(mTileTex);
SAFE_DELETE(mTileMap);
if (mRainbowTex)
mEngine->FreeTexture(mRainbowTex);
SAFE_DELETE(mRainbow);
if (mStabTex)
mEngine->FreeTexture(mStabTex);
SAFE_DELETE(mStab);
SAFE_DELETE(mBlock);
SAFE_DELETE(mCoin);
for (i=0;i<MAX_TURTLE;i++)
SAFE_DELETE(mTurtle[i]);
for (i=0;i<MAX_MUSH;i++)
SAFE_DELETE(mBadMush[i]);
for (i=0;i<MAX_STATIC_COIN;i++)
SAFE_DELETE(mStaticCoins[i]);
for (i=0;i<MAX_TUNNEL;i++)
SAFE_DELETE(mTunnel[i]);
for (i=0;i<MAX_TUNNEL;i++)
SAFE_DELETE(mTunnel_1[i]);
for (i=0;i<MAX_TUNNEL;i++)
SAFE_DELETE(mTunnel_2[i]);
for (i=0;i<MAX_TUNNEL;i++)
SAFE_DELETE(mTunnel_3[i]);
for (i=0;i<MAX_TUNNEL;i++)
SAFE_DELETE(mTunnel_4[i]);
for (i=0;i<MAX_GANGPLANK;i++)
SAFE_DELETE(mGangplank[i]);
for (i=0;i<MAX_GANGPLANK;i++)
SAFE_DELETE(mGangplank_1[i]);
for (i=0;i<MAX_GANGPLANK;i++)
SAFE_DELETE(mGangplank_2[i]);
for (i=0;i<MAX_BAD_FLOWER;i++)
SAFE_DELETE(mBadFlowers[i]);
SAFE_DELETE(mMushroom);
for (i=0;i<MAX_SFX;i++)
if (mSfx[i])
mEngine->FreeSample(mSfx[i]);
}
void GameStatePlay::Update()
{
// if (mEngine->GetButtonClick(PSP_CTRL_TRIANGLE)) // do a screen shot when TRIANGLE is pressed
// {
// char s[80];
// sprintf(s, "ms0:/screenshot.png");
// mEngine->ScreenShot(s);
// }
HGE *sEngine = NULL;
sEngine = hgeCreate(HGE_VERSION);
//if (mEngine->GetButtonState(HGEK_CTRL)) // exit when the CROSS is pressed
if(sEngine->Input_GetKeyState(HGEK_ESCAPE)==true)
{ sEngine->Release();
mEngine->End();
return;
}
if(sEngine->Input_GetKeyState(HGEK_F1)== true)
{
mEngine->PlaySample(mSfx[3]);
mMenu->SetActive();
return;
}
//
if (mEngine->GetButtonClick(PSP_CTRL_CROSS)) // exit when the CROSS is pressed
{
mEngine->End();
return;
}
float dt = mEngine->GetDelta(); // get number of milliseconds passed since last frame
mMario->Update(dt);
mTileMap->Update(dt);
if (mMario->md == true)
{
mEngine->FreeMusic(mMusic);
mApp->SetNextState(GAME_STATE_OVER);
mMario->md = false;
mEngine->PlaySample(mSfx[SFX_SHOUT]);
}
if (bmap_3)
{
if (mMario->GetY() > mTileMap->mMapY + 480 )
{
mEngine->FreeMusic(mMusic);
mApp->SetNextState(GAME_STATE_OVER);
VIRTUAL_WIDTH = 5120.0f;
VIRTUAL_HEIGHT = 480.0f;
mEngine->PlaySample(mSfx[SFX_SHOUT]);
}
if (mMario->GetY() <= mTileMap->mMapY + 84 && mMario->mFlashTime == 0)
{
mMario->mFlashTime = 500;
mMario->Blood();
if (mMario->GetCurLife() <= 0)
{
mEngine->FreeMusic(mMusic);
mApp->SetNextState(GAME_STATE_OVER);
VIRTUAL_WIDTH = 5120.0f;
VIRTUAL_HEIGHT = 480.0f;
}
}
}
if((((mMario->GetX()+10)-mMushroom->GetX())<=20.0f)&&((mMario->GetY()-mMushroom->GetY()))<=60.0f&&((mMushroom->GetX()-mMario->GetX()+10)<=60.0f)&&(mMushroom->GetY()-mMario->GetY()<=20.0f) && haveMushroom == true)
{
mMushroom->Dead();
haveMushroom = false;
maxLifeCount = 60;
mMario->BloodP();
}
for (int i=0;i<MAX_STATIC_COIN;i++)
if((((mMario->GetX()+10)-(mStaticCoins[i]->GetX()-15.0f))<=20.0f)&&((mMario->GetY()-(mStaticCoins[i]->GetY()-15.0f)))<=90.0f&&(((mStaticCoins[i]->GetX()-15.0f)-mMario->GetX()+10)<=60.0f)&&((mStaticCoins[i]->GetY()-15.0f)-mMario->GetY()<=30.0f) && mStaticCoins[i] ->sc == true)
{
mMario->SetCoinCount(mMario->GetCoinCount()+1);
mStaticCoins[i]->SetEat();
}
for (int i=0;i<MAX_TUNNEL;i++)
if((((mMario->GetX()+10)-(mTunnel[i]->GetX()-15.0f))<=20.0f)&&((mMario->GetY()-(mTunnel[i]->GetY()-15.0f)))<=70.0f&&(((mTunnel[i]->GetX()-15.0f)-mMario->GetX()+10)<=60.0f)&&((mTunnel[i]->GetY()-15.0f)-mMario->GetY()<=5.0f))
{
if (mEngine->GetAnalogY() > 192)
{
mEngine->PlaySample(mSfx[SFX_SHRINK]);
mTileMap->Load("Res/map_1.dat", "Res/mario_1.ent");
mBlock = new JumpingBlock(this);
mCoin = new JumpingCoin(this);
for (i=0;i<MAX_TURTLE;i++)
mTurtle[i] = new Turtle(this);
for (i=0;i<MAX_MUSH;i++)
mBadMush[i] = new BadMush(this);
mMushroom = new Mushroom(this);
for (i=0;i<MAX_BADFISH;i++)
{
mBadFish[i] = new BadFish(this);
mBadFish[i]->SetPosition(1000*i%768/2,600*i%338 + 100);
mBadFish[i]->mXVelocity = -0.02f * i - 0.1f;
}
for (i=0;i<MAX_STATIC_COIN;i++)
mStaticCoins[i] = new StaticCoin(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_1[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_2[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_3[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_4[i] = new Tunnel(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_1[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_2[i] = new Gangplank(this);
for (i=0;i<MAX_BAD_FLOWER;i++)
mBadFlowers[i] = new BadFlower(this);
VIRTUAL_WIDTH = 640.0f;
mTileMap->GetPositionMap(0.0f,0.0f);
mMario->SetPosition(80.0f,447.0f);
DEFAULT_GRAVITY = 0.0001f;
BIGM_INITIAL_JUMP_VEL=-0.265f;
DEFAULT_WALK_SPEED=0.3f;
mmm=true;
time = 0.0f;
}
}
if(mmm)
{
time += dt;
for(int i=0;i<MAX_BADFISH;i++)
{
if(time >= 19900)
{
if( ((int)(time)%4==0 || (int)(time)%4==3 ))
mBadFish[i]->mCurrAnimation->SetAlpha(255.0f);
else
mBadFish[i]->mCurrAnimation->SetAlpha(64.0f);
}
mBadFish[i]->Update(dt);
}
}
;
for (int i=0;i<MAX_TUNNEL;i++)
if((((mMario->GetX()+10)-(mTunnel_2[i]->GetX()-15.0f))<=70.0f)&&((mMario->GetY()-(mTunnel_2[i]->GetY()-15.0f)))<=60.0f&&(((mTunnel_2[i]->GetX()-15.0f)-mMario->GetX()+10)<=70.0f)&&((mTunnel_2[i]->GetY()-15.0f)-mMario->GetY()<-15.0f) && time >= 20000)
{
if (mEngine->GetAnalogX() > 192)
{
mEngine->PlaySample(mSfx[SFX_SHRINK]);
VIRTUAL_WIDTH = 5120.0f;
VIRTUAL_HEIGHT = 480.0f;
mTileMap->GetPositionMap(1374.0f,0.0f);
mMario->SetPosition(1568.0f,287.0f);
BIGM_INITIAL_JUMP_VEL =-0.57f;
DEFAULT_GRAVITY = 0.001f;
DEFAULT_WALK_SPEED = 0.15f;
mTileMap->Load("Res/map.dat", "Res/mario.ent");
mBlock = new JumpingBlock(this);
mCoin = new JumpingCoin(this);
for (i=0;i<MAX_TURTLE;i++)
mTurtle[i] = new Turtle(this);
for (i=0;i<MAX_MUSH;i++)
mBadMush[i] = new BadMush(this);
mMushroom = new Mushroom(this);
for (i=0;i<MAX_STATIC_COIN;i++)
mStaticCoins[i] = new StaticCoin(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_1[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_2[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_3[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_4[i] = new Tunnel(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_1[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_2[i] = new Gangplank(this);
for (i=0;i<MAX_BAD_FLOWER;i++)
mBadFlowers[i] = new BadFlower(this);
mmm = false;
}
}
for (int i=0;i<MAX_TUNNEL;i++)
if((((mMario->GetX()+10)-(mTunnel_3[i]->GetX()-15.0f))<=70.0f)&&((mMario->GetY()-(mTunnel_3[i]->GetY()-15.0f)))<=60.0f&&(((mTunnel_3[i]->GetX()-15.0f)-mMario->GetX()+10)<=70.0f)&&((mTunnel_3[i]->GetY()-15.0f)-mMario->GetY()<=-15.0f))
{
if (mEngine->GetAnalogX() > 192)
{
mEngine->PlaySample(mSfx[SFX_SHRINK]);
mTileMap->Load("Res/map.dat", "Res/mario.ent");
mBlock = new JumpingBlock(this);
mCoin = new JumpingCoin(this);
for (i=0;i<MAX_TURTLE;i++)
mTurtle[i] = new Turtle(this);
for (i=0;i<MAX_MUSH;i++)
mBadMush[i] = new BadMush(this);
mMushroom = new Mushroom(this);
for (i=0;i<MAX_STATIC_COIN;i++)
mStaticCoins[i] = new StaticCoin(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_1[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_2[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_3[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_4[i] = new Tunnel(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_1[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_2[i] = new Gangplank(this);
for (i=0;i<MAX_BAD_FLOWER;i++)
mBadFlowers[i] = new BadFlower(this);
VIRTUAL_WIDTH = 5120.0f;
VIRTUAL_HEIGHT = 480.0f;
mTileMap->GetPositionMap(2222.0f,0.0f);
mMario->SetPosition(2432.0f,255.0f);
bmap_3 = false;
}
}
for (int i=0;i<MAX_TUNNEL;i++)
if((((mMario->GetX()+10)-(mTunnel_1[i]->GetX()-15.0f))<=20.0f)&&((mMario->GetY()-(mTunnel_1[i]->GetY()-15.0f)))<=70.0f&&(((mTunnel_1[i]->GetX()-15.0f)-mMario->GetX()+10)<=60.0f)&&((mTunnel_1[i]->GetY()-15.0f)-mMario->GetY()<=5.0f))
{
if (mEngine->GetAnalogY() > 192)
{
mEngine->PlaySample(mSfx[SFX_SHRINK]);
mTileMap->Load("Res/map_3.dat", "Res/mario_3.ent");
mBlock = new JumpingBlock(this);
mCoin = new JumpingCoin(this);
for (i=0;i<MAX_TURTLE;i++)
mTurtle[i] = new Turtle(this);
for (i=0;i<MAX_MUSH;i++)
mBadMush[i] = new BadMush(this);
mMushroom = new Mushroom(this);
for (i=0;i<MAX_STATIC_COIN;i++)
mStaticCoins[i] = new StaticCoin(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_1[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_2[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_3[i] = new Tunnel(this);
for (i=0;i<MAX_TUNNEL;i++)
mTunnel_4[i] = new Tunnel(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank[i] = new Gangplank(this);
for (i=0;i<MAX_GANGPLANK;i++)
mGangplank_1[i] = new Gangplank(this);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -