




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、猜數(shù)字?jǐn)?shù)小游戲JAVA程序報(bào)告總結(jié)計(jì)劃猜數(shù)字?jǐn)?shù)小游戲JAVA程序報(bào)告總結(jié)計(jì)劃13/13猜數(shù)字?jǐn)?shù)小游戲JAVA程序報(bào)告總結(jié)計(jì)劃JAVA程序設(shè)計(jì)報(bào)告猜數(shù)字小游戲目錄一、猜數(shù)字小游介4二、用需求分析4三、描繪41課程設(shè)計(jì)的任務(wù)2課程設(shè)計(jì)的要求四、模51課程設(shè)計(jì)的要求2功能模塊設(shè)計(jì)3流程圖五、功能71.隨機(jī)數(shù)的產(chǎn)生模塊2.輸入判斷模塊3.記錄猜想次數(shù)模塊4計(jì)時(shí)模塊5輸入輸出模塊6成績(jī)判斷模塊六、異樣理9七、分析10八、不足之11九、12十、程序附13綱要猜數(shù)字是一款特別經(jīng)典的腦力游戲,游戲規(guī)則簡(jiǎn)單,是消磨時(shí)間、鍛煉腦力的好選擇。經(jīng)過(guò)選擇猜數(shù)字游戲這個(gè)題目,可以讓我掌握J(rèn)ava中的包和類(lèi),而且可以靈巧的
2、使用myeclipse軟件。同時(shí)更為深入的認(rèn)識(shí)字符界面的編程過(guò)程。使我更嫻熟的掌握J(rèn)ava程序框架的搭建和類(lèi)的創(chuàng)立格式。在分析階段,要進(jìn)行面向?qū)ο蟮男枨蠓治?、系統(tǒng)設(shè)計(jì)、畫(huà)出相應(yīng)的需求分析圖、系統(tǒng)設(shè)計(jì)模型圖,這些工作更能鍛煉我的邏輯思想,更能培育我思慮的全面性。讓我學(xué)會(huì)了多角度思慮問(wèn)題,對(duì)我此后的編程確立了更好的基礎(chǔ)。一、猜數(shù)字小游戲簡(jiǎn)介系統(tǒng)隨機(jī)產(chǎn)生隨意一個(gè)1100的自然數(shù),玩家輸入數(shù)字,若輸入的數(shù)字比隨機(jī)生成數(shù)小,系統(tǒng)將提示,數(shù)字太小請(qǐng)您從頭輸入;假如輸入的數(shù)字比隨機(jī)生成數(shù)大,系統(tǒng)將提示,數(shù)字太大請(qǐng)您從頭輸入;若輸入的字符不是合法字符,系統(tǒng)將提示,您輸入的數(shù)字不合法,請(qǐng)從頭輸入,游戲開(kāi)始時(shí),系
3、統(tǒng)自動(dòng)記錄您猜數(shù)字的時(shí)間和次數(shù),結(jié)束后顯示游戲共開(kāi)支的次數(shù)和時(shí)間及對(duì)游戲結(jié)果的談?wù)摗6?、用?hù)需求分析設(shè)計(jì)一個(gè)猜數(shù)字游戲程序,要求詳細(xì)以下特色:a.輸入隨意一個(gè)數(shù)字。數(shù)字的要求是1100的自然數(shù)即可。.系統(tǒng)對(duì)您輸入的數(shù)字進(jìn)行判斷。假如玩家輸入的數(shù)字與計(jì)算機(jī)隨機(jī)生成數(shù)比較較,輸入的數(shù)字比隨機(jī)生成數(shù)小.系統(tǒng)將提示您,數(shù)字太小請(qǐng)您從頭輸入。假如玩家輸入的數(shù)字與計(jì)算機(jī)隨機(jī)生成數(shù)比較較,假如輸入的數(shù)字比隨機(jī)生成數(shù)大。系統(tǒng)將提示您,數(shù)字太大請(qǐng)您從頭輸入。假如玩家輸入的字符不是合法字符,系統(tǒng)將提示您,您輸入的數(shù)字不合法,請(qǐng)從頭輸入。c.游戲開(kāi)始時(shí),系統(tǒng)自動(dòng)記錄您猜數(shù)字的時(shí)間,結(jié)束后顯示游戲共開(kāi)支的時(shí)間。d.每
4、猜想一次,系統(tǒng)會(huì)記錄下來(lái),游戲結(jié)束后,顯示共猜想多少次。e.在游戲結(jié)束時(shí),可以選擇封閉游戲,或許再來(lái)一局f.游戲結(jié)束前可選擇直接顯示答案三、問(wèn)題描繪1課程設(shè)計(jì)的任務(wù):依據(jù)所選題目,達(dá)成課程設(shè)計(jì)的分析、設(shè)計(jì)和編碼,寫(xiě)出課程設(shè)計(jì)報(bào)告。掌握J(rèn)ava的語(yǔ)言規(guī)范,面向?qū)ο蟮暮诵囊?jiàn)解和特色;掌握J(rèn)ava的編程技術(shù),包含異樣辦理,圖形界面設(shè)計(jì),多線(xiàn)程,網(wǎng)絡(luò)通訊程序等;掌握J(rèn)ava應(yīng)用軟件的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)過(guò)程;掌握面向?qū)ο蟮乃枷牒统绦蛟O(shè)計(jì)方法。2課程設(shè)計(jì)的要求:設(shè)計(jì)一個(gè)猜數(shù)字隨機(jī)產(chǎn)生整數(shù),玩游配上邊所產(chǎn)生的數(shù)計(jì)算機(jī)產(chǎn)生的隨機(jī)數(shù)戶(hù),游戲成誤差時(shí),如偏大或四、模塊1.系統(tǒng)開(kāi)產(chǎn)生隨機(jī)數(shù)系統(tǒng)開(kāi)始計(jì)時(shí)由用戶(hù)輸入一個(gè)開(kāi)始
5、界面游戲程序,該游戲可以由程序戲者經(jīng)過(guò)由用戶(hù)輸入數(shù)字來(lái)匹字。用戶(hù)隨機(jī)輸入數(shù)字,當(dāng)與相符合時(shí),計(jì)算機(jī)將提示用功的信息,當(dāng)有將會(huì)提示誤差,者是偏小。設(shè)計(jì)整體設(shè)計(jì)GN2.功能注冊(cè)猜3.流程圖產(chǎn)生隨登岸模G=NGnumber)JOptionPane.showMessageDialog(null,o(v)o猜大了);jTextField1.setText();jTextField1.requestFocus();return;if(guessnumber)JOptionPane.showMessageDialog(null,o(v)o太小啦);jTextField1.setText();jTextFie
6、ld1.requestFocus();return;if(guess=number)endTime=System.currentTimeMillis();6.成績(jī)判斷模塊判斷成績(jī)。switch(counter)case1:JOptionPane.showMessageDialog(null,O(_)O太給力了吧);break;case2:case3:JOptionPane.showMessageDialog(null,OHMYGOD!好膩害);break;case4:case5:case6:JOptionPane.showMessageDialog(null,O(_)O猜對(duì),很不錯(cuò)哦!);br
7、eak;case7:case8:case9:case10:JOptionPane.showMessageDialog(null,(+)有點(diǎn)慢,還要多練習(xí));break;default:JOptionPane.showMessageDialog(null,(+)oh!NO,太慢啦,);break;六、異樣辦理我們?cè)谶\(yùn)轉(zhuǎn)程序時(shí)常常會(huì)出現(xiàn)很多錯(cuò)誤,而Java語(yǔ)言供給了異樣(Exception)辦理系統(tǒng)幫助程序員發(fā)現(xiàn)并辦理異樣。所謂異樣,就是在程序履行過(guò)程中能攪亂程序正常流程的事件。致使異樣的原由很多,比方文件找不到、數(shù)組越界、除以零等。當(dāng)異樣出現(xiàn)時(shí),一個(gè)異樣對(duì)象將被自動(dòng)生成并傳達(dá)給Java“運(yùn)轉(zhuǎn)時(shí)環(huán)
8、境”,假如“運(yùn)轉(zhuǎn)時(shí)環(huán)境”找不到異常句柄,Java程序便會(huì)自行中止。trystatement(s);catch(exceptiontype1name)statement(s);catch(exceptiontype2name)statement(s);finallystatement(s);try語(yǔ)句括起來(lái)的語(yǔ)句可能拋出異樣。try語(yǔ)句最少要搭配一個(gè)catch語(yǔ)句或finally語(yǔ)句,不可以獨(dú)自使用,我設(shè)計(jì)的猜數(shù)字游戲需要從控制臺(tái)獲取玩家輸入的數(shù)字,有多個(gè)異樣辦理trysetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);getCo
9、ntentPane().setLayout(null);catch(Exceptione)e.printStackTrace();try獲得玩家的輸入guess=Integer.parseInt(jTextField1.getText();catch(Exceptione)七、調(diào)試分析八、不足之處本小游戲還未成立游戲記錄部分,沒(méi)法記錄玩家游戲成績(jī)記錄和成立游戲排行榜在界面設(shè)計(jì)方面還較為簡(jiǎn)單,游戲還有很多可改正和增添難度的地方總結(jié)經(jīng)過(guò)這幾日努力終于達(dá)成了這份課設(shè),固然在操作的過(guò)程中我都碰到了很多的困難,可是卻使我獲得了很多的不測(cè)收獲。Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,散布式的,解說(shuō)型的,強(qiáng)健安全
10、的,構(gòu)造中立的,可移植的,性能優(yōu)秀、多線(xiàn)程的動(dòng)向語(yǔ)言。在寫(xiě)代碼的過(guò)程中我們也碰到了一些的困難,就是對(duì)一些相關(guān)Java語(yǔ)言的不理解,我便又到課本中去查找。一個(gè)項(xiàng)目的成敗重點(diǎn)不全在于技術(shù)。要想在一個(gè)快樂(lè)的氣氛里邊以輕松的心情來(lái)達(dá)成緊張的工作,謹(jǐn)慎的態(tài)度和工作的熱忱都是必不可以少的。從前上課時(shí)有很多的問(wèn)題并無(wú)真實(shí)的認(rèn)識(shí)到,但經(jīng)過(guò)此次試驗(yàn)的制作,使我掌握了很多更重要的知識(shí)點(diǎn)。程序附頁(yè)packageJAVA;publicclassLoginextendsJFrameArrayListnames=newArrayList();ArrayListpwd=newArrayList();privatestati
11、cfinallongserialVersionUID=1L;publicLogin()this.setLocation(100,100);this.setSize(400,180);this.setTitle(歡迎進(jìn)入風(fēng)趣的猜數(shù)字小游戲);loginWindow();setLocationRelativeTo(null);/窗口居中顯示this.setVisible(true);publicvoidloginWindow()JLabelname=newJLabel(請(qǐng)輸入玩家姓名:);JLabelpassword=newJLabel(請(qǐng)輸入登岸密碼:);finalJTextFieldtfNam
12、e=newJTextField(20);finalJPasswordFieldtfPassword=newJPasswordField(20);JButtonok=newJButton(注冊(cè));JButtoncancel=newJButton(登錄);JPanelpm=newJPanel();JPanelp1=newJPanel();JPanelp2=newJPanel();JPanelp3=newJPanel();p1.add(name);p1.add(tfName);p2.add(password);p2.add(tfPassword);ok.addActionListener(newAc
13、tionListener()publicvoidactionPerformed(ActionEventarg0)names.add(tfName.getText();pwd.add(tfPassword.getText();JOptionPane.showMessageDialog(null,注冊(cè)成功);tfName.setText();tfPassword.setText(););cancel.addActionListener(newActionListener()/SuppressWarnings(deprecation)/OverrideSuppressWarnings(depreca
14、tion)publicvoidactionPerformed(ActionEventarg0)TODOAuto-generatedmethodstubfor(inti=0;inames.size();i+)if(names.get(i).equals(tfName.getText()if(pwd.get(i).equals(tfPassword.getText()JOptionPane.showMessageDialog(null,登岸成功);setVisible(false);/隱蔽原界面newGuessNum();/進(jìn)入主界面elseJOptionPane.showMessageDialo
15、g(null,用戶(hù)名或密碼有誤););p3.add(ok);p3.add(cancel);pm.add(p1);pm.add(p2);pm.add(p3);this.add(pm);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);publicstaticvoidmain(Stringargs)newLogin();packageJAVA;privatestaticfinallongserialVersionUID=1L;privateJLabeljLabel1;privateJTextFieldjTextField1;privateJBu
16、ttonjButton1;privateJButtonjButton2;privateJButtonjButton3;privateintnumber=0;privateintcounter=0;longstartTime=System.currentTimeMillis();longendTime;/publicGuessNum()super(猜數(shù)字小游戲);initChuangkou();Randomrandom=newRandom();number=random.nextInt(100);/計(jì)算時(shí)間產(chǎn)生一個(gè)1100的隨機(jī)數(shù)privatevoidinitChuangkou()trysetD
17、efaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);/窗口關(guān)閉時(shí)銷(xiāo)毀窗口getContentPane().setLayout(null);/設(shè)置窗口布局為絕對(duì)布局JFrameframe=newJFrame(TestButtons);frame.setLayout(newFlowLayout();jLabel1=newJLabel();getContentPane().add(jLabel1);jLabel1.setText(歡迎進(jìn)入風(fēng)趣的猜數(shù)字游戲請(qǐng)輸入1100中的隨意一個(gè)數(shù):);jLabel1.setBounds(75,20,200,
18、50);jTextField1=newJTextField();getContentPane().add(jTextField1);jTextField1.setBounds(110,100,112,28);jTextField1.addKeyListener(newKeyAdapter()publicvoidkeyPressed(KeyEventevt)jTextField1KeyPressed(evt););jButton1=newJButton();getContentPane().add(jButton1);jButton1.setText(確立);jButton1.setBounds
19、(120,160,100,25);jButton1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventevt)jButton1ActionPerformed(evt);/按鈕被點(diǎn)擊時(shí)履行該方法);jButton2=newJButton();getContentPane().add(jButton2);jButton2.setText(顯示答案);jButton2.setBounds(120,200,100,25);jButton2.addActionListener(newActionListen
20、er()publicvoidactionPerformed(ActionEventevt2)jButton2ActionPerformed(evt2);/按鈕被點(diǎn)擊時(shí)履行該方法);jButton3=newJButton();getContentPane().add(jButton3);jButton3.setText(再來(lái)一次);jButton3.setBounds(120,240,100,25);jButton3.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventevt3)jButton3Act
21、ionPerformed(evt3);/按鈕被點(diǎn)擊時(shí)履行該方法);pack();this.setSize(340,400);setLocationRelativeTo(null);/窗口大小設(shè)置窗口在顯示器居中顯示catch(Exceptione)e.printStackTrace();setVisible(true);privatevoidjButton2ActionPerformed(ActionEventevt2)JOptionPane.showMessageDialog(null,答案是+number);setVisible(false);/return;/直接顯示答案隱蔽原界面pri
22、vatevoidjButton3ActionPerformed(ActionEventevt3)setVisible(false);newGuessNum();privatevoidjButton1ActionPerformed(ActionEventevt)intguess=0;counter+;/計(jì)數(shù)器加一tryguess=Integer.parseInt(jTextField1.getText();/玩家輸入獲得catch(Exceptione)JOptionPane.showMessageDialog(null,請(qǐng)輸入一個(gè)1-100之間的整數(shù));/顯示對(duì)話(huà)框,輸入不合法jTextField1.setText();/清空文本框內(nèi)容jTextField1.requestFocus();return;if(guessnumber)JOptionPane.showMessageDialog(null,o(v)o猜大了);jTextField1.setText();jTextField1.requestFocus();return;if(guessnumber)JOptionPane.showMessageDialog(null,o(v)o太小啦);jTextField1.setText();jTextField1.requestFocus();return;i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供用苗木合同范本
- 加盟教育協(xié)議合同范本
- 與收款合同范本
- 儀器協(xié)議合同范本
- 化驗(yàn)用品購(gòu)銷(xiāo)合同范本
- 2024年四川旅游學(xué)院引進(jìn)考試真題
- 2024年省廈門(mén)市梧村小學(xué)招聘考試真題
- 第二單元 遵守社會(huì)規(guī)則 大單元教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版道德與法治八年級(jí)上冊(cè)
- 買(mǎi)賣(mài)物品交易合同范本
- 保溫發(fā)泡板合同范本
- 2024年12月重慶大學(xué)醫(yī)院公開(kāi)招聘醫(yī)生崗位2人(有編制)筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 主題班會(huì):新學(xué)期 新起點(diǎn) 新期待
- 披薩制作流程
- 2024 河北公務(wù)員考試(筆試、省直、A類(lèi)、C類(lèi))4套真題及答案
- 廈門(mén)2025年福建廈門(mén)市公安文職人員服務(wù)中心招聘17人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年高三歷史教學(xué)工作計(jì)劃
- 【化學(xué)】高中化學(xué)手寫(xiě)筆記
- 膽管惡性腫瘤護(hù)理查房課件
- 電烤箱的使用方法ppt
- 中班:語(yǔ)言擠啊擠
- 上海市有線(xiàn)電視(衛(wèi)星)接收設(shè)施安裝許可證申請(qǐng)表
評(píng)論
0/150
提交評(píng)論