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

正文內(nèi)容

10c課程設(shè)計貪吃魚-資料下載頁

2025-06-25 04:59本頁面
  

【正文】 if( HP = 0 ) { pControlFishSetHp(0)。 pControlFishSetLevel(1)。 pControlFishSetSpriteScale()。 }else if (HP = 20) { pControlFishSetLevel(1)。 pControlFishSetSpriteScale()。 }else if (HP = 100) { pControlFishSetLevel(2)。 pControlFishSetSpriteScale()。 }else if (HP = 10000) { pControlFishSetLevel(3)。 pControlFishSetSpriteScale()。 } }}在GameRun,生成特殊的魚,并將它添加到鏈表中去。 char szNameSpecial[128]。 在 if( m_fCreateNormalTime = )中添加以下: sprintf( szNameSpecial, specialyu_%d, m_iCreatedFishCount )。 CSpecialFish *specialfish = new CSpecialFish(szNameSpecial)。 AddFish(specialfish)。在CGameMain類的OnSpriteColSprite方法中完善碰撞檢測,將代碼添加到if( strcmp( m_pMyFishGetName(), szSrcName ) == 0 )判斷里面。 // 找到該魚的對象實(shí)例,調(diào)用碰撞處理函數(shù) if(strstr( szTarName, putongyu ) != NULL ) { CNormalFish* pFish=(CNormalFish*)( GetFishFromName( szTarName )pPtr)。 if( NULL != pFish ) { pFishOnColControlFish( m_pMyFish )。 } } else if ( strstr(szTarName, specialyu) != NULL) { CSpecialFish* pFish=(CSpecialFish*)(GetFishFromName( szTarName )pPtr)。 if( NULL != pFish ) { pFishOnColControlFish( m_pMyFish )。 } } // 碰撞之后,不管誰吃誰,都將游戲里的魚刪除掉 DeleteFishFromName( szTarName )。 }實(shí)驗五 *為小魚增加父類【實(shí)驗內(nèi)容】為CNormalFish、CSpecialFish、CMyFish增加父類CGameSprite?!緦?shí)驗思路】 由于CNormalFish、CSpecialFish和CMyFish有許多共同屬性和方法,因此把他們的共性提取出來,使用這些共性為他們創(chuàng)建一個父類CGameSprite。增加父類是為了方便以后再有這方面的類需要創(chuàng)建的時候,就可以直接繼承于CGameSprite這個類【實(shí)驗指導(dǎo)】 通過類向?qū)砑覥GameSprite類,其繼續(xù)于CSprite類。在類定義前,通過類聲明,聲明CMyFish類。class CMyFish;class CGameSprite : public CSprite{public: // 結(jié)合該變量的應(yīng)用,考慮為什么要用靜態(tài)成員變量?普通成員變量和靜態(tài)成員變量的生命周期有什么不同? static int m_iCreatedFishCount。public: CGameSprite( const char *szName ) : CSprite( szName ) {} ~CGameSprite() { } // Get // 獲取精靈生命值 int GetLevel() { return m_iLevel。 } // 獲取精靈級別 int GetHp() { return m_iHp。 } // Set void SetLevel( const int iLevel ) { m_iLevel = iLevel。 } void SetHp( const int iHp ) { m_iHp = iHp。 } // 當(dāng)游動的魚碰撞到玩家控制的魚的時候調(diào)用到。 // pControlFish即為玩家控制的魚的指針 // 思考:這里為什么使用虛函數(shù) virtual void OnColControlFish( CMyFish *pMyFish ) { } virtual void OnMove(bool bKeyDown,int iKey){}protected: int m_iHp。 // Health Point 生命值 int m_iLevel。 // 等級(玩家控制的那條魚可以升級降級,其它的魚是初始 // 的時候就給了固定的等級值)}。 修改CNormalFish、CSpecialFish、CMyFish三個類的相關(guān)代碼,使其繼承于CGameSprite類,并且將一部分私有成員變量去除,并將沒有virtual前綴的相同的成員函數(shù)刪除; 修改FishList的結(jié)構(gòu),將CSprite * pPtr改為以下:CGameSprite *pPtr。 修改CGameMain類GetFishFromName方法代碼。CGameSprite* CGameMain::GetFishFromName( const char *szName ){ FishList *pFish = NULL。 for( pFish = m_pFishHeader。 NULL != pFish。 pFish = pFishpNext ) { if( strcmp( szName, pFishpPtrGetName() ) == 0 ) return pFishpPtr。 } return NULL。} 修改AddFish的參數(shù)。將CSprite * pSprite 改成CGameSprite * pSprite; 修改CGameMain類OnSpriteColSprite方法。 將上一個實(shí)驗中的 CNormalFish *pFish = (CNormalFish *)(GetFishFromName( szTarName )pPtr)。 CSpecialFish *pSpecialFish =(CSpecialFish *)(GetFishFromName( szTarName )pPtr)。 改成: CNormalFish *pFish = (CNormalFish *)(GetFishFromName( szTarName ))。 CSpecialFish *pSpecialFish =(CSpecialFish *)(GetFishFromName( szTarName ))。 至此,游戲就結(jié)束了,你可以開始玩自己做的游戲了。15
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1