1. 程式人生 > >小多的Android入門教程系列---之1---貪吃蛇改進版

小多的Android入門教程系列---之1---貪吃蛇改進版

Android_Tutorial-Advanced_Snake

小多的Android入門教程系列

1

貪吃蛇改進版

背景

android 2.3.3 SDK 10

Eclipse 3.5.1

反饋

時間

事件

版本

人物

2011-06-17

建立文件

0.1

連小多

學習Androdi的最有效的辦法就是讀例項程式碼,例項當然是SDK自帶的sample。本套入門教程系列的目的是讓你快速掌握Android開發的要點,只要認真看,跟著做,就一定可以掌握。

1.開始前的準備

1.準備好android SDK的開發環境,WINDOWSLINUX的都可以,分別都要改一些環境變數。

2.安裝好eclipse,然後eclipse上安裝好ADT

3.android管理裡面,安裝好我們要用的SDK android-10,及其sample部分

4.建一個android 2.3.3 (也就是android-10)的模擬器。

鑑於Window下如何配置的文章網上很多,這裡我簡要給一個linux下配置的過程。我使用的作業系統是fedora 12,如果不需要可以跳過下一小節。

1.1.LinuxFedora)下配置Android的開發環境

1.下載android sdk檔案,比如我下的android-sdk_r11-linux_x86.tgz

2.解壓它: gtar xvf android-sdk_r11-linux_x86.tgz

3.修改 ~/.bash_profile檔案,在最後新增類似下面幾行,請不要直接copy路徑都取決於你解壓sdk包的位置

PATH=$PATH:/0/software/android_osg/android-sdk-linux_x86/tools

ANDROID_SDK_HOME=/0/software/android_osg/android-sdk-linux_x86/

export PATH ANDROID_SDK_HOME

這裡PATH是為了把一些可執行檔案加入呼叫路徑,比如android, adb神馬的

ANDROID_SDK_HOME這個環境變數的目的是為了給一個自定義的模擬器建立的AVD虛擬機器的位置,如果你狠開心它就放在/home下面的話,可以忽略這個變數。

4.安裝個eclipse,我裝系統的時候好像就直接裝上了。

5.執行eclipse,現在安裝android外掛ADT,這裡偷個懶,抄下官網的步驟:網址在這裡:http://developer.android.com/sdk/eclipse-adt.html#installing

1.Start Eclipse, then select Help > Install New Software....

2. Click Add, in the top-right corner.

3. In the Add Repository dialog that appears, enter "ADT Plugin" for the Name and the following URL for the Location:

https://dl-ssl.google.com/android/eclipse/

4. Click OK

Note: If you have trouble acquiring the plugin, try using "http" in the Location URL, instead of "https" (https is preferred for security reasons).

5. In the Available Software dialog, select the checkbox next to Developer Tools and click Next.

6. In the next window, you'll see a list of the tools to be downloaded. Click Next.

7. Read and accept the license agreements, then click Finish.

Note: If you get a security warning saying that the authenticity or validity of the software can't be established, click OK.

8. When the installation completes, restart Eclipse.

6.現在還沒完,再來一步,在eclipse裡,Window->Preferences->左邊點Android,右邊在SDK Location中填寫你解壓的路徑,比如我填的是:/0/software/android_osg/android-sdk-linux_x86

1.2.Sample建立android專案

這次我們要動手的smaplesnake,所以,來匯入吧!

File->New->Android Project,選擇Create project from existing sample, 選擇snake finish!

PS 應該會注意到還有一個專案是snake-test, 這個是一個test的示例專案,也可以如上建立,不過會顯示有錯誤,這是因為沒有新增專案依賴關係,可以在test專案的properties裡:左邊->Java Build Path, 右邊->Projects tab, add,新增選擇snake,就OK了。

這個test專案是個空殼,沒有任何實際的測試實施。

2.snake新增障礙物

2.1.繪出障礙物

原遊戲中,只有一圈圍牆,我們這次修改的目的是,在圍牆內新增一些障礙物,如果不慎撞到,也算輸,增加遊戲的難度。由於障礙物應該隨機出現,我們很自然的就聯想到遊戲中存在的蘋果,障礙物很大程度上和蘋果類似,只是撞上會死,不會被吃掉。

1.更改

SnakeView.java中,我們看到類裡面對蘋果的記錄,是用了一個ArrayList<Coordinate>來儲存所有的蘋果,同樣,snake的身體也用了這麼一個列表來儲存。

/**

* mSnakeTrail: a list of Coordinates that make up the snake's body

* mAppleList: the secret location of the juicy apples the snake craves.

*/

private ArrayList<Coordinate> mSnakeTrail = new ArrayList<Coordinate>();

private ArrayList<Coordinate> mAppleList = new ArrayList<Coordinate>();

SnakeView.java

所以呢?當然!我們也要新增對於障礙物的儲存哦!!於是新增如下:

(對於新新增的程式碼部分,我們使用背景黃色高亮提示。)

(註釋不是必須的,但是相當的有必要!)

/**

* mSnakeTrail: a list of Coordinates that make up the snake's body

* mAppleList: the secret location of the juicy apples the snake craves.

* mBarrierList: the list of Coordinates that store the position of barriers.

*/

private ArrayList<Coordinate> mSnakeTrail = new ArrayList<Coordinate>();

private ArrayList<Coordinate> mAppleList = new ArrayList<Coordinate>();

private ArrayList<Coordinate> mBarrierList = new ArrayList<Coordinate>();

SnakeView.java

遊戲一開始就有提示:按向上鍵開始,那麼這裡發生了什麼呢?我們來看看對於按鍵事件的處理函式:

publicboolean onKeyDown(int keyCode, KeyEvent msg) {

if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {

if (mMode == READY | mMode == LOSE) {

/*

* At the beginning of the game, or the end of a previous one,

* we should start a new game.

*/

initNewGame();

setMode(RUNNING);

update();

return (true);

}

if (mMode == PAUSE) {

/*

* If the game is merely paused, we should just continue where

* we left off.

*/

setMode(RUNNING);

update();

return (true);

}

if (mDirection !=

相關推薦

Android入門教程系列---1---貪吃改進

Android_Tutorial-Advanced_Snake 小多的Android入門教程系列 之1 貪吃蛇改進版 背景 android 2.3.3 SDK 10 Eclipse 3.5.1 反饋 時間

大資料入門教程系列Hive篇彙總

大資料入門教程系列之Hive篇彙總 1、Hive概述、體系架構、分割槽、桶與傾斜 2、大資料入門教程系列之Hive環境搭建--Linux(Centons7)下配置安裝Hive 3、Hive DDL DML及SQL操作 4、Hadoop2.7.4 編譯 支援5種壓縮(Hive壓縮)

大資料入門教程系列Hive內建函式及自定義函式

本篇文章主要介紹Hive內建函式以及自定義UDF函式和UDFT函式,自定義UDF函式通過一個國際轉換中文的例子說明。 操作步驟: ①、準備資料和環境 ②、演示Hive內建函式 ③、自定義UDF函式編寫、演示   詳細步驟: 一、準備資料和

大資料入門教程系列Hive的Java API 操作

Java 想要訪問Hive,需要通過beeline的方式連線Hive,hiveserver2提供了一個新的命令列工具beeline,hiveserver2 對 之前的hive做了升級,功能更加強大,它增加了許可權控制,要使用beeline需要先啟動hiverserver2,再使用beeline連線

大資料入門教程系列Hbase安裝(偽分散式)

本篇文章主要介紹在windows下使用vmware虛擬機器中的Linux(Centons7)下配置安裝Hbase。 簡要步驟: ①、下載Hbase解壓包 ②、安裝zookeeper ③、解壓Hbase,配置環境環境 ④、修改Hbase指令碼檔案hbase-env.sh ⑤、修

Android入門教程使用Eclipse+ADT+SDK開發安卓APP

前言: 1.這裡我們有兩條路可以選,直接使用封裝好的用於開發Android的ADT Bundle,或者自己進行配置 因為谷歌已經放棄了ADT的更新,官網上也取消的下載連結,這裡提供谷歌放棄更新前最新版本的 ADT Bundle供大家下載! 2.直接使用

大資料入門教程系列Hadoop環境搭建、軟體準備

本篇文章主要介紹大資料入門教程環境搭建所需要的軟體、環境配置等,為後面的學習做準備。 完成目標: 1、安裝VMware及新建虛擬機器 安裝VMware及新建虛擬機器 2、VMware中安裝centons7 虛擬機器VMware中安裝linux系統CentOS

Angular 4入門教程系列1:HelloWorld

ngular作為目前前端的一個重要選擇,加之背後站著google,得到了越來越多的開發者的青睞。但是發現沒有按照由淺入深地例項化的教程,雖然官網的教程已經不錯,但是初始入門的細節沒有提到,再加之網路等問題,決定把官網的教程替大家做一遍給大家留個筆記。同時可能會結合docker

Android入門教程Genymotion模擬器執行黑屏問題解決

測試摘要: Genymotion 在安裝完成之後,啟動所選的虛擬裝置,發現虛擬裝置不能夠正常的啟動,具體顯示: 黑屏; (Tip: 本機上安裝的Genymotion 版本:2.11.0, Ora

Android入門教程(二)------環境搭建

Android 作業系統頂著 Google 與 Open Handset Alliance 的光環,讓很多程式設計師在 Android 手機還沒上市之前,就開始緊追著官方文件, Early SDK 版本更新,這是 IT 業界罕見的現象,因為大家都抱著 ” 不想輸在起跑線上 “

Android入門教程(四)------Android工程目錄結構介紹

當我們建立完Android工程如(HelloAndroid)後,展開"Package Explorer"窗口裡的"HelloAndroid"項名稱,可以看見如下目錄結構:   res:放置應用 程式 用到的資源 檔案。其包含(Drawable,layout,values等目錄

Android入門教程使用AndroidStudio+SDK開發安卓APP

<!-- Android 基礎入門教程 end --> <div class="col middle-column big-middle-column"> <div class="article"

Android入門教程(五)------第一個Android工程HelloAndroid

從這一節我們將正式進入Android程式設計世界,希望大家多多給我留言以及提些建議. 首先我們開啟Eclipse選擇左上方的選單[File->New->Project->Android Project]雙擊後會出現新建Android工程對話方塊,如下圖所示:

WPF入門教程系列十——布局Border與ViewBox(五)

last () put prev 裝飾 wpf 背景 .text 部分 九. Border Border 是一個裝飾的控件,此控件繪制邊框及背景,在 Border 中只能有一個子控件,若要顯示多個子控件,需要將一個附加的 Panel 控件放置在父 Border 中。然後可以

WPF入門教程系列八——布局Grid與UniformGrid(三)

input 接下來 toolbar wid ids 全部 ica tar 生成 五. Grid Grid顧名思義就是“網格”,它的子控件被放在一個一個實現定義好的小格子裏面,整齊配列。 Grid和其他各個Panel比較起來,功能最多也最為復雜。要使用Grid,首先要向Row

Java EE入門教程系列(一)——第一章Java EE的概述(1

題外話:這個系列是為了記錄學習Java EE的軌跡,也算是讀書筆記,是我先看完了一遍教程對相關概念有了一個大體印象以後準備再重頭細看一遍時同步寫的部落格。感想就是其實以前課堂上老師教的課都是很有作用的,如果你能很好地掌握設計模式、計算機網路的相關知識,那麼對你理解Java EE會有很大的幫助。可能是

【紮實基本功】Java基礎教程系列執行緒

1. 多執行緒的概念 1.1 程序、執行緒、多程序的概念 程序:正在進行中的程式(直譯)。 執行緒是程式執行的一條路徑, 一個程序中可以包含多條執行緒。 一個應用程式可以理解成就是一個程序。 多執行緒併發執行可以提高程式的效率, 可以同時完成多項工作。 1.

微信程式教程系列設定標題欄和導航欄

微信小程式標題欄和導航欄的設定方法,具體內容如下 設定標題欄 標題欄window 在app.json檔案裡面,通過window物件裡面的屬性進行設定     示例: app.json:     執行: 設定導航欄 導航欄TabBar

Zookeeper從入門到精通系列--1.Zookeeper的API操作

  一 IDEA環境搭建 1.1 建立一個maven專案 在pom.xml新增如下依賴 <dependencies> <dependency> <groupId>junit</gr

Hadoop從入門到精通系列--1.環境搭建

目錄   一 Hadoop簡介 二 Hadoop執行環境搭建前準備 2.1虛擬機器準備 2.2網路配置 2.3修改Linux主機名稱 三 Hadoop執行環境搭建 3.1 克隆虛擬機器 3.2修改靜態ip 3.3修改主機名稱(見上) 3.4關