2048java课程设计报告_2048小游戏-Java-课程设计报告书
《2048小游戲-Java-課程設計報告書》由會員分享,可在線閱讀,更多相關《2048小游戲-Java-課程設計報告書(31頁珍藏版)》請在金鋤頭文庫上搜索。
1、JAVA 語言程序設計課程設計報告2048 智力小游戲設計專業班級: 計算機科學與技術嵌入 13-1 學生姓名: 卓海有 學生學號: 13031010166 小組成員: 單建飛 堵文斐 李棟承 梅孔偉指導教師姓名: 宋 強 目錄1.前言 .12.游戲需求分析 .12.1 需求分析 .12.2 可行性分析 .23.概要設計 .34.詳細設計 .44.1流程圖 .44.2界面的整體布局 .44.3方法模塊分析 .55.測試 .86.總結 .106.參考文獻 .107.部分源代碼: .101一、前言最近以來,移動手游越來越成為當下游戲產業中重要的一環,市場也在加大對這一產業的投入,涌現出了憤怒的小鳥。
2、,水果忍者,flappy bird,2048等諸多優秀的手游,然而任何一款手游能夠風靡,主要還是依靠其簡單的操作性,因此本次 java 課設我選擇其中的典型 2048PC 版作為本次課設的課題。2048 游戲規則很簡單,玩家每次可以選擇上下左右其中一個方向去移動,每移動一次,所有的數字方塊都會往移動的方向靠攏外,系統也會在空白的地方隨機出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是 2 就是 4,玩家要想辦法在這小小的 16 格范圍中湊出“2048”這個數字方塊。二、游戲需求分析2.1 需求分析現代社會對休閑小游戲的需求是:提高游戲的操作可行性,降低游戲的操作難度。
3、,降低游戲的上手難度,降低游戲的競爭需求,對使用設備的要求趨于簡單化和多樣化,游戲界面更加人性化,功能更加貼合使用。(1)界面一款的好的游戲其界面必須友好,簡潔已經成為當今 UI 設計的主流,簡單易上手才能得到玩家的青睞。(2)功能需求能夠顯示游戲的當前得得分,并記錄游戲的最高分并顯示,當在次打開游戲時,能夠顯示最高分;在游戲進行的過程中循環播放音樂,并能夠關閉音樂或者打開音樂;游戲的主界面上,相同的數字要顯示相同的顏色。游戲結束要有相應的提示。游戲的主要目的是通過上下左右移動來將相鄰相同的數字相加,通過不斷地累加最終加到 2048。(3)操作性需求游戲的體驗是衡量一款游戲的關鍵,本游戲可通過。
4、鍵盤 w,s,a,d 以及方向鍵來控制方塊的移動,還可以通過在游戲的主面板中向上下左右拖動鼠2標來控制方塊的移動,左右手都可以操作,充分考慮便捷性。 不同的人有不一樣習慣,通過多種方式來操作游戲,可以各種習慣的人的需求。2.2 可行性分析(1)面向對象的程序設計方法Java 面向對象程序設計的基本思想是通過構造和組織對象來求解問題的。對象是很好理解的,任何一種物體都可以被認為是對象,例如,汽車就是一種對象。對象具有兩個最基本的屬性:具有一定的物質基礎和一定的功能,這兩種基本屬性在 Java 語言中表現為擁有一定的存儲單元并具備一定的功能。理解了 Java 的這種面向對象程序設計的基本思想之后,。
5、在以后的編程過程中,就應當個構造人們容易理解的更接近于真實物理世界物體的對象。Java 面向對象程序設計的過程非常簡單。這里介紹一種自頂向下的程序設計方法,首先構造一個類來處理需要解決的問題,然后根據已經擁有的類(例如以前求解其它問題時實現的類) ,分析和構造新的類,設法將問題分解下去,而最開始構造的類通過組織這些新構造的類、已有的類及由他們生成的實例來求解指定的問題。這個過程可以繼續遞歸下去,用在新構造的類上,直到最后解決了指定的問題,例如 Java 的應用程序和小應用程序都必須有一個類作為入口求解問題。在計算機語言中,面向對象的類一般具有三個基本特性:封裝性、繼承性和多態性,這三種特性進一。
6、步簡化了 Java 求解模型,提高了程序的復用性,節省了程序的代碼量,從而提高了軟件的生產率。(2)java 技術分析圖形用戶界面不僅可以提供各種數據的基本圖形的直觀表示形式,而且可以建立友好的交互方式,從而使計算機軟件可以設計得十分簡單易用。從 Java 語言誕生到現在, Java 語言已經提供了兩代圖形用戶界面。第一代圖形用戶界面 AWT 提供了基本的圖形用戶界面,它強烈地依賴于具體的計算機操作系統,而且缺少基本的剪貼板和打印支持功能。現在第二代圖形用戶界面 Swing 對 AWT 進行了擴展,Swing 不僅在功能上比 AWT 強大,3而且在很大程度上克服了 AWT 的上述缺點,它所設計。
7、的圖形用戶界面與具體的計算機操作相關性很小,而且可以定制指定的操作系統風格的圖形用戶界面。GUI(圖形用戶界面)組件構成了圖形用戶界面的基礎。在 Java 程序設計中,要求按照一定的布局方式將組件安排在容器中,然后通過事件處理的方式實現人機交互,而容器本身也是組件,這樣在容器中也可以含有容器,從而可以通過這種嵌套方式方便地組合各種組件。事件處理模型是 Java 語言提供的一種人機交互模型,它使得用戶能夠通過鼠標、鍵盤或其他輸入設備來控制程序的執行流程,從而達到人機交互的目的。對鼠標、鍵盤或其他輸入設備的各種操作一般也稱為事件。Java語言對這些事件的處理模型是采用面向對象的方法,即通過對象的形。
8、式把各種事件進行封裝和處理。這種事件處理模型的三個基本要素是事件源、事件對象以及事件監聽器。事件源是各種組件,是接受各種事件的對象。在各種事件源上運用鼠標、鍵盤或其他輸入設備進行各種操作,就會有事件發生。每種操作一般都對應著事件,Java 語言通過事件對象來包裝這些事件。對事件進行處理是通過事件監聽器實現的。因為鼠標事件也是一種事件,所以對鼠標事件進行處理要遵循事件處理模型。鼠標事件的處理也是建立在事件源的基礎之上,以事件對象本身,最后通過事件監聽器進行處理。類 java.awt.event.MouseEvent 包裝常用的鼠標事件,例如,按下鼠標鍵和放開鼠標鍵等。類 MouseEvent 的。
9、實例對象記錄了鼠標的當前位置和狀態發生變化的鼠標鍵等。對鼠標事件進行處理最關鍵的是實現事件監聽器接口。這些相關接口包括MouseListener,MouseMotionListener,MouseWheelListener,MouseInputListener。前面三個是包 java.awt.event 中的接口,最后一個接口MouseInputlistener 來自包 javax.swing.event。接口 Java.awt.event.MouseListener 主要用來處理按下鼠標鍵、放開鼠標鍵、單擊鼠標鍵、鼠標進入組件內和鼠標離開組件區域等事件。對鼠標事件進行處理,就是要設計類,實現。
10、上面的鼠標事件監聽器接口,然后在事件源中注冊處理鼠標事件監聽器的對象,以便對鼠標事件進行處4理。3、 概要設計 4、詳細設計(1) 流程圖5(2) 界面的整體布局分別構建 mainPane,scoresPane 兩大模塊放入游戲窗體,其中scoresPane 包含 2048 字樣的提示,當前得分和最高分,當得分超過最高分時,將得分存入工程文件夾下的 myRecording.txt,覆蓋最高分,同時在最高分顯示最新 myRecording.txt 的內容。通過 Create 方法隨機產生 2 號方塊或者 4 號方塊,通過 setColor 方法設置每個數字代表的方塊顏色。(3) 方法模塊分析方法。
11、 1:設置標簽顏色,每次隨機產生 2 或 4 和數字合并之后就要調用該方法來設置標簽的顏色public void setColor(int i, int j, String str) if (.equals(str) textsij.setBackground(new Color(120,221,247);return;int result = Integer.parseInt(str);switch (result) case 2: textsij.setBackground(new Color(240,240,0); break;case 4: textsij.setBackground(。
12、Color.pink); break;case 8: textsij.setBackground(new Color(240,150,10); break;case 16: textsij.setBackground(Color.green); break;case 32: textsij.setBackground(Color.magenta); break;case 64: textsij.setBackground(new Color(155,10,190);break;case 128: textsij.setBackground(Color.blue); break;case 256。
13、: textsij.setBackground(Color.gray); break;case 512: textsij.setBackground(Color.cyan); break;case 1024: textsij.setBackground(Color.DARK_GRAY); break;case 2048: textsij.setBackground(Color.red); break;case 4096: textsij.setBackground(Color.white); break;default: break;方法 2:在隨機位置產生一個 2 號或 4 號方塊的方法,同。
14、時該方法也用于判斷游戲是否結束。public void Create() int i, j;/用于記錄產生的二維方陣的下標值boolean r = true;String str;if (times 0 & biaoji = 1) 6while (r) i = random.nextInt(4);j = random.nextInt(4);str = textsij.getText();if (str.compareTo() = 0) int ima = 2 * (int) (1 + Math.random() * 2);/ 隨機產生2或 4String imass = String.valueOf(ima);textsij.s。
總結
以上是生活随笔為你收集整理的2048java课程设计报告_2048小游戏-Java-课程设计报告书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 没有bug队——加贝——Python 5
- 下一篇: android存到手机内存,androi