偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

AIR Android:游戲的設計思路

移動開發(fā) Android
第一個AIR Android程序:翻轉黑白棋,本模塊將編寫一個完整的移動小游戲,并把它部署在手機上。因此,我們將親歷一個移動程序完整的誕生過程,從程序設計、代碼編寫,到最后的安裝。在這個過程中會涉及很多Android開發(fā)的技術細節(jié),讀者也可以近距離感受AIR帶來的開發(fā)樂趣。本文先為大家介紹游戲的設計思路。

第一個AIR Android程序:翻轉黑白棋

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

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

游戲的設計思路

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

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

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

 
圖2-1 翻轉黑白棋游戲

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

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

 
圖2-2 棋盤模擬效果圖

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

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

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

 
圖2-3 用矩陣描述棋盤

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

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

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

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

責任編輯:閆佳明 來源: book.51cto.com
相關推薦

2013-05-14 09:57:37

2013-05-03 15:17:59

Android開發(fā)Android SDK

2013-05-14 11:18:24

AIR AndroidSwipe手勢

2011-06-16 10:25:29

AndroidAIR

2013-05-21 16:17:13

2013-05-14 09:54:27

Android開發(fā)開源開發(fā)環(huán)境

2013-05-14 10:27:46

Android開發(fā)設置程序屬性

2013-05-14 11:16:26

AIR Android旋轉手勢

2013-05-14 10:39:27

AIR Android打包APK文件

2013-05-14 10:37:10

AIR Android設置訪問權限

2015-05-18 16:53:36

Android

2020-11-05 09:04:52

MySQL隨機恢復

2013-05-14 10:56:45

AIR Android多點觸摸

2013-05-14 09:50:44

Android開發(fā)Flash Build

2013-05-14 10:10:28

Android開發(fā)棋子類Grid

2012-02-28 13:52:45

Adobe AIRAndroidFlash

2012-03-09 13:26:53

2013-12-13 16:00:39

社交類APP設計思路產(chǎn)品經(jīng)理

2013-05-14 11:01:34

AIR AndroidTouchEvent類

2013-05-14 11:04:58

AIR AndroidTouchEvent類
點贊
收藏

51CTO技術棧公眾號