日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
AIRAndroid:游戲的設(shè)計(jì)思路

第一個AIR Android程序:翻轉(zhuǎn)黑白棋

創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為阿爾山等服務(wù)建站,阿爾山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為阿爾山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

之前介紹了開發(fā)環(huán)境的搭建,按照計(jì)算機(jī)應(yīng)用開發(fā)慣例,應(yīng)該是“HelloWorld”出場的時間了??紤]到并不是講述編程語言的基礎(chǔ)教程,而是側(cè)重于實(shí)踐,所以,我們跳過簡單的“HelloWorld”,來看一個更復(fù)雜的實(shí)例。

本文將編寫一個完整的移動小游戲,并把它部署在手機(jī)上。因此,我們將親歷一個移動程序完整的誕生過程,從程序設(shè)計(jì)、代碼編寫,到最后的安裝。在這個過程中會涉及很多Android開發(fā)的技術(shù)細(xì)節(jié),讀者也可以近距離感受AIR帶來的開發(fā)樂趣。

游戲的設(shè)計(jì)思路

在當(dāng)前的Flash程序中,休閑類游戲占了很大的比重。這類游戲一般體積小,玩法簡單,但有創(chuàng)意,容易吸引用戶。從技術(shù)角度看,休閑游戲的特點(diǎn)非常適合移動平臺,事實(shí)也證明了這一點(diǎn)。不管是在Google電子市場上,還是在蘋果的App Store上,休閑類游戲都占據(jù)了很大的比例??梢灶A(yù)見,在未來一段時間內(nèi),眾多網(wǎng)絡(luò)上的Flash游戲?qū)⒈灰浦驳揭苿釉O(shè)備上。

翻轉(zhuǎn)黑白棋是一個經(jīng)典的智力游戲,筆者最早見到的版本是由國外的Terry Paton出品的,原名FlipIt。該游戲推出后便風(fēng)靡一時,在Google電子市場、蘋果的App Store上都有相應(yīng)版本發(fā)布。

游戲規(guī)則非常簡單:在棋盤上整齊地排列著若干個棋子,分為黑白兩色。玩家單擊任意一個棋子,該棋子會翻轉(zhuǎn)為相反的顏色;同時相鄰的棋子也跟著翻轉(zhuǎn),如圖2-1所示。當(dāng)棋子全部變?yōu)榘咨珪r,則勝利過關(guān)。當(dāng)然,所用的單擊次數(shù)越少成績越好。

 
圖2-1 翻轉(zhuǎn)黑白棋游戲

雖然初看很簡單,但真正玩起來卻很有難度,特別是在大尺寸的棋盤上,如果不掌握一些技巧,可能玩一天也過不了關(guān)。

從技術(shù)角度分析,該游戲唯一難點(diǎn)可能在于如何動態(tài)生成棋盤地圖,并控制地圖的難易度。在網(wǎng)絡(luò)上已經(jīng)有不少相關(guān)的討論,比如有人使用線性方程組來求解。游戲算法的討論不在本書范圍內(nèi),筆者這里直接借鑒了原游戲中的一個關(guān)卡,使用的棋盤為4×4大小,模擬的效果如圖2-2所示。

 
圖2-2 棋盤模擬效果圖

地圖問題解決了,接下來開始設(shè)計(jì)游戲的結(jié)構(gòu)。在程序運(yùn)行期間,只有一種用戶交互動作,即單擊事件。因此整個游戲的邏輯很清楚,運(yùn)行流程可以分以下兩步。

步驟1 按照已有的地圖數(shù)據(jù)繪制棋盤,進(jìn)入待機(jī)狀態(tài)。

地圖數(shù)據(jù)可以用一個4×4的二維矩陣來表示,每個值分別代表了初始狀態(tài)下對應(yīng)位置的棋子的顏色,如圖2-3所示。由于只有黑白兩色,棋子的狀態(tài)可以簡單地用布爾值來表示,即false代表黑色,true代表白色。每次單擊棋子時對要翻轉(zhuǎn)的棋子做邏輯非處理。

 
圖2-3 用矩陣描述棋盤

在繪制地圖時,根據(jù)每個值在矩陣中的索引位置,可以很方便地對棋子進(jìn)行布局。

步驟2 處理用戶單擊事件。

每次單擊任一棋子時,將它翻轉(zhuǎn),同時翻轉(zhuǎn)四周的棋子。在處理四周的棋子時,要注意判斷周圍的哪些棋子是有效的,比如,如果單擊的棋子已經(jīng)在最左側(cè)了,那么其左邊是沒有相鄰棋子的。用戶單擊后棋盤上的棋子狀態(tài)發(fā)生了變化,因此,需要判斷所有棋子是否已是白色。如果是,則過關(guān)了,游戲結(jié)束。

到這里,相信讀者對游戲的制作思路已經(jīng)了然于胸了,剩下的工作就是編寫代碼,把整個過程呈現(xiàn)出來。


當(dāng)前標(biāo)題:AIRAndroid:游戲的設(shè)計(jì)思路
當(dāng)前URL:http://www.dlmjj.cn/article/ccidchd.html