《java課程設(shè)計報告》word版

上傳人:y****3 文檔編號:34514969 上傳時間:2021-10-21 格式:DOC 頁數(shù):13 大?。?05KB
收藏 版權(quán)申訴 舉報 下載
《java課程設(shè)計報告》word版_第1頁
第1頁 / 共13頁
《java課程設(shè)計報告》word版_第2頁
第2頁 / 共13頁
《java課程設(shè)計報告》word版_第3頁
第3頁 / 共13頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《java課程設(shè)計報告》word版》由會員分享,可在線閱讀,更多相關(guān)《《java課程設(shè)計報告》word版(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、精品 面向?qū)ο蟪绦蛟O(shè)計(Java) 課程設(shè)計報告 題 目:真心話大冒險游戲 專 業(yè): 計算機網(wǎng)絡(luò)技術(shù) 班 級: _ _ 學(xué) 號: ____ _ 姓 名: _ 任課教師: _ 時間: 2013年 1 月3 日 1.概述:課程設(shè)計的目的和系統(tǒng)功能概述 課程設(shè)計目的:利用本次課程設(shè)計的機會,讓我復(fù)習(xí)本學(xué)期所學(xué)的知識,并通過不斷修改和嘗試,完成程序的設(shè)計。 系統(tǒng)功能概述:真心話大冒險小游戲 一開始的

2、界面 二. 詳細設(shè)計方案,完整代碼如下: 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)建菜單項 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)建菜單項 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("真心話大冒險"); //設(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);//第一個菜單,將子菜單添加到菜單項中 jcaidanshezhi.add(jshezhire

8、nshu);//第一個菜單,將子菜單添加到菜單項中 jcaidanshezhi.add(jshezhiziti);//第一個菜單,將子菜單添加到菜單項中 jcaidanshezhi.add(jtuichuyouxi);//第一個菜單,將子菜單添加到菜單項中 jcaidanxinxi.add(jyouxiguize);//第二個菜單,的子菜單 jcaidanxinxi.add(jzhizuorenyuan);//第二個菜單,的子菜單 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);//菜單項添加到菜單欄中 mbar.add(jcaidanxinxi); mbar=new JMenuBar(); mbar.add(jcaidanshezhi); mbar.add(jcaidanxinxi); setJMenuBar(mbar);//設(shè)置菜單欄對顯示在窗口中 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){//如果點擊新建菜單 kaishiyouxi g=new kaishiyouxi(); }

15、 if(e.getSource()==jdakaitiku){//如果點擊新建菜單 JOptionPane.showMessageDialog(this,"真心話?。?!\n和男/女朋友進行到哪一步了\n最喜歡在座哪位異性內(nèi)衣/褲顏色\n初吻年齡\n自己最丟人的事\n最后一次發(fā)自內(nèi)心的笑是什么時候?\n愿意為愛情犧牲到什么程度\n朋友和男/女朋友那個重要\n身上哪個部位最敏感\(zhòng)n如果有來生,你選擇當(dāng)?\n你會選擇Having sex before marriage嗎?\n如果讓你選擇做一個電影中的角色,你會選誰呢\n如果有一天我和你吵架,你會怎么辦?\n哭得最傷心的是哪一次為什么?\n

16、如果跟你喜歡的人約會,碰到前任的男(女)朋友,會有什么表現(xiàn)?\n如果有一天我對你說我愛上你了,你怎么辦\n大冒險?。?!\n背一位異性繞場一周\n唱青藏高原最后一句\n做一個大家都滿意的鬼臉\n抱一位異性直到下一輪真心話大冒險結(jié)束\n像一位異性表白3分鐘\n與一位異性十指相扣,對視10秒\n邀請一位異性與你情歌對唱\n做自己最性感、最嫵媚的表情或動作\n吃下每個人為你夾得菜\n跳草裙舞\n蹲在凳子上作便秘狀\n親某某\n神情的吻墻10秒\n模仿古代特殊職業(yè)女子拉客\n模仿腦白金廣告,邊唱邊跳\n讓他到街上大喊:我的病有救了"); }//二級窗口顯示信息 if(

17、e.getSource()==jshezhirenshu){//如果點擊新建菜單 shezhirenshu w=new shezhirenshu(); } if(e.getSource()==jshezhiziti){//如果點擊新建菜單 shezhiziti t=new shezhiziti(); // this.setVisible(false); //是否關(guān)閉二級窗口 } if(e.getSource()==jyouxiguize){//如果點擊新建菜單 JOptionPa

18、ne.showMessageDialog(this,"真心話大冒險游戲規(guī)則\n選定方啟動游戲,當(dāng)轉(zhuǎn)盤指向第二人為被動方\n由選定的一方選擇真心話或者大冒險\n選擇真心話,則由勝方隨意問輸者問題,輸者必須全部如實回答;\n選擇大冒險,則勝方隨意出任何行為問題由輸方嘗試完成"); }//二級窗口顯示信息 if(e.getSource()==jzhizuorenyuan){//如果點擊新建菜單 JOptionPane.showMessageDialog(this,"truth or dare1.0\n制作人員:xxxxx\n在此特別感謝給予我支持的朋友");

19、 }//二級窗口顯示信息 } } 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位玩家"); //注冊監(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è)置字體二級窗口的界面 JRadioButton jrb3,jrb4; JCheckBox jcb1,jcb2; public shezhiziti(){ super("復(fù)選框事件處理"); jrb3 = new JRadioButton("紅色"); jrb4 = new JRadioButton("黃色"); jcb1 = new

25、JCheckBox("加粗"); jcb2 = new JCheckBox("斜體"); //注冊監(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("大冒險"); jlabel3 = new JLabel("請"+s+"號玩家選擇"); //注冊監(jiān)聽器 jrb1.addActionListener(this);//真心話 jrb2.addActionListener(this);//大冒險 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){//如果點擊新建菜單 int tureNum=(int)(Math.random()*Truthordare.i); // System.out.println(tureNum+"是正確數(shù)字"); String truth[]={"和男/女朋友進行到哪一步了","最喜歡在座哪位異性","內(nèi)衣/褲顏色","初吻年齡","自己最丟人的事","最后

34、一次發(fā)自內(nèi)心的笑是什么時候?","愿意為愛情犧牲到什么程度","朋友和男/女朋友那個重要","身上哪個部位最敏感","如果有來生,你選擇當(dāng)?","你會選擇Having sex before marriage嗎?","如果讓你選擇做一個電影中的角色,你會選誰呢","如果有一天我和你吵架,你會怎么辦?","哭得最傷心的是哪一次為什么?","如果跟你喜歡的人約會,碰到前任的男(女)朋友,會有什么表現(xiàn)?","如果有一天我對你說我愛上你了,你怎么辦"}; JOptionPane.showMessageDialog(this,"真心話:"+truth[tureNum]);

35、} if(e.getSource()==jrb2){//如果點擊新建菜單 int tureNum=(int)(Math.random()*Truthordare.i); // System.out.println(tureNum+"是正確數(shù)字"); String dare[]={"背一位異性繞場一周","唱青藏高原最后一句","做一個大家都滿意的鬼臉","抱一位異性直到下一輪真心話大冒險結(jié)束","像一位異性表白3分鐘","與一位異性十指相扣,對視10秒","邀請一位異性為你唱情歌,或邀請一位異性與你情歌對唱"

36、,"做自己最性感、最嫵媚的表情或動作","吃下每個人為你夾得菜","跳草裙舞、脫衣舞","蹲在凳子上作便秘狀","親某某","神情的吻墻10秒","模仿古代特殊職業(yè)女子拉客","模仿腦白金廣告,邊唱邊跳","讓他到街上大喊:我的病有救了"}; JOptionPane.showMessageDialog(this,"大冒險:"+dare[tureNum]); } } } class Test{ public static void main(String arg[]){ Truthordare f=new Truth

37、ordare(); } } //完全自己做的好有成就感?。?! 三.設(shè)計思路: 功能的實現(xiàn):隨機數(shù)的實現(xiàn)。圖片的加入,實現(xiàn)二級窗口,文本框按鈕,退出按鈕 當(dāng)你點擊了“開始游戲“ 設(shè)置欄里有打開題庫,設(shè)置人數(shù),設(shè)置游戲,退出。 信息欄里有版本信息,幫助信息并且功能都能實現(xiàn) 分析:總結(jié)目前的缺陷以及打算如何解決 所有的功能都能實現(xiàn),美中不足是界面太單調(diào),不夠美化。。還有個小小的BUG,隨機時有可能選擇到“0號玩家“ 五.感想 Java課程設(shè)計這兩周來,通過對所選java題目程序的詳細分析和更改,受益匪淺.讓我了解到了Java更多的實用功能,也了解到了自己學(xué)習(xí)結(jié)合實踐的不足.實用的軟件理論,技術(shù)與方法才是我們學(xué)習(xí)的最終目的,應(yīng)該有更多的時間花在實踐環(huán)節(jié),也希望學(xué)校以后能安排更多的實驗性課程,不至于讓理論成為白字,為以后的工作打好基礎(chǔ). 在這次課程設(shè)計中,我學(xué)到了很多的知識,在對Java的學(xué)習(xí)上是我學(xué)會了怎么將學(xué)到的理論知識用到實踐中去,改變了過去的學(xué)習(xí)方法和學(xué)習(xí)態(tài)度,找到了一門自己很喜歡的學(xué)科。 總之通過本次實驗,掌握了使用Java語言進行面向?qū)ο笤O(shè)計的基本方法,提高運用面向?qū)ο笾R解決實際問題的能力。提高面向?qū)ο蟪绦蛟O(shè)計的能力 .

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!