《java課程設(shè)計(jì)報(bào)告》word版
《《java課程設(shè)計(jì)報(bào)告》word版》由會(huì)員分享,可在線閱讀,更多相關(guān)《《java課程設(shè)計(jì)報(bào)告》word版(13頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、精品 面向?qū)ο蟪绦蛟O(shè)計(jì)(Java) 課程設(shè)計(jì)報(bào)告 題 目:真心話大冒險(xiǎn)游戲 專 業(yè): 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù) 班 級(jí): _ _ 學(xué) 號(hào): ____ _ 姓 名: _ 任課教師: _ 時(shí)間: 2013年 1 月3 日 1.概述:課程設(shè)計(jì)的目的和系統(tǒng)功能概述 課程設(shè)計(jì)目的:利用本次課程設(shè)計(jì)的機(jī)會(huì),讓我復(fù)習(xí)本學(xué)期所學(xué)的知識(shí),并通過不斷修改和嘗試,完成程序的設(shè)計(jì)。 系統(tǒng)功能概述:真心話大冒險(xiǎn)小游戲 一開始的
2、界面 二. 詳細(xì)設(shè)計(jì)方案,完整代碼如下: import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Truthordare extends JFrame implements ActionListener,ItemListener{ JMenuItem jdakaitiku,jshezhirenshu,jshezhiziti,jtuichuyouxi,jyouxiguize,jzhizuorenyuan; JMenuBa
3、r mbar; static JLabel jlabel,jlabel2; static JRadioButton jrb0,jrb3,jrb4; JCheckBox jcb1,jcb2; ImageIcon image; static int i=16,r=4; public Truthordare(){ super("菜單窗口");//調(diào)用父類構(gòu)造器,設(shè)置標(biāo)題欄文章 this.setLayout(null); image =new ImageIcon("jiuping.gif"); JMenu jcaidansh
4、ezhi=new JMenu("設(shè)置");//創(chuàng)建菜單項(xiàng) jdakaitiku=new JMenuItem("打開題庫");//創(chuàng)建子菜單 jshezhirenshu=new JMenuItem("設(shè)置人數(shù)");//創(chuàng)建子菜單 jshezhiziti=new JMenuItem("設(shè)置字體");//創(chuàng)建子菜單 jtuichuyouxi=new JMenuItem("退出游戲");//創(chuàng)建子菜單 JMenu jcaidanxinxi=new JMenu("信息");//創(chuàng)建菜單項(xiàng) jyouxiguize=new JMenuItem(
5、"游戲規(guī)則");//創(chuàng)建子菜單 jzhizuorenyuan=new JMenuItem("制作人員"); //創(chuàng)建子菜單 jrb0 = new JRadioButton("開始游戲"); jrb3 = new JRadioButton("紅色"); jrb4 = new JRadioButton("黃色"); jcb1 = new JCheckBox("加粗"); jcb2 = new JCheckBox("斜體"); jlabel2 = new JLabel(image);//圖片 jlabel = ne
6、w JLabel("真心話大冒險(xiǎn)"); //設(shè)置標(biāo)簽文本的字體 ,36)); jrb0.addActionListener(this);//開始游戲 jrb3.addActionListener(this);//紅色 jrb4.addActionListener(this);//黃色 jcb1.addItemListener(this);//加粗 jcb2.addItemListener(this);//斜體 jyouxiguize.addActionListener(this);//為子菜單添加監(jiān)聽器
7、jzhizuorenyuan.addActionListener(this);//為子菜單添加監(jiān)聽器 jdakaitiku.addActionListener(this);//為子菜單添加監(jiān)聽器 jshezhirenshu.addActionListener(this);//為子菜單添加監(jiān)聽器 jshezhiziti.addActionListener(this);//為子菜單添加監(jiān)聽器 jcaidanshezhi.add(jdakaitiku);//第一個(gè)菜單,將子菜單添加到菜單項(xiàng)中 jcaidanshezhi.add(jshezhire
8、nshu);//第一個(gè)菜單,將子菜單添加到菜單項(xiàng)中 jcaidanshezhi.add(jshezhiziti);//第一個(gè)菜單,將子菜單添加到菜單項(xiàng)中 jcaidanshezhi.add(jtuichuyouxi);//第一個(gè)菜單,將子菜單添加到菜單項(xiàng)中 jcaidanxinxi.add(jyouxiguize);//第二個(gè)菜單,的子菜單 jcaidanxinxi.add(jzhizuorenyuan);//第二個(gè)菜單,的子菜單 jcaidanshezhi.insertSeparator(1);//給菜單添加分隔符 jcaidanshez
9、hi.insertSeparator(3);//給菜單添加分隔符 jcaidanshezhi.insertSeparator(5);//給菜單添加分隔符 jcaidanxinxi.insertSeparator(1);//給菜單添加分隔符 ButtonGroup bg = new ButtonGroup(); bg.add(jrb0); this.getContentPane().add(jrb0); this.getContentPane().add(jrb3); this.ge
10、tContentPane().add(jrb4); this.getContentPane().add(jcb1); this.getContentPane().add(jcb2); this.getContentPane().add(jlabel); this.getContentPane().add(jlabel2); this.getContentPane().setLayout(null); jlabel.setBounds(100,100,300,80); jrb0.setBounds(170,160,100,20);
11、 JMenuBar mbar=new JMenuBar();//創(chuàng)建菜單欄 mbar.add(jcaidanshezhi);//菜單項(xiàng)添加到菜單欄中 mbar.add(jcaidanxinxi); mbar=new JMenuBar(); mbar.add(jcaidanshezhi); mbar.add(jcaidanxinxi); setJMenuBar(mbar);//設(shè)置菜單欄對(duì)顯示在窗口中 jlabel2.setBounds(70,50,300,300); setSize(450,
12、450); setVisible(true); jtuichuyouxi.addActionListener (new ActionListener () { //退出游戲的 public void actionPerformed(ActionEvent e) { System.exit (0); } } ); } public void ite
13、mStateChanged(ItemEvent e){ if(jcb1.isSelected()){ jlabel.setFont(new Font("宋體",Font.BOLD,20)); } if(jcb2.isSelected()){ jlabel.setFont(new Font("黑體",Font.ITALIC,40)); } if(jcb2.isSelected()&&jcb1.isSelected()){ jlabel.setFont(new Font("黑體",Font.ITALIC|Font.BOLD,
14、33)); } if(!jcb2.isSelected()&&!jcb1.isSelected()){ jlabel.setFont(new Font("黑體",Font.PLAIN,20)); } } public void actionPerformed(ActionEvent e){//貌似是子菜單的方法 if(e.getSource()==jrb0){//如果點(diǎn)擊新建菜單 kaishiyouxi g=new kaishiyouxi(); }
15、 if(e.getSource()==jdakaitiku){//如果點(diǎn)擊新建菜單 JOptionPane.showMessageDialog(this,"真心話!?。n和男/女朋友進(jìn)行到哪一步了\n最喜歡在座哪位異性內(nèi)衣/褲顏色\n初吻年齡\n自己最丟人的事\n最后一次發(fā)自內(nèi)心的笑是什么時(shí)候?\n愿意為愛情犧牲到什么程度\n朋友和男/女朋友那個(gè)重要\n身上哪個(gè)部位最敏感\(zhòng)n如果有來生,你選擇當(dāng)?\n你會(huì)選擇Having sex before marriage嗎?\n如果讓你選擇做一個(gè)電影中的角色,你會(huì)選誰呢\n如果有一天我和你吵架,你會(huì)怎么辦?\n哭得最傷心的是哪一次為什么?\n
16、如果跟你喜歡的人約會(huì),碰到前任的男(女)朋友,會(huì)有什么表現(xiàn)?\n如果有一天我對(duì)你說我愛上你了,你怎么辦\n大冒險(xiǎn)?。。n背一位異性繞場(chǎng)一周\n唱青藏高原最后一句\n做一個(gè)大家都滿意的鬼臉\n抱一位異性直到下一輪真心話大冒險(xiǎn)結(jié)束\n像一位異性表白3分鐘\n與一位異性十指相扣,對(duì)視10秒\n邀請(qǐng)一位異性與你情歌對(duì)唱\n做自己最性感、最嫵媚的表情或動(dòng)作\n吃下每個(gè)人為你夾得菜\n跳草裙舞\n蹲在凳子上作便秘狀\n親某某\n神情的吻墻10秒\n模仿古代特殊職業(yè)女子拉客\n模仿腦白金廣告,邊唱邊跳\n讓他到街上大喊:我的病有救了"); }//二級(jí)窗口顯示信息 if(
17、e.getSource()==jshezhirenshu){//如果點(diǎn)擊新建菜單 shezhirenshu w=new shezhirenshu(); } if(e.getSource()==jshezhiziti){//如果點(diǎn)擊新建菜單 shezhiziti t=new shezhiziti(); // this.setVisible(false); //是否關(guān)閉二級(jí)窗口 } if(e.getSource()==jyouxiguize){//如果點(diǎn)擊新建菜單 JOptionPa
18、ne.showMessageDialog(this,"真心話大冒險(xiǎn)游戲規(guī)則\n選定方啟動(dòng)游戲,當(dāng)轉(zhuǎn)盤指向第二人為被動(dòng)方\n由選定的一方選擇真心話或者大冒險(xiǎn)\n選擇真心話,則由勝方隨意問輸者問題,輸者必須全部如實(shí)回答;\n選擇大冒險(xiǎn),則勝方隨意出任何行為問題由輸方嘗試完成"); }//二級(jí)窗口顯示信息 if(e.getSource()==jzhizuorenyuan){//如果點(diǎn)擊新建菜單 JOptionPane.showMessageDialog(this,"truth or dare1.0\n制作人員:xxxxx\n在此特別感謝給予我支持的朋友");
19、 }//二級(jí)窗口顯示信息 } } class shezhirenshu extends JFrame implements ActionListener {//設(shè)置人數(shù)的界面 JRadioButton jrb6,jrb7,jrb8,jrb9; public shezhirenshu(){ super("復(fù)選框事件處理"); jrb6 = new JRadioButton("2位玩家"); jrb7 = new JRadioButton("4位玩家"); jrb8 = new JRadioButton("6位玩家"); jr
20、b9 = new JRadioButton("8位玩家"); //注冊(cè)監(jiān)聽器 jrb6.addActionListener(this); jrb7.addActionListener(this); jrb8.addActionListener(this); jrb9.addActionListener(this); ButtonGroup bg = new ButtonGroup(); bg.add(jrb6); (jrb7); bg.add(jrb8); bg.add(jrb9);
21、 this.getContentPane().add(jrb6); this.getContentPane().add(jrb7); this.getContentPane().add(jrb8); this.getContentPane().add(jrb9); this.getContentPane().setLayout(null); jrb6.setBounds(40,40,100,20); jrb7.setBounds(150,40,100,20); jrb8.setBounds(40,80,100,20);
22、jrb9.setBounds(150,80,100,20); this.setSize(350,200); this.setVisible(true); } public void actionPerformed(ActionEvent e){ if(e.getSource()==jrb6) { Truthordare.r=2; JOptionPane.showMessageDialog(this,"當(dāng)前玩家人數(shù)為2人"); } if(e.getSource()==jrb7) { Trutho
23、rdare.r=4; JOptionPane.showMessageDialog(this,"當(dāng)前玩家人數(shù)為4人"); } if(e.getSource()==jrb8) { Truthordare.r=6; JOptionPane.showMessageDialog(this,"當(dāng)前玩家人數(shù)為6人"); } if(e.getSource()==jrb9) { Truthordare.r=8; JOptionPane.showMessageDialog(this,"當(dāng)前玩家人數(shù)為8人");
24、 } } } class shezhiziti extends JFrame implements ActionListener,ItemListener {//設(shè)置字體二級(jí)窗口的界面 JRadioButton jrb3,jrb4; JCheckBox jcb1,jcb2; public shezhiziti(){ super("復(fù)選框事件處理"); jrb3 = new JRadioButton("紅色"); jrb4 = new JRadioButton("黃色"); jcb1 = new
25、JCheckBox("加粗"); jcb2 = new JCheckBox("斜體"); //注冊(cè)監(jiān)聽器 jrb3.addActionListener(this); jrb4.addActionListener(this); jcb1.addItemListener(this); jcb2.addItemListener(this); ButtonGroup bg = new ButtonGroup(); bg.add(jrb3); bg.add(jrb4); this.getCon
26、tentPane().add(jrb3); this.getContentPane().add(jrb4); this.getContentPane().add(jcb1); this.getContentPane().add(jcb2); this.getContentPane().setLayout(null); jrb3.setBounds(40,80,100,20); jrb4.setBounds(150,80,100,20); jcb1.setBounds(40,120,100,20); jcb2.setBoun
27、ds(150,120,100,20); this.setSize(350,200); this.setVisible(true); } public void actionPerformed(ActionEvent e){ if(e.getSource()==jrb3) { Truthordare.jlabel.setForeground(Color.red); Truthordare.jrb0.setForeground(Color.red); } if(e.getSource()==jrb
28、4) { Truthordare.jlabel.setForeground(Color.yellow); Truthordare.jrb0.setForeground(Color.yellow); } } public void itemStateChanged(ItemEvent e){ if(jcb1.isSelected()){ Truthordare.jlabel.setFont(new Font("宋體",Font.BOLD,20)); } if(jcb2.isS
29、elected()){ Truthordare.jlabel.setFont(new Font("黑體",Font.ITALIC,40)); } if(jcb2.isSelected()&&jcb1.isSelected()){ Truthordare.jlabel.setFont(new Font("黑體",Font.ITALIC|Font.BOLD,33)); } if(!jcb2.isSelected()&&!jcb1.isSelected()){ Truthordare.jlabel.setFont(new Font("
30、黑體",Font.PLAIN,20)); } } } class kaishiyouxi extends JFrame implements ActionListener{ JRadioButton jrb1,jrb2; JLabel jlabel3; int s=(int)(Math.random()*Truthordare.r); public kaishiyouxi(){ super("復(fù)選框事件處理"); jrb1 = new JRadioButton("真心話"); jrb2 = new JRadi
31、oButton("大冒險(xiǎn)"); jlabel3 = new JLabel("請(qǐng)"+s+"號(hào)玩家選擇"); //注冊(cè)監(jiān)聽器 jrb1.addActionListener(this);//真心話 jrb2.addActionListener(this);//大冒險(xiǎn) jlabel3.setFont(new Font("楷體",Font.PLAIN,36)); ButtonGroup bg = new ButtonGroup(); bg.add(jrb1); bg.add(jrb1); this.getC
32、ontentPane().add(jlabel3); this.getContentPane().add(jrb1); this.getContentPane().add(jrb2); this.getContentPane().setLayout(null); jrb1.setBounds(60,60,80,20); jrb2.setBounds(150,60,80,20); jlabel3.setBounds(40,100,300,80); this.setSize(350,350); this.setVisible
33、(true); } public void actionPerformed(ActionEvent e){//貌似是子菜單的方法 if(e.getSource()==jrb1){//如果點(diǎn)擊新建菜單 int tureNum=(int)(Math.random()*Truthordare.i); // System.out.println(tureNum+"是正確數(shù)字"); String truth[]={"和男/女朋友進(jìn)行到哪一步了","最喜歡在座哪位異性","內(nèi)衣/褲顏色","初吻年齡","自己最丟人的事","最后
34、一次發(fā)自內(nèi)心的笑是什么時(shí)候?","愿意為愛情犧牲到什么程度","朋友和男/女朋友那個(gè)重要","身上哪個(gè)部位最敏感","如果有來生,你選擇當(dāng)?","你會(huì)選擇Having sex before marriage嗎?","如果讓你選擇做一個(gè)電影中的角色,你會(huì)選誰呢","如果有一天我和你吵架,你會(huì)怎么辦?","哭得最傷心的是哪一次為什么?","如果跟你喜歡的人約會(huì),碰到前任的男(女)朋友,會(huì)有什么表現(xiàn)?","如果有一天我對(duì)你說我愛上你了,你怎么辦"}; JOptionPane.showMessageDialog(this,"真心話:"+truth[tureNum]);
35、} if(e.getSource()==jrb2){//如果點(diǎn)擊新建菜單 int tureNum=(int)(Math.random()*Truthordare.i); // System.out.println(tureNum+"是正確數(shù)字"); String dare[]={"背一位異性繞場(chǎng)一周","唱青藏高原最后一句","做一個(gè)大家都滿意的鬼臉","抱一位異性直到下一輪真心話大冒險(xiǎn)結(jié)束","像一位異性表白3分鐘","與一位異性十指相扣,對(duì)視10秒","邀請(qǐng)一位異性為你唱情歌,或邀請(qǐng)一位異性與你情歌對(duì)唱"
36、,"做自己最性感、最嫵媚的表情或動(dòng)作","吃下每個(gè)人為你夾得菜","跳草裙舞、脫衣舞","蹲在凳子上作便秘狀","親某某","神情的吻墻10秒","模仿古代特殊職業(yè)女子拉客","模仿腦白金廣告,邊唱邊跳","讓他到街上大喊:我的病有救了"}; JOptionPane.showMessageDialog(this,"大冒險(xiǎn):"+dare[tureNum]); } } } class Test{ public static void main(String arg[]){ Truthordare f=new Truth
37、ordare(); } } //完全自己做的好有成就感?。?! 三.設(shè)計(jì)思路: 功能的實(shí)現(xiàn):隨機(jī)數(shù)的實(shí)現(xiàn)。圖片的加入,實(shí)現(xiàn)二級(jí)窗口,文本框按鈕,退出按鈕 當(dāng)你點(diǎn)擊了“開始游戲“ 設(shè)置欄里有打開題庫,設(shè)置人數(shù),設(shè)置游戲,退出。 信息欄里有版本信息,幫助信息并且功能都能實(shí)現(xiàn) 分析:總結(jié)目前的缺陷以及打算如何解決 所有的功能都能實(shí)現(xiàn),美中不足是界面太單調(diào),不夠美化。。還有個(gè)小小的BUG,隨機(jī)時(shí)有可能選擇到“0號(hào)玩家“ 五.感想 Java課程設(shè)計(jì)這兩周來,通過對(duì)所選java題目程序的詳細(xì)分析和更改,受益匪淺.讓我了解到了Java更多的實(shí)用功能,也了解到了自己學(xué)習(xí)結(jié)合實(shí)踐的不足.實(shí)用的軟件理論,技術(shù)與方法才是我們學(xué)習(xí)的最終目的,應(yīng)該有更多的時(shí)間花在實(shí)踐環(huán)節(jié),也希望學(xué)校以后能安排更多的實(shí)驗(yàn)性課程,不至于讓理論成為白字,為以后的工作打好基礎(chǔ). 在這次課程設(shè)計(jì)中,我學(xué)到了很多的知識(shí),在對(duì)Java的學(xué)習(xí)上是我學(xué)會(huì)了怎么將學(xué)到的理論知識(shí)用到實(shí)踐中去,改變了過去的學(xué)習(xí)方法和學(xué)習(xí)態(tài)度,找到了一門自己很喜歡的學(xué)科。 總之通過本次實(shí)驗(yàn),掌握了使用Java語言進(jìn)行面向?qū)ο笤O(shè)計(jì)的基本方法,提高運(yùn)用面向?qū)ο笾R(shí)解決實(shí)際問題的能力。提高面向?qū)ο蟪绦蛟O(shè)計(jì)的能力 .
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險(xiǎn)源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會(huì)知識(shí)問答
- 8 各種煤礦安全考試試題
- 9 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)管理人員模擬考試題庫試卷附答案
- 加壓過濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹脂砂混砂工藝知識(shí)總結(jié)
- XXXXX現(xiàn)場(chǎng)安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級(jí))職業(yè)技能理論知識(shí)考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫試卷含答案
- 工段(班組)級(jí)安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫試卷含答案-4
- 建筑起重司索信號(hào)工安全操作要點(diǎn)
- 實(shí)驗(yàn)室計(jì)量常見的30個(gè)問問答題含解析