freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于java語言推箱子游戲的設(shè)計與實現(xiàn)-資料下載頁

2024-11-07 23:16本頁面

【導(dǎo)讀】社會在進步,人們生活質(zhì)量也在日益提高。高強度的壓力也接踵而來。出現(xiàn)新的有效方式來緩解人們的壓力。此次設(shè)計符合了社會需求,java推箱子游戲可以。讓人們在閑暇之余,體驗游戲的樂趣。具有操作簡單,易于上手的特點。推箱子游戲的玩法十分簡單——控制人物繞過障礙物,到達目的地。將游戲地圖做成通用的關(guān)卡設(shè)計,關(guān)卡用文本實現(xiàn)在文本文件里設(shè)置好關(guān)卡,法,實現(xiàn)了游戲圖片初始化狀態(tài),有效的解決了圖片排布問題,方案簡單易行。用堆棧的存儲特點實現(xiàn)悔棋功能。達某一個格子一個是計算箱子是否能到達相鄰的某一個格子。舒緩的音樂配合有趣的。步驟,相信能引起很多人的興趣。作為一個具有悠久歷史的游戲,也能夠引起人的懷念

  

【正文】 始化。屏幕初始化用于輸出歡迎信息和操 ( 2)畫圖模塊。 該模塊主要是被其它模塊調(diào)用,用于畫墻、在空地畫箱子、在目的地畫箱子、畫小人和畫目的地。 ( 3)移動箱子模塊。 該模塊用于移動箱子,包括目的地之間、空地之間和目的地與空地之間的箱子移動。 系統(tǒng)功能模塊 初始化模塊 繪圖模塊 移動小人模塊 移動箱子模塊 功能控制模塊 北京郵電大學(xué)畢業(yè)設(shè)計 16 ( 4)移動小人模塊 該模塊用于控制小人移 動,從而推動箱子到目的地。 ( 5)功能控制模塊。 該模塊是幾個功能函數(shù)的集合,包括屏幕輸出功能、指定位置狀態(tài)判斷功能和關(guān)卡重置功能。 函數(shù)模型 () 函數(shù)原型: void putoutChar(int y,int x,char ch,char fc,char bc) putoutChar()函數(shù)在屏幕上的指定位置輸出指定的字符。其中, x、 y 指明輸出的位置, ch 表示輸出的字符, fc 表示輸出的字符顏色, bc 表示背景色。 () 函數(shù)原型: void printWall(int x,int y) printWall()函數(shù)用于畫墻壁,傳入?yún)?shù) x、 y 指明位置。該函數(shù)調(diào)用 putoutChar()進行輸出,以黑色為背景畫綠色墻,用小方塊表示墻( ASCII 值為 219)。 () 函數(shù)原型: void printBox(int x,int y) printBox()函數(shù)用于在非目的地畫箱子,傳入?yún)?shù) x、 y 指明位置。該函數(shù)調(diào)用 putoutChar()進行輸出,以黑色為背景白色箱子,用 ASCII 值為 10 的字符表示箱子。 () 函數(shù)原型: void printBoxDes(int x,int y) printBoxDes()函數(shù)用于在目的地畫箱子,傳入?yún)?shù) x、 y 指明位置。該函數(shù)調(diào)用 putoutChar()進行輸出,以黑色為背景畫黃色箱子,仍用 ASCII 值為 10 的字符表示箱子。 () 函數(shù)原型: void printDestination(int x,int y) printDestination()函數(shù)用于畫目的地,傳入?yún)?shù) x、 y 指明位置。該函數(shù)調(diào) 用 putoutChar()進行輸出,以黑色為背景畫黃色目的地,用心型表示( ASCII 值為 003)。 () 函數(shù)原型 : void printDestination1(int x,int y,winer **win,winer **pw) printDestination1()函數(shù)與 printDestination()函數(shù)功能基本相同,都是畫目的地函數(shù),但是 printDestination1()增加了記錄每一個目的地位置的功能。其中 x、 y 指明目的地的位置,每一 關(guān)的所有目的地位置存放在結(jié)構(gòu)體 struct winer 中,形成一條鏈表,**winer 返回鏈表的頭, **pw 則指向鏈表的尾部。 7. printMan() 函數(shù)原型 : void printMan(int x,int y) printMan()函數(shù)用于畫小人。 X、 y 指明畫的位置。該函數(shù)通過軟中斷來實現(xiàn),首先設(shè)置寄存器 AX 的高位和低位,設(shè)置高位 0xa表示在光標(biāo)位置顯示字符;設(shè)置低位 02(ASCII 值 ),表示輸出的字符;然后設(shè)置寄存器CX 為 01,表示重復(fù)輸出的次數(shù),這里只輸出一次;最后產(chǎn)生類型為 0x10 的 中斷,表示顯示器輸出。 () 北京郵電大學(xué)畢業(yè)設(shè)計 17 函數(shù)原型 : void init() init()函數(shù)用于初始化屏幕。該函數(shù)首先用兩個 for 循環(huán)初始化屏幕 20*20 范圍內(nèi)的狀態(tài),初始化為 0,以后根據(jù)實際情況重新賦值;然后設(shè)置屏幕輸出狀態(tài),設(shè)置寄存器 AX 的高位為 0,低位為 3,表示以 80*25 的彩色方式顯示;最后移動光標(biāo)到指定的位置輸出操作提示信息以及版權(quán)信息。 函數(shù)原型: winer *initStep1()、 winer *initStep2()、 winer *initStep3()、 winer *initStep4() 這幾個函數(shù)分別初始化游戲的第一關(guān)到第四關(guān)。這些函數(shù)的功能和實現(xiàn)步驟相似。首先根據(jù)需要在指定的位置畫墻壁和畫箱子,在這里可以設(shè)置游戲的難度,初始化的墻壁越復(fù)雜,箱子越多,則游戲就越難。游戲的第一關(guān)至第四關(guān)難度依次增加。然后分別調(diào)用 printDestination1()和 printMan()函數(shù)畫目的地和小人。函數(shù)返回包含各個目的地位置的鏈表。 函數(shù)原型 : void moveBoxSpacetoSpace(int x,int y,char a)、 void moveBoxDestoSpace(int x,int y, char a)、 void moveBoxSpacetoDes(int x,int y,char a)、 void moveBoxDestoDes(int x,int y,char a) 這幾個函數(shù)實現(xiàn)的功能分別是人空地移動箱子到空地、從目的地移動箱子到空地、從空地移動箱子到目的地和中從目的地移動箱子到目的地。 X、 y 指明小人當(dāng)前所處的位置,字符 a 表示移動的方向,有“ u”、“ d”、“ l”和“ r” 4 個值,分別表示向上、下、左、右移動 。這幾個函數(shù)的實現(xiàn)原理大致相似。對于前面兩個函數(shù),首先判斷移動的方向,人小人所在的位置沿著移動的方向移動一步畫小人,移動兩步畫箱子(調(diào)用 printBox()函數(shù)),并設(shè)置狀態(tài)為“ b”;對于后面兩個參數(shù),首先判斷移動的方向,從小人所在的位置沿著移動方向移動一步畫小人,移動兩上在目的地畫箱子(調(diào)用 printBoxDes()函數(shù)),并設(shè)置狀態(tài)為“ i”,表明箱子在目的地上。 () 函數(shù)原型 : int judge(int x,int y) judge()根據(jù)結(jié)構(gòu)體 struct[x][y]中存的值來判斷該點的狀態(tài)。 () 函數(shù)原型 : void moid(int x,int y,char a) Move()函數(shù)根據(jù)按下的鍵來處理小人的移動。小人移動的方向有上(“ u”)、下(“ d”)、左(“ l”)、右 (“ r” )4個, 4 個方向的處理方式一樣。首先判斷移動的方向,然后根據(jù)小人的當(dāng)前位置、下一步位置以及下下一步位置所在的狀態(tài)進行處理。 ( 1) 若下一步所在位置的狀態(tài)為墻壁(“ w”),則直接退出,不作任何處理。 ( 2) 若下一步所在位置的狀態(tài)為目的地(“ i”)或者什么都沒有( “ 0”),則: ① 若當(dāng)前位置的狀態(tài)為目的地,則在當(dāng)前位置畫目的地(調(diào)用 printDestination()函 數(shù))、在下一步位置畫小人(調(diào)用 printMan()函數(shù))。 ② 若當(dāng)前位置的狀態(tài)為非目的地,則輸出空格清空當(dāng)前位置的小人,并在下一步位置畫 小人(調(diào)用 printMan()函數(shù))。 ( 3) 若下一步所在位置的狀態(tài)為箱子(“ b”),則: ① 如果下下一步位置的狀態(tài)為“ 0”,則把箱子從空地移動到空地(調(diào)用 moveBoxSpacetoSpace()函數(shù)),然后 北京郵電大學(xué)畢業(yè)設(shè)計 18 把光標(biāo)移動到下一步位置(如果 當(dāng)前位置的狀態(tài)為目的地,則應(yīng)先畫目的地(調(diào)用printDestinanion()函數(shù)))。 ② 如果下下一步位置的狀態(tài)為目的地,則把箱子從空地移動到目的地(調(diào)用 moveBoxSpacetoDes()函數(shù)),然后把光標(biāo)移動到下一步位置(如果當(dāng)前位置的狀態(tài) 為目的地,則應(yīng)先畫目的地(調(diào)用 printDestination()函數(shù)))。 ③ 其它情況則直接返回,不作任何處理。 ( 4) 若下一步所在位置的狀態(tài)為箱子在目的地(“ i”) ,則: ① 如果下下一步位置的狀態(tài)為“ 0”,則把箱子從目的地移動到空地(調(diào)用 moveBoxDestoSpace()函數(shù)),然后把光標(biāo)移動到下一步位置(如果當(dāng)前位置的狀態(tài)為目的地,則應(yīng)先畫目的地(調(diào)用printDestination()函數(shù)))。 ② 如果下下一步位置的狀態(tài)為目的地,則把箱子從目的地移動到目的地(調(diào)用 moveBoxDestoDes()函數(shù)),然后把光標(biāo)移動到下一步位置(如果當(dāng)前位置的狀態(tài)為目的地,則應(yīng)先畫目的地(調(diào)用 printDestination()函數(shù)))。 ③ 其它情況則直接返回,不作任何處理。 () 函數(shù)原型: void reset(int i) reset()函數(shù)的功能是重置當(dāng)前關(guān)。該函數(shù)首先判斷當(dāng)前關(guān)是第幾關(guān),然后調(diào)用 init()函數(shù)和初始化當(dāng)前關(guān)的函數(shù)進行重置。 主函數(shù)首先設(shè)置寄存器 AX 的高位和低位,顯示器軟中斷,進行顯示狀態(tài)的設(shè)置,初始化 屏幕,初始化第一關(guān),并顯示操作提示信息和版權(quán)信息。然后根據(jù)按下的鍵( bioskey(0)函數(shù)返回按下的鍵值)進行處理,處理過程由 move()函數(shù)進行(如果按下Esc 鍵,則退出程序)。對于每一關(guān),如果所有的表示目的地的狀態(tài)都由“ m”變成了“ i”,則表示通過該關(guān),可以 進入下一關(guān)。 北京郵電大學(xué)畢業(yè)設(shè)計 19 3 詳細設(shè)計 游戲總體結(jié)構(gòu)與代碼 推箱子的小游戲界面如圖 31 所示: 圖 31 小游戲界面 ( 1)界面框架與按鈕設(shè)計 本游戲界面簡單清 晰,操作界面優(yōu)美,有很強的帶入性,游戲操作模塊分為:“悔一步”,“重來”,“上一關(guān)”,“下一關(guān)”,“第 1 關(guān)”,“最終關(guān)”,“選關(guān)”“音樂關(guān)”并且各個按鈕的名稱與相關(guān)功能為: “悔一步”:返回上一移動狀態(tài)(可以連續(xù)返回多步); “重來”:重新開始當(dāng)前關(guān); “上一關(guān)”:返回到當(dāng)前關(guān)的上一關(guān); “下一關(guān)”:跳轉(zhuǎn)到當(dāng)前關(guān)的下一關(guān); “第 1 關(guān)”:游戲系統(tǒng)默認開始關(guān)為第一關(guān),此按鈕讓玩家可以方便從其它關(guān)卡直接跳轉(zhuǎn)到第一關(guān); 北京郵電大學(xué)畢業(yè)設(shè)計 20 “最終關(guān)”:可以跳轉(zhuǎn)到最后一關(guān),即游戲系統(tǒng)默認的最后一個關(guān)。 mainFrame() { super(推箱子 )。 setSize(720,720)。 setVisible(true)。 setResizable(false)。 setLocation(300,20)。 setDefaultCloseOperation()。 Container cont=getContentPane()。 (null)。 ()。 Menu choice=new Menu( 選項 )。 (renew)。(last)。(next)。(choose)。(back)。 ()。(exit)。 (this)。 (this)。 (this)。 (this)。 (this)。 (this)。 Menu setmuc=new Menu( 設(shè)置音樂 ) (nor)。(qin)。(po)。(guang)。(eye)。 (this)。 (this)。 (this)。 (this)。 (this)。 Menu help=new Menu( 幫助 )。 (about)。 (this)。 MenuBar bar=new MenuBar()。 (choice)。(setmuc)。(help)。 setMenuBar(bar)。 } 選關(guān)模塊 “選關(guān)”:選擇想要挑戰(zhàn)的關(guān)卡。 當(dāng)游戲玩家想要自主選擇關(guān)卡時,可以隨意輸入想要跳入的關(guān)卡,節(jié)約了時間,玩家同過選擇的關(guān)卡可以有效地挑戰(zhàn)自我,連接上次的游戲進度。 其中,這個部分的部分代碼為: void Tuixiangzi(int i) { Levelmap=new Readmap(i)。 Levelmaptmp=new Readmap(i)。 map=()。 manX=()。 北京郵電大學(xué)畢業(yè)設(shè)計 21 manY=()。 maptmp=()。 repaint()。 } int maxlevel(){return max。} public void paint(Graphics g) { for(int i=0。 i20。 i++) for(int j=0。 j20。 j++) { (myImage[map[j][i]],i*len,j*len,this)。 } (new Color(0,0,0))。 (new Font(楷體 _2312,30))。 (現(xiàn)在是第
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1