資源描述:
《JAVA 課程設(shè)計(jì)蜘蛛紙牌報(bào)告終極修改版》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、武漢輕工大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院Java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告專業(yè):信息與計(jì)算科學(xué)班級(jí):信計(jì)1402學(xué)號(hào):1412010039姓名:徐雄飛指導(dǎo)教師:賈瑜1課程設(shè)計(jì)目的與要求課程設(shè)計(jì)是在學(xué)習(xí)Java程序設(shè)計(jì)之后的實(shí)踐教學(xué)環(huán)節(jié)。該實(shí)踐教學(xué)是軟件設(shè)計(jì)的綜合訓(xùn)練,包括問(wèn)題分析、總體結(jié)構(gòu)設(shè)計(jì)、用戶界面設(shè)計(jì)、程序設(shè)計(jì)基本技能和技巧。要求學(xué)生在設(shè)計(jì)中逐步提高程序設(shè)計(jì)能力,培養(yǎng)科學(xué)的軟件工作方法。學(xué)生通過(guò)課程設(shè)計(jì)在下述各方面得到鍛煉:1、能根據(jù)實(shí)際問(wèn)題的具體情況,結(jié)合面向?qū)ο蟮幕纠碚摵突炯记?,正確分析問(wèn)題,并能設(shè)計(jì)出解決
2、問(wèn)題的有效算法與程序。2、提高程序設(shè)計(jì)和調(diào)試能力。學(xué)生通過(guò)上機(jī)實(shí)習(xí),驗(yàn)證自己設(shè)計(jì)的算法和程序的正確性。學(xué)會(huì)有效利用基本調(diào)試方法,迅速找出程序代碼中的錯(cuò)誤并且修改,進(jìn)一步提高程序設(shè)計(jì)水平。2設(shè)計(jì)內(nèi)容2.1蜘蛛紙牌2.1.1程序基本功能蜘蛛紙牌游戲通過(guò)鼠標(biāo)操作,將電腦多次分發(fā)的紙牌,按照相同的花色由大到小排列起來(lái),直到桌面上的紙牌全都消失,即為勝利。包括如下功能:(a)難度選擇:包括簡(jiǎn)單(單色)、中級(jí)(雙色)、高級(jí)(四色)。?(b)開(kāi)局:任何時(shí)候可以重新開(kāi)始一盤(pán)新的游戲。?(c)發(fā)牌。?(d)顯示可行操作:
3、提示當(dāng)前可行操作。?(e)簡(jiǎn)單的幫助文檔:對(duì)軟件的簡(jiǎn)單介紹和編制說(shuō)明。2.1.2程序設(shè)計(jì)方案和原理蜘蛛紙牌游戲共由4個(gè)部分組成,分別是:Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java,SpiderMenuBar.java??包含名為SpiderMenuBar的public類,其主要功能為生成蜘蛛紙牌游戲的菜單欄,實(shí)現(xiàn)菜單欄中各個(gè)組件的事件偵聽(tīng)。主要包括3個(gè)模塊:圖形用戶界面的構(gòu)建;組件監(jiān)聽(tīng)接口的實(shí)現(xiàn):顯示可執(zhí)行操作的線程。PKCar
4、d.java?。包含名為PKCard的public類,其主要功能為:定義紙牌的屬性,包括名稱,位置等相關(guān)信息。并通過(guò)相關(guān)方法實(shí)現(xiàn)紙牌的移動(dòng)等。?AboutDialog.java?。包含名為AboutDialog的public類,其主要功能為生成蜘蛛紙牌游戲的幫助欄。?Spider.java?。包含名為Spider的public類,其主要功能為生成蜘蛛紙牌游戲的框架,實(shí)現(xiàn)游戲中的方法,包括:紙牌的隨機(jī)生成,位置的擺放等。程序流程圖2.1.3程序的代碼實(shí)現(xiàn)SpiderMenuBar.javaSpiderMe
5、nuBar.java的作用是生成蜘蛛游戲的菜單,實(shí)現(xiàn)菜單欄中各個(gè)組件的事件傾聽(tīng)。其代碼如下:importjavax.swing.JMenuBar;importjavax.swing.JMenu;importjavax.swing.JMenuItem;importjavax.swing.JRadioButtonMenuItem;importjavax.swing.ButtonGroup;publicclassSpiderMenuBarextendsJMenuBar{//生成spider框架對(duì)象Spider
6、main=null;//生成菜單組JMenujNewGame=newJMenu("游戲");JMenujHelp=newJMenu("幫助");//生成菜單項(xiàng)JMenuItemjItemAbout=newJMenuItem("關(guān)于");JMenuItemjItemOpen=newJMenuItem("開(kāi)局");JMenuItemjItemPlayAgain=newJMenuItem("重新發(fā)牌");//生成單選框JRadioButtonMenuItemjRMItemEasy=newJRadioButto
7、nMenuItem("簡(jiǎn)單:?jiǎn)我换ㄉ?);JRadioButtonMenuItemjRMItemNormal=newJRadioButtonMenuItem("中級(jí):雙花色");JRadioButtonMenuItemjRMItemHard=newJRadioButtonMenuItem("高級(jí):四花色");;JMenuItemjItemExit=newJMenuItem("退出");JMenuItemjItemValid=newJMenuItem("顯示可行操作");/****構(gòu)造函數(shù),生成JMenu
8、Bar的圖形界面*/publicSpiderMenuBar(Spiderspider){this.main=spider;/****初始化“游戲”菜單欄*/jNewGame.add(jItemOpen);jNewGame.add(jItemPlayAgain);jNewGame.add(jItemValid);jNewGame.addSeparator();jNewGame.add(jRMItemEasy);jNewGame.add(jRM