




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
濰坊學院學生課程設計(論文)題 目: 猜數(shù)字游戲 學生姓名: 劉 肥 學 號: 200810801037 所在院(系): 計 算 機 專 業(yè): 計算機科學與技術 班 級: 2011網(wǎng)絡工程 指 導 教 師: 吳建兵 職稱: 年 月 日攀枝花學院教務處制題目猜數(shù)字游戲1、課程設計的目的通過本課程設計使學生能夠較全面的掌握面向對象程序設計的有關概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運用所學的知識,提高自身的編程能力。2、課程設計的內容和要求(包括原始數(shù)據(jù)、技術要求、工作要求等)編寫一個猜數(shù)字游戲,要求:計算機產生隨機數(shù),猜中即勝,猜不中,提示是大了還是小了,繼續(xù)猜,直至猜到,給出所用時間和評語。3、主要參考文獻1朱福喜.Java語言程序設計(第二版).科學出版社2陳國君等.Java程序設計基礎(第二版).清華大學出版社3 Deitel.Java大學基礎教程(第六版).電子工業(yè)出版社 4 MaryCampione.Java語言導學(第四版).機械工業(yè)出版社5 Y.Daniel Liang.Java語言程序設計基礎篇(第六版). 機械工業(yè)出版社6 Kathy Sierra.Head First Java(第二版).東南大學出版社4、課程設計工作進度計劃序號時間(天)內容安排備注11分析設計準備周一22編程調試階段周二至周三31編寫課程設計報告周四41考核周五總計5(天)指導教師(簽字)日期年 月 日教研室意見:年 月 日學生(簽字): 接受任務時間: 年 月 日題目名稱猜數(shù)字游戲評分項目分值得分評價內涵工作表現(xiàn)20%01學習態(tài)度6遵守各項紀律,工作刻苦努力,具有良好的科學工作態(tài)度。02科學實踐、調研7通過實驗、試驗、查閱文獻、深入生產實踐等渠道獲取與課程設計有關的材料。03課題工作量7按期圓滿完成規(guī)定的任務,工作量飽滿。能力水平35%04綜合運用知識的能力10能運用所學知識和技能去發(fā)現(xiàn)與解決實際問題,能正確處理實驗數(shù)據(jù),能對課題進行理論分析,得出有價值的結論。05應用文獻的能力5能獨立查閱相關文獻和從事其他調研;能提出并較好地論述課題的實施方案;有收集、加工各種信息及獲取新知識的能力。06設計(實驗)能力,方案的設計能力5能正確設計實驗方案,獨立進行裝置安裝、調試、操作等實驗工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計算及計算機應用能力5具有較強的數(shù)據(jù)運算與處理能力;能運用計算機進行資料搜集、加工、處理和輔助設計等。08對計算或實驗結果的分析能力(綜合分析能力、技術經(jīng)濟分析能力)10具有較強的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質量45%09插圖(或圖紙)質量、篇幅、設計(論文)規(guī)范化程度5符合本專業(yè)相關規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設計說明書(論文)質量30綜述簡練完整,有見解;立論正確,論述充分,結論嚴謹合理;實驗正確,分析處理科學。11創(chuàng)新10對前人工作有改進或突破,或有獨特見解。成績指導教師評語指導教師簽名: 年月日 攀枝花學院JAVA設計論文 摘 要21.需求分析31.1 用戶需求分析32.2 開發(fā)環(huán)境分析32.問題描述42.1課程設計的任務:42.2.課程設計的要求:43 模塊設計53.1 系統(tǒng)總體設計53.2 功能模塊設計54 功能設計64.1.隨機數(shù)的產生模塊64.2.輸入判斷模塊64.3.記錄猜測次數(shù)模塊64.4.計時模塊64.5.輸入輸出模塊64.6.成績判斷模塊75.程序流程圖96.異常處理107.調試分析11總結12參考文獻13程序附頁14摘 要猜數(shù)字是一款非常經(jīng)典的腦力游戲,游戲規(guī)則簡單,但是玩起來難度較大,是消磨時間、鍛煉腦力的好選擇。通過選擇猜數(shù)字游戲這個題目,可以讓我掌握Java中的包和類,并且可以靈活的使用my eclipse軟件。同時更加深入的了解字符界面的編程過程。使我更熟練的掌握Java程序框架的搭建和類的創(chuàng)建格式。在分析階段,要進行面向對象的需求分析、系統(tǒng)設計、畫出相應的需求分析圖、系統(tǒng)設計模型圖,這些工作更能鍛煉我的邏輯思維,更能培養(yǎng)我思考的全面性。讓我學會了多角度思考問題,對我以后的編程奠定了更好的基礎。 關鍵詞 猜數(shù)字游戲,JAVA編程,課程設計1.需求分析1.1 用戶需求分析設計一個猜數(shù)字游戲程序,要求具體如下特性:a.輸入任意一個數(shù)字。數(shù)字的要求是1100的自然數(shù)即可。b.系統(tǒng)對您輸入的數(shù)字進行判斷。如果玩家輸入的數(shù)字與計算機隨機生成數(shù)相比較,輸入的數(shù)字比隨機生成數(shù)小.系統(tǒng)將提示您,數(shù)字太小請您重新輸入。如果玩家輸入的數(shù)字與計算機隨機生成數(shù)相比較,如果輸入的數(shù)字比隨機生成數(shù)大。系統(tǒng)將提示您,數(shù)字太大請您重新輸入。如果玩家輸入的字符不是合法字符,系統(tǒng)將提示您,您輸入的數(shù)字不合法,請從新輸入。c. 游戲開始時,系統(tǒng)自動記錄您猜數(shù)字的時間,結束后顯示游戲共花費的時間。d. 每猜測一次,系統(tǒng)會記錄下來,游戲結束后,顯示共猜測多少次。e. 在游戲結束時,可以選擇關閉游戲,或者再來一局。2.2 開發(fā)環(huán)境分析硬件要求能運行Windows 9.X操作系統(tǒng)的微機系統(tǒng)。JAVA程序設計語言及相應的集成開發(fā)環(huán)境,J2SDK和eclipse開發(fā)工具。J2SDK簡介:j2sdk是就阿Java的開發(fā)環(huán)境包。它包含JDK(開發(fā)工具包)和JRE(運行時環(huán)境包) 。eclipse簡介:Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。2.問題描述2.1課程設計的任務:根據(jù)所選題目,完成課程設計的分析、設計和編碼,寫出課程設計報告。(1)掌握Java的語言規(guī)范,面向對象的核心概念和特性;(2)掌握Java的編程技術,包括異常處理,圖形界面設計,多線程,網(wǎng)絡通信程序等;(3)掌握Java應用軟件的開發(fā)環(huán)境和開發(fā)過程;(4)掌握面向對象的思想和程序設計方法。2.2.課程設計的要求:設計一個猜數(shù)字游戲程序,該游戲可以由程序隨機產生整數(shù),玩游戲者通過由用戶輸入數(shù)字來匹配上面所產生的數(shù)字。用戶隨機輸入數(shù)字,當與計算機產生的隨機數(shù)相符合時,計算機將提醒用戶,游戲成功的信息,當有偏差時,將會提醒偏差,如偏大或者是偏小。3 模塊設計3.1 系統(tǒng)總體設計猜數(shù)字游戲游戲隨機給出一個1100 (包括1和100) 之間的數(shù)字,然后讓你猜是什么數(shù)字。你可以隨便猜一個數(shù)字,游戲會提示太大還是太小,從而縮小結果范圍。經(jīng)過幾次猜測與提示后,最終推出答案。游戲開始后,由計算機產生一個1-100的隨機數(shù),不顯示在圖形界面,但顯示在字符界面。用戶只需輸入所猜想的數(shù)字,打印在輸入框內,按“確定”按鈕表示確定,游戲返回提示語句,按照提示語句操作,直至游戲結束。同時,計算機開始對游戲進行計時和計數(shù)功能。3.2 功能模塊設計4 功能設計4.1.隨機數(shù)的產生模塊我們可以借助Java API提供的Random類來產生一個隨機數(shù)。首先在main函數(shù)中加入以下代碼:Random random = new Random(); number = random.nextInt(100); / 產生一個1-100間的隨機數(shù)4.2輸入判斷模塊JOptionPane.showMessageDialog(null, 數(shù)字不合法,請輸入一個1-100之間的整數(shù)!); / 顯示一個對話框jTextField1.setText();/ 清空文本框內容jTextField1.requestFocus();/ 文本框獲取輸入焦點4.3.記錄猜測次數(shù)模塊/ 記錄玩家猜測的次數(shù)counter = 0;/ 計數(shù)器增加一counter;4.4.計時模塊計時模塊的代碼分別寫在游戲的開始和游戲的結束,取得時間差,以毫秒為單位。long startTime = System.currentTimeMillis();long endTime = System.currentTimeMillis();4.5.輸入輸出模塊/ 對玩家的輸入進行判斷。if (guess number) JOptionPane.showMessageDialog(null, 猜大了哦!);jTextField1.setText();jTextField1.requestFocus();return;if (guess y猜大啦猜小了哦YN產生隨機數(shù)mx=y系統(tǒng)結束計時系統(tǒng)統(tǒng)計猜數(shù)次數(shù)結 束開 始6.異常處理我們在運行程序時往往會出現(xiàn)許多錯誤,而Java語言提供了異常(Exception)處理機制幫助程序員發(fā)現(xiàn)并處理異常。所謂異常,就是在程序執(zhí)行過程中能干擾程序正常流程的事件。導致異常的原因很多,比如文件找不到、數(shù)組越界、除以零等。當異常出現(xiàn)時,一個異常對象將被自動生成并傳遞給Java“運行時環(huán)境”,如果“運行時環(huán)境”找不到異常句柄,Java程序便會自行中斷。try statement(s); catch (exceptiontype1 name) statement(s); catch (exceptiontype2 name) statement(s); finally statement(s);try語句括起來的語句可能拋出異常。try語句至少要搭配一個catch語句或finally語句,不能單獨使用,我設計的猜數(shù)字游戲需要從控制臺獲取玩家輸入的數(shù)字,有多個異常處理try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); getContentPane().setLayout(null); catch (Exception e) e.printStackTrace();try / 獲取玩家的輸入guess = Integer.parseInt(jTextField1.getText(); catch (Exception e)7.調試分析總結經(jīng)過這幾天努力終于完成了這份課設,雖然在操作的過程中我都遇到了許多的困難,但是卻使我得到了許多的意外收獲。Java是一種簡單的,面向對象的,分布式的,解釋型的,健壯安全的,結構中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。在寫代碼的過程中我們也遇到了一些的困難,就是對一些有關Java語言的不理解,我便又到課本中去查找。一個項目的成敗關鍵不全在于技術。要想在一個愉快的氛圍里邊以輕松的心情來完成緊張的工作,嚴謹?shù)膽B(tài)度和工作的熱情都是必不可少的。以前上課時有許多的問題并沒有真正的認識到,但通過這次試驗的制作,使我掌握了許多更重要的知識點。參考文獻1 黃明等,梁旭,周紹斌.Java課程設計 電子工業(yè)出版社 20062 楊昭.二級Java語言程序設計教程 中國水利水電出版社 20063 趙文靖.Java程序設計基礎與上機指導 清華大學出版社 20064 張廣彬,孟紅蕊,張永寶.Java課程設計案例精編清華大學出版社 20075 黃曉東.Java課程設計案例精編(第一版) 中國水利水電出版社 20046 美Cay S.Horstmann程峰等譯.JAVA2核心技術機械工業(yè)出版社 2003 7 趙毅主.跨平臺程序設計語言Java 西安電子科技大學出版社20068王路群.Java高級程序設計 中國水利水電出版社 20069 夏寬理.Java語言程序設計 機械工業(yè)出版社. 2008.10 丁新民.Java程序設計教程 人民郵電出版社. 2006.14程序附頁程序附頁package liupeng;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.util.Random;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JFrame; import javax.swing.JOptionPane;import javax.swing.JTextField;import javax.swing.WindowConstants;import java.awt.FlowLayout; public class GuessNum extends javax.swing.JFrame private JLabel jLabel1;private JTextField jTextField1;private JButton jButton1;private int number = 0;private int counter = 0;long startTime = System.currentTimeMillis();long endTime;/* *新建一個隨機數(shù)產生器,然后生成一個1到100之間的整數(shù) */public GuessNum() super (劉菲);initChuankou();Random random = new Random();number = random.nextInt(100); / 產生一個1-100間的隨機數(shù)/* *初始化窗口組件 */private void initChuankou() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);/ 窗口關閉時銷毀窗口getContentPane().setLayout(null);/ 設置窗口布局為絕對布局 JFrame frame = new JFrame(Test Buttons); frame.setLayout(new FlowLayout(); jLabel1 = new JLabel();getContentPane().add(jLabel1);jLabel1.setText(歡迎進入有趣的猜數(shù)字游戲!請輸入1100中的任意一個數(shù):);jLabel1.setBounds(2, 0, 200, 50);/ 設置標簽位置jTextField1 = new JTextField();getContentPane().add(jTextField1);jTextField1.setBounds(50, 60, 112, 28);jTextField1.addKeyListener(new KeyAdapter() / 文本框添加鍵盤按鍵監(jiān)聽-監(jiān)聽回車鍵public void keyPressed(KeyEvent evt) jTextField1KeyPressed(evt););jButton1 = new JButton();getContentPane().add(jButton1);jButton1.setText(確定);jButton1.setBounds(70, 110, 60, 28);jButton1.addActionListener(new ActionListener() / 按鈕添加監(jiān)聽public void actionPerformed(ActionEvent evt) jButton1ActionPerformed(evt);/ 按鈕被點擊時 執(zhí)行該方法);pack();this.setSize(220, 200); / 設置窗口大小setLocationRelativeTo(null); / 設置窗口在顯示器居中顯示 catch (Exception e) e.printStackTrace();setVisible(true);private void jButton1ActionPerformed(ActionEvent evt) int guess = 0; / 記錄玩家所猜測的數(shù)字counter+; / 計數(shù)器增加一。try / 獲取玩家的輸入guess = Integer.parseInt(jTextField1.getText(); catch (Exception e) / 如果玩家不是輸入一個合法的整數(shù),則讓他重新輸入。JOptionPane.showMessageDialog(null, 數(shù)字不合法,請輸入一個1-100之間的整數(shù)!); / 顯示一個對話框jTextField1.setText();/ 清空文本框內容jTextField1.requestFocus();/ 文本框獲取輸入焦點return;/ 對玩家的輸入進行判斷。if (guess number) JOptionPane.showMessageDialog(null, 猜大了哦!);jTextField1.setText();jTextField1.requestFocus();return;if (guess number) JOpt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高端汽車維修中心場地租賃及維修技術引進合同
- 不動產抵押擔保房地產開發(fā)合同
- 餐飲店面租賃及品牌升級改造合同
- 車輛安全責任事故調查與處理協(xié)議
- 產業(yè)園區(qū)廠房物業(yè)安全防范與應急處理合同
- 餐飲品牌區(qū)域代理權授權合同范本
- 生態(tài)旅游度假區(qū)租賃承租合同
- 城市綜合體餐飲業(yè)態(tài)承包協(xié)議書模板
- 餐飲店店長職位競聘與職業(yè)規(guī)劃合同
- 體育健身園區(qū)場地合作開發(fā)與經(jīng)營協(xié)議書
- 普外科學科核心知識體系
- 2025年福建省中考道德與法治試卷真題(含標準答案)
- 工程中機電設備安裝與調試技術
- 2025年萬家寨水務控股集團及所屬企業(yè)招聘筆試參考題庫含答案解析
- 懸挑式鋼管腳手架專項施工方案
- 2025年湖北襄陽市檢察機關-襄陽市城郊地區(qū)檢察院招聘67人歷年真題
- 2025春季學期國開電大本科《管理英語4》一平臺機考真題及答案(第三套)
- 數(shù)學 2024-2025學年人教版(2024)七年級數(shù)學下冊期末考試測試卷
- 企業(yè)市場營銷策略顧問服務合同范本
- 2024-2025學年人教版 2024小學數(shù)學一年級下冊教學工作總結(共3套)
- 學生高層宿舍管理制度
評論
0/150
提交評論