服務項目

需求溝通

開發賽馬游戲

  隨著智能手機的發展,硬件性能不斷提高,人們使用手機進行娛樂的需求越來越大,而休閑娛樂的功能則占據更大的比重,賽馬游戲是歷史最悠久的運動之一。自古至今形式變化甚多,但基本原則都是競賽速度。

  本游戲基于U3D引擎設計實現的。采用觸控屏幕的方式進行游戲,點擊開始游戲開始賽馬,跳轉到競猜序號界面,選擇序號后開始賽馬,賽馬結束,輸出冠軍馬匹,判斷競猜結果是否正確,連續賽馬十次,統計十次的結果,將用戶名和贏的次數存入數據庫,點擊排行榜,可以降序顯示出贏的次數的用戶名。

  賽馬作為受眾面較大、趣味性較強的一類,非常適合朋友在聚會的時候玩,可以按每個人所押注賽馬的不同名次來決定誰表演節目。具有一定的娛樂價值。

  一、游戲設計及框架

  3D版賽馬游戲主要包括分為三大功能模塊:系統設置管理模塊包括聲音設置、震動設置、是否橫屏布局管理等 ;游戲控制模塊包括選擇難度即馬匹數量、開始游戲競猜、排名榜等;系統幫助包括游戲說明及初始系統導航等。該游戲的整個結構如圖1所示:

  二、游戲系統架構

  結合U3D的應用的開發特點和三層C/S架構中成熟的架構模式,本游戲系統架構分為五層:數據層、數據訪問層、業務對象層、業務邏輯層,UI表示層。

  (一)數據層

  此層用于存儲系統所用的各種信息。存儲方式分為二種:SQLite3 數據庫存儲和文件xml的形式進行存儲。

  (二)數據訪問層

  此層的主要功能是負責數據的訪問工作,不僅要實現對SQLite3數據庫表的操作,還要實現以文件的I/O操作以及XML文件的讀寫操作。為此本層主要包括以下三個部分:DBHelper用于SQLite3訪問;SharedPreferences用于讀寫XML文件;JAVA IO文件操作相關類。

  (三)業務對象層

  此層對真實世界中某些物體在軟件開發中的一種簡單抽象。例如 :本游戲最為主要是馬匹對象等。這一層的主要工作是實現對象關系映射(Object/Relation Mapping,ORM),即將數據訪問層獲取的數據集信息映射到與游戲關系的某些業務對象中。

  (四)業務邏輯層

  此層是對業務對象層為基礎,結果不同的業務需求,針對相應的業務對象,制定業務規則、業務流程,業務邏輯層在體系架構中的位置十分關鍵,起到承上啟下的作用。

  (五)UI表示層

  此層是與用戶直接交互部分。為達到方便用戶的使用,操作簡潔的目的,本系統以一些Android,ios提供的控件為基類,進行了擴展。例如:MySurfaceView控件是繼承自Android的SurfaceView控件,DrawThread控件繼承于Thread,并自定義布局中設置登錄、競猜、排名榜等布局。

  三、游戲實現

  本游戲設計有5個主界面,分別是登錄、系統設置、競猜、賽馬、排行榜顯示。

  最關鍵的賽馬的界面設置,本游戲創建了MySurfaceView類來完成賽馬背景和馬匹動態的繪制。

  游戲為支持多種尺寸的屏幕,本游戲中所用的圖片(馬匹跑道圖片、馬匹圖片)都兼容不同尺寸的屏幕,根據比例將圖片進行等比縮放。

  競猜界面:用戶登陸后,每位用戶有10次競猜機會,初次登陸顯示有10次機會并直接在editText中輸入馬匹編號開始競猜,進入到賽馬界面,如圖2。

  最主要的賽馬界面:本游戲界面根據系統設置難度設置不同馬匹數量進行比賽,每匹馬采用兩幀交替顯示,背景采用綠色草坪圖案,每匹馬的速度每一秒都采用隨機數獲得,如圖3,某一匹馬到達終點后整個賽馬界面退出,回到競猜界面同時會顯示哪匹馬最先到達終點。到達的馬匹編號和用戶競猜的馬匹編號比對,如果猜對就將count++,之后再次輸入馬匹編號進行下一輪競猜,10次之后累計猜對結果并保存在數據庫中。

  db.execSQL("create table user(Sno Integer ,name String,winCountint)");//建表

  ContentValues values = newContentValues();

  values.put("name",Login_Activity.useName);//添加鍵值對

  values.put("winCount",Guess_Activity.winCount);

  db.insert("user", null, values);//插入數據到user表中

  背景音樂設置:通過用戶輸入馬匹獲得編號,設置多種背景音樂,根據所得馬匹編號選擇播放哪種音樂,增加賽馬樂趣。

  排名榜界面:通過listview控件完成排名榜設置,使用SimpleAdapter類完成排名榜布局,并降序排列。

  DatabaseHelperdbHelper = newDatabaseHelper(ScoreList.this,"Horse_db");

  SQLiteDatabasedb = dbHelper.getReadableDatabase();

  Cursor cursor = db.query("user", new String[]{"winCount","name"}, null,null,null, null, "winCount desc","10");

  while(cursor.moveToNext())

  {

  String name = cursor.getString(cursor.getColumnIndex("name"));

  intwinCounts = cursor.getInt(cursor.getColumnIndex("winCount"));

  }

  四、結論

  基于Android,ios系統平臺的賽馬游戲通過對UI及數據庫等多方面的設置,完成了手機終端游戲的設計與開發,該游戲簡單易學,運行穩定,節省資源,便于單人或多人娛樂,有一定的娛樂價值。

選擇一家app定制的軟件開發公司,最重要的是程序員的素質和綜合能力,仟源科技專業從事軟件開發,服務行業范圍非常之廣,匯聚了JAVA,NET,前端,APP應用,PHP,軟件測試等多方面的開發工程師,也有平面設計,產品設計與運營,網絡建設與運維等方面的專業人才,有多年的企業級軟件開發的經驗。

  仟源科技有限公司始終堅持以創業服務創業,以創新服務創新”的宗旨,做軟件開發,游戲開發和系統開發核心業務,實現前瞻性投資,為優秀創業者做一站式扶持,并建立“大服務、大扶持、大未來”的目標。仟源科技堅持以客戶需求為中心,打造企業品牌助力企業成長!那么最后說一句,如果您有軟件開發的需求,請馬上關注聯系我們吧。

文章標簽:
文章評論:

專業的游戲開發/系統開發、品牌設計/網站建設,選仟源!

選擇專業的企業服務公司,服務更靠譜!

立即點擊咨詢>
客服圖標
客服圖標
118旺角心水论坛