




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
4.1. 迷宮游戲介紹1. 在字符界面下隨機生成迷宮地圖。
其中:1表示障礙物,0表示通路,2表示獎勵,8表示當前位置。游戲默認迷宮四周由障礙物圍繞,入口點位于地圖的左上角點,出口點位于地圖右下角點。4.1. 迷宮游戲介紹2. 用戶在控制臺輸入“awsd”字符,分別代表方向鍵“←↑↓→”;輸入“x”字符,表示提前退出游戲。3. 在有限步數(shù)下,判斷游戲輸贏,輸出用戶得分。4. 鼓勵用戶以較短路徑、獲得較多獎勵來完成游戲。設定如下的積分原則:(1) 玩家遇到獎勵,積分增加獎勵分值;(2) 游戲結束時,積分增加游戲限定步長與當前游戲步長的差值。如限定步長為30,玩家本次到達終點用了20步,則積分增加10。4.2. 程序設計思路1. 隨機生成迷宮地圖游戲中需要隨機生成迷宮地圖,引入java.util.Random類,利用Random類提供的生成隨機數(shù)方法,隨機生成障礙物、通路或者獎勵等狀態(tài)。迷宮地圖采用二維數(shù)組進行表示與存儲。2. 判斷玩家闖關是否成功根據(jù)玩家的當前位置是否位于地圖的出口點來判斷玩家闖關是否成功。如果成功則根據(jù)游戲步數(shù)修改本次游戲積分。4.2. 程序設計思路3. 游戲主控模塊游戲的主控模塊是一個基于用戶輸入的循環(huán)控制模塊。循環(huán)控制的條件是判斷游戲是否結束。若游戲結束,則退出游戲主控模塊,輸出玩家的輸贏狀態(tài)及游戲積分;否則,主控模塊根據(jù)用戶輸入的方向鍵,不斷修改地圖狀態(tài)及更新玩家積分。4.3. 關鍵技術4.3.1. 什么是數(shù)組4.3.2. 數(shù)組的定義及初始化4.3.3. 數(shù)組使用4.3.4. 數(shù)組的遍歷4.3.5. 在方法中使用數(shù)組4.3.6. 多維數(shù)組4.3.7. Arrays類4.3.1. 什么是數(shù)組數(shù)組是Java語言中常見的一種數(shù)據(jù)結構,用于存儲相同類型的若干個變量。數(shù)組中存儲的變量又稱為數(shù)組元素,數(shù)組元素可以通過數(shù)組索引來訪問。數(shù)組中能夠保存的變量最大個數(shù),稱為數(shù)組的長度。Java語言中,數(shù)組的長度是固定的,在初始化時被確定下來。值得注意的是,數(shù)組也是一種數(shù)據(jù)類型,與Java基本數(shù)據(jù)類型不同的是,數(shù)組是一種引用類型。4.3.2. 數(shù)組的定義及初始化1. 定義定義一維數(shù)組有下列兩種格式:
注意:定義數(shù)組時,不能指定數(shù)組的長度。數(shù)組是一種引用數(shù)據(jù)類型,當定義一個數(shù)組時,實際上是定義了一個引用變量,但是該引用變量還沒有確切的內(nèi)存地址與之相對應,下一步需要對數(shù)組完成初始化,才能真正地使用數(shù)組。數(shù)據(jù)類型[]數(shù)組變量;數(shù)據(jù)類型數(shù)組變量[];
4.3.2. 數(shù)組的定義及初始化2. 初始化Java數(shù)組可以采用以下兩種方式,實現(xiàn)初始化。方式1
指定數(shù)組的長度,并且為每個數(shù)組元素指定初始值。初始化時的數(shù)據(jù)類型必須與定義的數(shù)據(jù)類型相同,或者是其子類類型。數(shù)組變量=new數(shù)據(jù)類型[數(shù)組長度];4.3.2. 數(shù)組的定義及初始化系統(tǒng)按照如表4-1所示原則,為數(shù)組元素分配初始值方式2:或者將數(shù)組的定義與初始化合并為:數(shù)據(jù)類型byte、short、int、longfloat、doublecharboolean類、接口等引用類型初始化值00.0‘\u0000’falsenull數(shù)組變量=new數(shù)據(jù)類型[]{值1,值2,值3,...};數(shù)據(jù)類型[]數(shù)組變量={值1,值2,值3,...};4.3.3. 數(shù)組使用1. 訪問數(shù)組元素:數(shù)組變量[元素的索引值],Java語言中數(shù)組元素的索引值從0開始。2. 數(shù)組的length屬性:獲取數(shù)組中數(shù)組元素的個數(shù)。4.3.3. 數(shù)組使用(e)修改數(shù)組元素的值(e)修改數(shù)組元素的值public
classDefArray{
publicstaticvoidmain(String[]args){
int[]arr1=new
int[3]; arr1[0]=11; arr1[1]=22; arr1[2]=33;
int[]arr2=new
int[5]; arr2=arr1; arr2[1]=44; System.out.println("arr2數(shù)組的長度為:"+arr2.length);//輸出3 }}(d)數(shù)組的引用賦值
(e)修改數(shù)組元素的值(a)數(shù)組arr1的定義與初始化
(b)對數(shù)組arr1元素賦值
(c)數(shù)組arr2的定義與初始化4.3.4. 數(shù)組的遍歷1. 方法1:利用循環(huán)結構通過數(shù)組索引值的迭代實現(xiàn)數(shù)組的遍歷。for(循環(huán)變量=0;循環(huán)變量<數(shù)組變量.length;循環(huán)變量++){
通過循環(huán)變量的迭代,遍歷數(shù)組元素:數(shù)組變量[循環(huán)變量]}4.3.4. 數(shù)組的遍歷2. 方法2:Java5之后,Java提供foreach循環(huán)語句,定義如下:注意:在foreach語句中,通常不要對循環(huán)變量進行賦值。for(數(shù)據(jù)類型變量:數(shù)組變量|集合){
變量迭代訪問每一個數(shù)組元素;}4.3.5. 在方法中使用數(shù)組java的方法是指一段完成特定功能的代碼塊,方法被封裝為一個過程體,可以被重復調(diào)用,類似于c語言中函數(shù)的定義。方法的定義格式如下方法的參數(shù)與返回值都可以定義為數(shù)組變量。修飾符返回值類型方法名(參數(shù)列表){
函數(shù)體; return返回值;}4.3.5. 在方法中使用數(shù)組1. 數(shù)組作為方法的參數(shù)與普通變量作為方法參數(shù)不同,數(shù)組作為方法參數(shù),傳遞的是數(shù)組的引用。所以,如果在方法中修改數(shù)組的元素值,則方法調(diào)用結束后,主調(diào)方法將得到修改之后的數(shù)組。2. 數(shù)組作為方法的返回值與數(shù)組作為方法參數(shù)相同,數(shù)組變量作為方法的返回值同樣也返回數(shù)組的引用。4.3.5. 在方法中使用數(shù)組public
classArrayMethod{
public
static
voidmain(String[]args){
int
a[]={1,2,3,4,5,6,7,8,9,10};
reverse(a);
for(int
i:a)
System.out.println(i);
int
b[]=copyArray(a,2,5);
for(int
i:b) System.out.println(i);
}
4.3.5. 在方法中使用數(shù)組
public
static
voidreverse(int[]arr){
for(int
i=0,j=arr.length-1;i<j;i++,j--){
int
temp;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp; } }
public
static
int[]copyArray(int[]arr,int
start,int
length){
int[]result=new
int[length];
for(int
i=start,j=0;j<length;i++,j++){
result[j]=arr[i]; }
return
result; }}4.3.5. 在方法中使用數(shù)組3. 可變長度參數(shù)列表:Java5之后,Java支持方法的可變長度參數(shù)列表。方法定義如下:在方法體中,對可變長度參數(shù)變量的使用,等同于數(shù)組的操作。例如下面定義的方法可以輸出所有的參數(shù)值。修飾符返回值類型方法名(數(shù)據(jù)類型...參數(shù)變量){ ...}
public
static
voidprintParams(int...args){
for(int
var:args){ System.out.println(var); }}4.3.5. 在方法中使用數(shù)組注意:如方法具有多個參數(shù),則可變長度參數(shù)必須是方法的最后一個參數(shù)。printParams();printParams(1);printParams(1,2);printParams(newint[]{1,2,3,4,5});4.3.6. 多維數(shù)組1. 二維數(shù)組定義:2. 二維數(shù)組初始化:方式1(等長二維數(shù)組):同時指定兩維的長度。方式2(不等長二維數(shù)組):先指定一維的長度,然后可以分別定義不同的二維長度。例如:int[][]arr=int[2][];arr[0]=newint[3];arr[1]=newint[4]數(shù)據(jù)類型[][]數(shù)組變量;數(shù)組變量=new數(shù)據(jù)類型[數(shù)組長度1][數(shù)組長度2];4.3.7. Arrays類1. voidsort(數(shù)據(jù)類型[]數(shù)組變量)對數(shù)組元素根據(jù)其自然順序的升序進行排序。2. intBinarySearch(數(shù)據(jù)類型數(shù)組變量,數(shù)據(jù)類型關鍵字)使用二分法在數(shù)組中查找指定關鍵字,如果查找成功,則返回關鍵字所在的索引,否則返回負數(shù)。注意:調(diào)用該方法之前要保證,數(shù)組按升序排列。4.3.7. Arrays類3. 數(shù)據(jù)類型[]copyOf(數(shù)據(jù)類型[]原數(shù)組,int長度)拷貝原數(shù)組返回新數(shù)組。其中,參數(shù)長度是新數(shù)組的長度。如果參數(shù)長度大于原數(shù)組的長度,則拷貝原數(shù)組所有元素,后面元素以0(數(shù)組類型為數(shù)值型)或者false(布爾類型)或者null(引用類型)進行填充;如果參數(shù)長度小于原數(shù)組的長度,則截取原數(shù)組前面的部分元素。4.3.7. Arrays類4. booleanequals(數(shù)據(jù)類型數(shù)組變量1,數(shù)據(jù)類型數(shù)組變量2)判別兩個數(shù)組是否相等。只有當兩個數(shù)組包含相同數(shù)量的元素,并且所有對應位置的數(shù)組元素也相等,才判定兩個數(shù)組相等,方法返回true,否則,返回false。5. voidfill(數(shù)據(jù)類型[]數(shù)組變量,數(shù)據(jù)類型變量)用參數(shù)變量的值來填充整個數(shù)組。4.4. 迷宮游戲設計步驟1. 定義符號常量2. 隨機生成地圖游戲默認迷宮四周由障礙物圍繞,入口點位于地圖的左上角點,出口點位于地圖右下角點。利用Java隨機數(shù)類java.util.Random提供的nextInt(intbound)方法,實現(xiàn)區(qū)間[0,bound)內(nèi)偽隨機數(shù)的生成。3. 繪制地圖遍歷并打印二維迷宮數(shù)組。4.4. 迷宮游戲設計步驟4. 獲取用戶輸入根據(jù)游戲要求,單字符輸入可以使用Sys
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度黑龍江省高校教師資格證之高等教育法規(guī)通關考試題庫帶答案解析
- 2024年CPSM考試沖刺策略試題及答案
- 2024年CPMM復習經(jīng)典試題及答案
- 機械加工類答案
- (高清版)DB12∕T 693-2016 天津市文書類電子文件數(shù)據(jù)存儲結構規(guī)范
- (高清版)DB12∕T 592-2015 規(guī)?;膛黾S污處理技術規(guī)范
- 2025年非公開發(fā)行股票保薦協(xié)議
- 離婚協(xié)議感情糾紛(2025年版)
- 四個自信的深刻理解試題及答案
- 2025年聚醚砜PES合作協(xié)議書
- 浙教版九年級數(shù)學同步訓練:二次函數(shù)與幾何結合壓軸題(Ⅱ)(原卷版)
- 湖南省2025屆高三九校聯(lián)盟第二次聯(lián)考語文試卷(含答案解析)
- 山東省煙草專賣局招聘真題2024
- (2025)全國交管12123學法減分測試題庫及答案(帶圖版)
- 2024年海南省中考滿分作文《點亮勤奮這盞燈》
- 2024-2025學年第二學期天域全國名校協(xié)作體高三3月聯(lián)考 生物試卷(含答案)
- DeepSeek培訓課件-清華大學-DeepSeek+DeepResearch應用報告
- 2025年河南職業(yè)技術學院單招職業(yè)技能測試題庫新版
- 2025年常州機電職業(yè)技術學院單招職業(yè)適應性測試題庫及完整答案
- 能源領域中的電力安全管理與規(guī)范
- 公園物業(yè)服務投標方案(2023修訂版)(技術方案)
評論
0/150
提交評論