freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

10c課程設計貪吃魚(完整版)

2025-07-31 04:59上一頁面

下一頁面
  

【正文】 如果等級比自己高,只扣除一定的生命值。碰到特殊魚,如果等級比自己高,小魚只是被扣掉一定的生命值。 小魚的初始大小為原大小的1/4。類具有屬性和方法,要控制小魚能在各個方向上自由的游動,我們?yōu)镃MyFish類添加上下左右四個方向的速度,并且我們?yōu)樾◆~添加OnMove方法控制小魚的游動狀態(tài)。在CGameMain中添加成員變量:CSprite * m_pBeginSprite。public: void OnMove(bool bKeyDown,int iKey)。// 設置魚的模型大小為1/4 SetSpriteScale( )。 break。 break。 float fVelY = m_fVelocityDown m_fVelocityUp。 if( NULL == m_pMyFish ) { // 創(chuàng)建對象實例 m_pMyFish = new CMyFish(kongzhiyu)。 // 分數(shù)設置為0實驗二 為游戲添加各種小魚【實驗內容】 創(chuàng)建普通魚CNormalFish類; 新添的小魚一共有4種,從魚類模板中隨機生成; 間隔1到2秒生成一只小魚; 小魚以隨機速度從右向左移動; 小魚碰到世界邊界后消失;【實驗思路】我們將在游戲中出現(xiàn)的敵方小魚看成對象,這些對象具有共同的屬性和方法,因此我們創(chuàng)建一個CNormalFish類。當隨機數(shù)小于15時我們選擇yu_muban4的小魚做為模板,當隨機數(shù)在[15,35]區(qū)間時,我們選擇yu_muban3做為模板,當隨機數(shù)在[35,60]區(qū)間時,我們選擇yu_muban2做為模板,當隨機數(shù)在[60,100]區(qū)間,我們選擇yu_muban1做為模板。而Y軸坐標的區(qū)間在世界邊界的Top和Bottom值之間。 iRandom = CSystem::RandomRange( 10, 25 )。并在[100,300]區(qū)間隨機去個數(shù)除以100做為下一次創(chuàng)建小魚的時間間隔。 }實驗三 吃小魚【實驗內容】 玩家控制小魚與其它小魚碰撞,當玩家小魚等級小于敵方小魚時,玩家小魚被吃掉,反之敵方小魚被吃掉;每吃掉一只小魚,玩家小魚的分數(shù)增加為敵方小魚的HP值 需要根據(jù)小魚的等級確定碰撞的不同結果,因此為小魚添加等級的屬性; 同時不同的等級擁有不同的分數(shù),因此為小魚增加分數(shù)的屬性;【實驗思路】首先為CMyFish類增加碰撞屬性;然后為CMyFish類增加表示小魚等級和HP的屬性,增加設置等級、HP值和獲得等級、HP值的方法;同理為CNormalFish類增加碰撞屬性及其小魚等級、HP的屬性和獲得等級、HP值的方法。SetSpriteCollisionActive(true,false)。CNormalFish::CNormalFish( const char *szName)。FishList *pFish = new FishList。 pTemppNext = pFish。 玩家的小魚根據(jù)HP值分為14不同的等級,初始HP的值為10,等級為1。 m_pMyFish GetLevel() == 3 ) { m_pMyFish SetLevel( 4 )。 m_pMyFish GetLevel() == 1 ) { m_pMyFish SetLevel( 2 )。if( 2 != GetGameState() || NULL == m_pMyFish)return。 NULL != pFish。 m_pHpTextSetTextValue( m_pMyFishGetHp() )。} else // 游戲未結束,繼續(xù)游戲 {GameRun( fDeltaTime )。m_pMyFishSetLevel( 1 )?!緦嶒炛笇А?為了將此類型的魚添加到鏈表中,需要對結構體做以下修改。 // pFishpPtr = pSprite。 }} 通過類向導創(chuàng)建CSpecialFish類,其繼承與CSprite類。 接著為小魚設置X軸坐標和一個隨機的Y軸坐標。速度在 [10,25]區(qū)間。 } else { pControlFishSetHp( pControlFishGetHp() GetHp() )。 pControlFishSetSpriteScale()。在CGameMain類的OnSpriteColSprite方法中完善碰撞檢測,將代碼添加到if( strcmp( m_pMyFishGetName(), szSrcName ) == 0 )判斷里面。增加父類是為了方便以后再有這方面的類需要創(chuàng)建的時候,就可以直接繼承于CGameSprite這個類【實驗指導】 通過類向導添加CGameSprite類,其繼續(xù)于CSprite類。 // pControlFish即為玩家控制的魚的指針 // 思考:這里為什么使用虛函數(shù) virtual void OnColControlFish( CMyFish *pMyFish ) { } virtual void OnMove(bool bKeyDown,int iKey){}protected: int m_iHp。 pFish = pFishpNext ) { if( strcmp( szName, pFishpPtrGetName() ) == 0 ) return pFishpPtr。 至此,游戲就結束了,你可以開始玩自己做的游戲了。} 修改AddFish的參數(shù)。 // 等級(玩家控制的那條魚可以升級降級,其它的魚是初始 // 的時候就給了固定的等級值)}。class CMyFish;class CGameSprite : public CSprite{public: // 結合該變量的應用,考慮為什么要用靜態(tài)成員變量?普通成員變量和靜態(tài)成員變量的生命周期有什么不同? static int m_iCreatedFishCount。 if( NULL != pFish ) { pFishOnColControlFish( m_pMyFish )。 pControlFishSetSpriteScale()。 if( HP = 0 ) { pControlFishSetHp(0)。 iRandom = CSystem::RandomRange( 10, 25 )。而Y軸坐標的區(qū)間在世界邊界的Top和Bottom 值 之間。int m_iHp。 pFishpPrev = NULL。 FishList *pNext。 m_pMyFishSetSpriteScale( )。amp。玩家小魚的等級達到4級, 并且HP大于1000時玩家贏。 } if( NULL != pFishpPrev ) { pFishpPrevpNext = pFishpNext。 CNormalFish *pFish = GetFishFromName( szTarName )。 // 模型變大 } } else { pControlFishSetHp(0)。 // 模型變大 } else if(m_pMyFish GetHp() = 1
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1