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

正文內(nèi)容

畢業(yè)論文-基于cocos2d-x游戲引擎的小雞對抗游戲開發(fā)-資料下載頁

2025-06-06 10:53本頁面
  

【正文】 cher()removeDelegate(this)。 CCLayer::onExit()。 CCSpriteFrameCache::sharedSpriteFrameCache()removeUnusedSpriteFrames()。 CCUserDefault *pUserDefault=CCUserDefault::sharedUserDefault()。 pUserDefaultsetIntegerForKey(curGameLevel,m_curGameLevel)。 關卡選擇場景的 效果圖如圖 : 湖北科技學院本科畢業(yè)設計 (論文 ):基于 Cocos2dx 的小雞對抗游戲開發(fā) 23 圖 選擇關卡場景效果圖 游戲場景的實現(xiàn) 游戲場景是游戲中主要的模塊。在這個場景中,為了更好的去管理場景下的一些元素,自定義了些類,包括了 World(地圖)、 Number(生命值)、 ChickenManager(小雞管理器)、 PropManager(道具管理器) 結構圖如圖 : 游 戲 場 景地 圖生 命 值小 雞 管 理 器道 具 管 理 器 圖 游戲場景結構圖 World(地圖) 地圖也就是小雞行走的位置,地圖上有障礙物和空地,障礙物和空地的值是由 1和 0來表 示的,游戲中有四個關卡,對應 4個地圖,每張地圖都對應著一個 16*12的二維數(shù)組,數(shù)組記錄的是地圖的行走的信息。 聲明數(shù)組: static int rocks[WIDTHNUM][HEIGHTNUM]。 湖北科技學院本科畢業(yè)設計 (論文 ):基于 Cocos2dx 的小雞對抗游戲開發(fā) 24 地圖轉化為數(shù)組的實現(xiàn)代碼: if(num == 2) { int a[12][16]= { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,0,0,1,0,1,0,1,0,1,0,0,0,1,0, 0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0, 0,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1, 0,1,0,1,0,0,0,1,1,0,0,0,1,0,0,0, 0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,0, 0,1,0,0,0,0,0,1,1,0,1,0,0,0,1,0, 0,0,0,1,0,0,0,1,1,0,0,0,1,0,1,0, 1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,0, 0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0, 0,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, }。 for(int i=0。i16。i++) for(int j=0。j12。j++) rocks[i][j] = a[11j][i]。 } Number(生命值 ) 生命值記錄的是游戲過程中雞的數(shù)量的改變,生命值由兩個值組成,一個是病雞的數(shù)量,一個是健康雞的數(shù)量,下面的是病雞的血條,上面的則是建康雞的血條,當病雞的血條滿時或是病雞的血條加上健康雞的血條占滿了生命值的整個空間是,游戲結束,闖關失敗,當病雞的血條為 0 時,游戲結束,闖關成功。 實現(xiàn)代碼如下: if(ill_num 15 || ill_num + health_num 20) return false。 int i。 for(i = 0 。 i ill_num 。 i ++) { CCSprite * m_sprite = CCSprite::create()。 m_spritesetPosition(ccp(NUMLOC,79 + 20 * i))。 addChild(m_sprite)。 } for( 。 i ill_num + health_num 。 i ++) { 湖北科技學院本科畢業(yè)設計 (論文 ):基于 Cocos2dx 的小雞對抗游戲開發(fā) 25 CCSprite * m_sprite = CCSprite::create()。 m_spritesetPosition(ccp(NUMLOC,79 + 20 * i))。 addChild(m_sprite)。 } return true。 ChickenManager(小雞管理器) 小雞管理器中管理著病雞、建康雞、病蛋、健康蛋。 結構圖如圖 : 小 雞 管 理 器病 雞健 康 雞病 蛋健 康 蛋 圖 小雞管理器結構圖 容器的聲明: vectorIllChicken * ills。 vectorHealthChicken * healths。 vectorEgg * eggs。 vectorHealthEgg * health_eggs。 vectorIllEgg * ill_eggs。 vectorCCPoint * temp_loc。 vectorint temp_type。 vectorCCSprite * fires。 小雞的產(chǎn)生,其中的變量 type為小雞的類型, 0 代表的是感染上病毒的小雞, 1 代表的是健康的小雞。 inits函數(shù)的參數(shù)的含義依次為:產(chǎn)生雞的位置、方向、性別。 實現(xiàn)代碼如下: if(type == 0) { IllChicken * i = new IllChicken()。 iinits(a,d,s)。 湖北科技學院本科畢業(yè)設計 (論文 ):基于 Cocos2dx 的小雞對抗游戲開發(fā) 26 (i)。 addChild(i,3)。 } else if(type == 1) { HealthChicken * h = new HealthChicken()。 hinits(a,d,s)。 (h)。 addChild(h,3)。 } 小雞的創(chuàng)建, sex 指的是性別, 0代表的是公雞, 1 代表的是母雞, dir 指 的是方向, 0 代表的是向上, 1代表的是向左, 2代表的是向下, 3代表的是向右。這里是根據(jù)不同的性別不同的方向由不同的圖片在不同的位置上創(chuàng)建小雞精靈。 實現(xiàn)代碼如下: if(sex == 0) { if(dir == 0) p_sprite = CCSprite::create()。 else if(dir == 1) p_sprite = CCSprite::create()。 else if(dir == 2) p_sprite = CCSprite::create()。 else if(dir == 3) p_sprite = CCSprite::create()。 } else if(sex == 1) { if(dir == 0) p_sprite = CCSprite::create()。 else if(dir == 1) p_sprite = CCSprite::create()。 else if(dir == 2) p_sprite = CCSprite::create()。 else if(dir == 3) p_sprite = CCSprite::create()。 } p_spritesetPosition(ccp((locx+)*BOXSIDE,(locy+)*BOXSIDE))。 addChild(p_sprite,3)。 雞蛋的產(chǎn)生,其中的變量 temp_loc為一個 CCPoint類型的容器, inits為蛋的創(chuàng)建函數(shù),主湖北科技學院本科畢業(yè)設計 (論文 ):基于 Cocos2dx 的小雞對抗游戲開發(fā) 27 要是蛋精靈的創(chuàng)建,以及添加到父節(jié)點中,第一個參數(shù)為雞蛋所在的位置,第二個為雞蛋的類型, 0代表的是由病菌的蛋, 1是健康的蛋 。 實現(xiàn)代碼如下: for(int i = 0 。 i () 。 i++) { Egg * egg = new Egg()。 egginits(temp_loc[i],temp_type[i])。 (egg)。 addChild(egg,1)。 } ()。 ()。 當兩只小雞走到同一位置時,總共有四種情況,分別是:病雞與病雞相撞、病雞與健康雞相撞、健康雞與病雞相撞、健康雞與健康雞相撞,這里只列出了一種情況,病雞與病雞相撞,其他的情況類似,只是產(chǎn)生的雞蛋的類型不一樣,病雞與病雞相撞孵化出來的是病雞,健康雞與 健康雞相撞孵化出來的是健康雞,而其他兩種則是隨機的,可能是病雞也可能是健康的雞,而孵化出來的雞的性別是隨機的,代表的是小雞停留的時間,母雞停留的時間會是公雞停留的時間的 3倍。 代碼的實現(xiàn)如下: for(int k = 0 。 k () 。 k++) { if(k != i amp。amp。 ills[i]sex != ills[k]sex amp。amp。 ills[i]locx == ills[k]locx amp。amp。 ills[i]locy == ills[k]locy) { if(ills[i]sex == 1) { ills[i]delay = 3。 ills[k]delay = 1。 } else { ills[i]delay = 1。 ills[k]delay = 3。 } creat_egg(ills[i]loc,0)。 } } 當小雞與道具相撞時,根據(jù)小雞的類型與道具的類型,會有不同的動作。這里只舉了病雞與道具骷髏頭和道具藥劑相撞 的例子, type為 0指的是道具為藥劑, type為 1指的是道具為骷湖北科技學院本科畢業(yè)設計 (論文 ):基于 Cocos2dx 的小雞對抗游戲開發(fā) 28 髏頭,其中 get_healthy 函數(shù)是將病雞治愈為健康的雞,這些主要是對容器的操作,后面再根據(jù)容器的大小,值進行不同的顯示。 實現(xiàn)代碼如下: for(int j = 0 。 j () 。 j++ ) { for(int i = 0 。 i () 。 i++ ) if(sp[i]locx == ills[j]locx amp。amp。 sp[i]locy == ills[j]locy) { if(sp[i]type == 0) { get_healthy(j)。 sp[i]remove_sprite()。 (()+i)。 break。 } else if(sp[i]type == 1) { thisremoveChild(ills[j])。 (()+j)。 sp[i]remove_sprite()。 (()+i)。 break。 } } } 判斷地圖上的點是否可走,有蛋的地方不能行走,地圖上有障礙物的地方不能行走,wget_on_location(x,y)。得到的是地圖上在點( x, y)點處的值,這個值只為 0或是 1,1為不可走。 WIDTHNUM、 HEIGHTNUM分別代表的是地圖的寬度和高度 實現(xiàn)代碼為: if(x = WIDTHNUM || x 0 || y = HEIGHTNUM || y 0) return false。 if(wget_on_location(x,y)!=1) { for(int i = 0 。 i () 。 i++) if(eggs[i]locx == x amp。amp。 eggs[i]locy == y) return false。 for(int i = 0 。 i () 。 i++) if(ill_eggs[i]locx == x amp。amp。 ill_eggs[i]locy == y) return false。
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1