JAVA猜數(shù)字游戲論文_第1頁
JAVA猜數(shù)字游戲論文_第2頁
JAVA猜數(shù)字游戲論文_第3頁
JAVA猜數(shù)字游戲論文_第4頁
JAVA猜數(shù)字游戲論文_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、攀枝花學(xué)院學(xué)生課程設(shè)計(jì)(論文)題目猜數(shù)字游戲?qū)W生姓名:劉鵬學(xué)號(hào):200810801037所在院(系):計(jì)算機(jī)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):08計(jì)本(2)班指導(dǎo)教師:吳建兵職稱:年月日攀枝花學(xué)院教務(wù)處制題目猜數(shù)字游戲1、課程設(shè)計(jì)的目的通過本課程設(shè)計(jì)使學(xué)生能夠較全面的掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的有關(guān)概念和開發(fā)方法,以便能較全面地理解、掌握和綜合運(yùn)用所學(xué)的知識(shí),提高自身的編程能力。2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)要求、工作要求等)編寫一個(gè)猜數(shù)字游戲,要求:計(jì)算機(jī)產(chǎn)生隨機(jī)數(shù),猜中即勝,猜不中,提示是大了還是小了,繼續(xù)猜,直至猜到,給出所用時(shí)間和評(píng)語。3、主要參考文獻(xiàn)朱福喜.Java語言程序設(shè)計(jì)(第

2、二版).科學(xué)出版社陳國君等.Java程序設(shè)計(jì)基礎(chǔ)(第二版)清華大學(xué)出版社Deitel.Java大學(xué)基礎(chǔ)教程(第六版).電子工業(yè)出版社MaryCampione.Java語言導(dǎo)學(xué)(第四版).機(jī)械工業(yè)出版社Y.DanielLiang.Java語言程序設(shè)計(jì)基礎(chǔ)篇(第六版).機(jī)械工業(yè)出版社6KathySierra.HeadFirstJava(第二版).東南大學(xué)出版社4、課程設(shè)計(jì)工作進(jìn)度計(jì)劃序號(hào)時(shí)間(天)內(nèi)容安排備注11分析設(shè)計(jì)準(zhǔn)備周一22編程調(diào)試階段周二至周三31編寫課程設(shè)計(jì)報(bào)告周四41考核周五總計(jì)5(天)指導(dǎo)教師(簽字)日期年月日教研室意見:年月日學(xué)生(簽字):接受任務(wù)時(shí)間:年月日分值得分工作表現(xiàn)20

3、%度態(tài)習(xí)試稈宀洱取過獲通道03量口能35%LJ匕匕厶冃,技據(jù)。和數(shù)論識(shí)驗(yàn)結(jié)知、買的學(xué)理值所處價(jià)用確有運(yùn)正出匕匕匕匕曰于厶冃厶冃雀n狐妙息能較信案方九匕匕厶冃久主冃、丫駅路i田思如研酗;確等完算mLJ怖技附如0K匕匕厶冃結(jié)析力衛(wèi)匕匕/7厶冃實(shí)合析或綜分算濟(jì)計(jì)力經(jīng)對(duì)能術(shù)O1O力匕匕厶冃的合宀示成果質(zhì)量45%篇化擁質(zhì)圖number)JOptionPane.showMessageDialog(null,猜大了哦!);jTextField1.setText();jTextField1.requestFocus();return;if(guessyNYx=y結(jié)束系統(tǒng)統(tǒng)計(jì)猜數(shù)次數(shù)系統(tǒng)結(jié)束計(jì)時(shí)猜大啦猜小了哦系

4、統(tǒng)開始計(jì)時(shí)產(chǎn)生隨機(jī)數(shù)m由用戶輸入一個(gè)數(shù)y6.異常處理我們?cè)谶\(yùn)行程序時(shí)往往會(huì)出現(xiàn)許多錯(cuò)誤,而Java語言提供了異常(Exception)處理機(jī)制幫助程序員發(fā)現(xiàn)并處理異常。所謂異常,就是在程序執(zhí)行過程中能干擾程序正常流程的事件導(dǎo)致異常的原因很多,比如文件找不到、數(shù)組越界、除以零等。當(dāng)異常出現(xiàn)時(shí),一個(gè)異常對(duì)象將被自動(dòng)生成并傳遞給Java“運(yùn)行時(shí)環(huán)境”,如果“運(yùn)行時(shí)環(huán)境”找不到異常句柄,Java程序便會(huì)自行中斷。trystatement(s);catch(exceptiontype1name)statement(s);catch(exceptiontype2name)statement(s);fina

5、llystatement(s);try語句括起來的語句可能拋出異常。try語句至少要搭配一個(gè)catch語句或finally語句,不能單獨(dú)使用,我設(shè)計(jì)的猜數(shù)字游戲需要從控制臺(tái)獲取玩家輸入的數(shù)字,有多個(gè)異常處理trysetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);getContentPane().setLayout(null);catch(Exceptione)e.printStackTrace();try/獲取玩家的輸入guess=Integer.parseInt(jTextField1.getText();catch(Exc

6、eptione)7.調(diào)試分析菇大了嚼!確定經(jīng)過這幾天努力終于完成了這份課設(shè),雖然在操作的過程中我都遇到了許多的困難,但是卻使我得到了許多的意外收獲。Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動(dòng)態(tài)語言。在寫代碼的過程中我們也遇到了一些的困難,就是對(duì)一些有關(guān)Java語言的不理解,我便又到課本中去查找。一個(gè)項(xiàng)目的成敗關(guān)鍵不全在于技術(shù)。要想在一個(gè)愉快的氛圍里邊以輕松的心情來完成緊張的工作,嚴(yán)謹(jǐn)?shù)膽B(tài)度和工作的熱情都是必不可少的。以前上課時(shí)有許多的問題并沒有真正的認(rèn)識(shí)到,但通過這次試驗(yàn)的制作,使我掌握了許多更重要的知識(shí)點(diǎn)。電子工業(yè)出版社200

7、6中國水利水電出版社2006清華大學(xué)出版社20067趙毅主.跨平臺(tái)程序設(shè)計(jì)語言一Java西安電子科技大學(xué)出版社2006王路群.Java高級(jí)程序設(shè)計(jì)夏寬理.Java語言程序設(shè)計(jì)丁新民.Java程序設(shè)計(jì)教程中國水利水電出版社2006機(jī)械工業(yè)出版社.2008.人民郵電出版社.2006.參考文獻(xiàn)黃明等,梁旭,周紹斌.Java課程設(shè)計(jì)楊昭.二級(jí)Java語言程序設(shè)計(jì)教程趙文靖.Java程序設(shè)計(jì)基礎(chǔ)與上機(jī)指導(dǎo)張廣彬,孟紅蕊,張永寶.Java課程設(shè)計(jì)案例精編清華大學(xué)出版社2007黃曉東.Java課程設(shè)計(jì)案例精編(第一版)中國水利水電出版社2004美CayS.Horstmann程峰等譯.JAVA2核心技術(shù)機(jī)械工

8、業(yè)出版社2003程序附頁packageliupeng;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.util.Random;importjavax.swing.JButton;importjavax.swing.JLabel;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.s

9、wing.JTextField;importjavax.swing.WindowConstants;importjava.awt.FlowLayout;publicclassGuessNumextendsjavax.swing.JFrameprivateJLabeljLabel1;privateJTextFieldjTextField1;privateJButtonjButton1;privateintnumber=0;privateintcounter=0;longstartTime=System.currentTimeMillis();longendTime;程序附頁 /*新建一個(gè)隨機(jī)數(shù)產(chǎn)

10、生器,然后生成一個(gè)1到100之間的整數(shù)*/publicGuessNum()super(劉鵬);initChuankou();Randomrandom=newRandom();number=random.nextInt(100);/產(chǎn)生一個(gè)1-100間的隨機(jī)數(shù)/*初始化窗口組件*/privatevoidinitChuankou()trysetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);/窗口關(guān)閉時(shí)銷毀窗口getContentPane().setLayout(null);/設(shè)置窗口布局為絕對(duì)布局JFrameframe=newJFr

11、ame(TestButtons);frame.setLayout(newFlowLayout();jLabel1=newJLabel();getContentPane().add(jLabel1);jLabell.setText(html歡迎進(jìn)入有趣的猜數(shù)字游戲!請(qǐng)輸入1100中的任意一個(gè)數(shù):/html);jLabel1.setBounds(2,0,200,50);/設(shè)置標(biāo)簽位置jTextField1=newJTextField();getContentPane().add(jTextField1);程序附頁 jTextField1.setBounds(50,60,112,28);jTextF

12、ield1.addKeyListener(newKeyAdapter()/文本框添加鍵盤按鍵監(jiān)聽-監(jiān)聽回車鍵publicvoidkeyPressed(KeyEventevt)jTextField1KeyPressed(evt););jButton1=newJButton();getContentPane().add(jButton1);jButtonl.setText(確定);jButton1.setBounds(70,110,60,28);jButton1.addActionListener(newActionListener()/按鈕添加監(jiān)聽publicvoidactionPerforme

13、d(ActionEventevt)jButton1ActionPerformed(evt);/按鈕被點(diǎn)擊時(shí)執(zhí)行該方法);pack();this.setSize(220,200);/設(shè)置窗口大小setLocationRelativeTo(null);/設(shè)置窗口在顯示器居中顯示catch(Exceptione)e.printStackTrace();setVisible(true);privatevoidjButton1ActionPerformed(ActionEventevt)intguess=0;/記錄玩家所猜測(cè)的數(shù)字counter+;/計(jì)數(shù)器增加一。程序附頁 try/獲取玩家的輸入gues

14、s=Integer.parseInt(jTextField1.getText();catch(Exceptione)/如果玩家不是輸入一個(gè)合法的整數(shù),則讓他重新輸入。JOptionPane.showMessageDialog(null,數(shù)字不合法,請(qǐng)輸入一個(gè)1-100之間的整數(shù)!);/顯示一個(gè)對(duì)話框jTextFieldl.setText();/清空文本框內(nèi)容jTextField1.requestFocus();/文本框獲取輸入焦點(diǎn)return;/對(duì)玩家的輸入進(jìn)行判斷。if(guessnumber)JOptionPane.showMessageDialog(null,猜大了哦!);jTextFi

15、eldl.setText();jTextFieldl.requestFocus();return;if(guessnumber)JOptionPane.showMessageDialog(null,太小啦);jTextFieldl.setText();jTextFieldl.requestFocus();return;if(guess=number)endTime=System.currentTimeMillis();/判斷成績(jī)。switch(counter)casel:JOptionPane.showMessageDialog(null,你是神么?這也太給力了程序附頁67吧!);break;case2:case3:case4:case5:case6:case7:JOptionPane.showMessageDialog(null,這么快就猜對(duì)了,很不錯(cuò)哦!);break;default:JOptionPane.showMessageDialog(null,猜了半天才猜出來,還要多多練習(xí)哦!);break;JOptionPane.showMessageDialog(null,您總共猜了+counter+次共花了+(endTime-startTime)/1000+秒的時(shí)間答對(duì)正確答案!);jTex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論