freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java課程設(shè)計(jì)報(bào)告--hannoi塔-wenkub

2023-04-26 22:19:00 本頁(yè)面
 

【正文】 box類(lèi)設(shè)計(jì),其布局管理器為GridBagLayout。 } } 以上代碼核心為start_flag控制,其他相關(guān)控制在5設(shè)計(jì)總結(jié)和心得體會(huì)可以解答。 ()。 start_flag=false。 //將currentDatr與startDate之差以為時(shí):分:秒:毫秒:格式轉(zhuǎn)為字符串str (str)。其中通過(guò)取得系統(tǒng)時(shí)間與記錄的游戲開(kāi)始時(shí)間的差來(lái)刷新其組件上的內(nèi)容。 } else if(()==btn_stop){ If(){ ()。 break。i++){ if(pointA[i].equals(startPoint)){ m=i。i++){ pointA[i].putDisc(discs[i],this)。 pointC[i]=new TowerPoint(3*maxDiscWidth20,100+vertialDistance)。 for(int i=0。 } 以上代碼是監(jiān)聽(tīng)到盤(pán)子設(shè)置菜單選擇點(diǎn)擊事件,系統(tǒng)彈出一個(gè)顏色的對(duì)話框,()刷新游戲區(qū)。 其部分代碼如下: else if(()==gFColor){ =(this,請(qǐng)選擇背景 色 ,new Color(255,0,0))。其中包含的操作有開(kāi)始、結(jié)束、繼續(xù)、暫停、保存五大操作。: 主界面 ,創(chuàng)建的容器被添HannoiWindow窗體的中心。 Hannoi塔除了要編寫(xiě)的10個(gè)Java源文件所給出的類(lèi)外,還需要Java系統(tǒng)提供的一些重要的類(lèi),如JMenuBar、JMenu、JMenuItem和JButton。 功能要求 游戲規(guī)則 用戶(hù)用鼠標(biāo)選中盤(pán)子,然后通過(guò)拖動(dòng)鼠標(biāo)來(lái)移動(dòng)盤(pán)子、釋放鼠標(biāo)來(lái)放置該盤(pán)子。 課 程 設(shè) 計(jì) 報(bào) 告 課程名稱(chēng) Java程序設(shè)計(jì) 課題名稱(chēng) Hannoi塔 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 李遠(yuǎn)輝 2013 年 6月 27日 湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱(chēng) Java程序設(shè)計(jì) 課 題 Hannoi塔 專(zhuān)業(yè)班級(jí) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)老師 李遠(yuǎn)輝 審 批 李遠(yuǎn)輝 任務(wù)書(shū)下達(dá)日期 2013 年 6 月20 日任務(wù)完成日期 2013 年 6 月 27 日目錄1. 設(shè)計(jì)要求……………………………………………………………1 界面要求…………………………………………………………1 功能要求…………………………………………………………1 2. 總體設(shè)計(jì) ………………………………………………………… 2 總體概述…………………………………………………………2 主要類(lèi)功能設(shè)計(jì)…………………………………………………33. 詳細(xì)設(shè)計(jì)……………………………………………………………5 HannoiWindow類(lèi) ………………………………………………5 Tower類(lèi) …………………………………………………………5 HandleMouse類(lèi) …………………………………………………6 AutoMoveDisc類(lèi)…………………………………………………7 TimeCount類(lèi) ……………………………………………………84. 調(diào)試與結(jié)果分析……………………………………………………9 初級(jí)游戲…………………………………………………………9 游戲界面屬性設(shè)置………………………………………………10 游戲外觀設(shè)置……………………………………………………10 自動(dòng)移動(dòng)演示……………………………………………………105. 設(shè)計(jì)總結(jié)與心得體會(huì)………………………………………………12附錄 ……………………………………………………………………13 1 參考書(shū)………………………………………………………………13 2 源代碼………………………………………………………………13 1 設(shè)計(jì)要求 界面要求 用戶(hù)界面為GUI界面,其分為菜單欄以及游戲區(qū)兩個(gè)部分。其中主要的規(guī)則就是:(1) 移動(dòng)盤(pán)子時(shí),盤(pán)子上方必須無(wú)盤(pán)子(2) 放置盤(pán)子時(shí),其位置必須在塔點(diǎn)處,而且盤(pán)子必須比下方盤(pán)子?。?) 游戲結(jié)束的條件是:所有的盤(pán)子均從A座移到B或C座 游戲設(shè)置功能 用戶(hù)可以通過(guò)游戲》選項(xiàng)來(lái)設(shè)置游戲的一些基本的屬性,如是否播放音樂(lè)、難度、盤(pán)子大小等等 游戲幫助功能 用戶(hù)可以通過(guò)菜單欄中的幫助能過(guò)初步了解游戲的相關(guān)信息,以及如何操作。 所示:HannoiWindow TowerJMenuItemJMenuBarGameSettingSJMenuGameMusicAutoMoveDiscHandleMouseDiscTowerPointTimeCount 類(lèi)之間的組合關(guān)系 主要類(lèi)功能設(shè)計(jì) HannoiWindows類(lèi)主要負(fù)責(zé)創(chuàng)建Hannoi塔的主窗口,該類(lèi)包含main()方法,Hannoi塔從此類(lèi)開(kāi)始執(zhí)行。Tower類(lèi)主要的功能是設(shè)置游戲區(qū)的所有組件的位置等相關(guān)信息以及注冊(cè)其中的監(jiān)聽(tīng)器。 ,其主要的功能是彈出一個(gè)界面,其中包含游戲的基本設(shè)置項(xiàng)目,通過(guò)此界面的操作來(lái)調(diào)整游戲區(qū)的相關(guān)信息。 if(equalsColor()){ (null, 背景色與盤(pán)子顏色相 同,設(shè)置無(wú)效)。 Tower類(lèi) : Tower類(lèi)中主要的功能就是確定塔、盤(pán)子的位置以及畫(huà)圖。i。 vertialDistance=vertialDistance+discHeight。 } 其中最主要的是知道Java圖形界面的坐標(biāo)系是采用的是倒坐標(biāo)系,所以pointA或pointB數(shù)組中最后的一個(gè)TowerPoint對(duì)象就是A或B座最底下的一個(gè)盤(pán)子的坐標(biāo) HandMouse類(lèi) HandMouse類(lèi)主要處理的是鼠標(biāo)對(duì)盤(pán)子移動(dòng)。 if((m==0)||(m0amp。 } } } 以上代碼是判斷選中的盤(pán)子是否是A座上的盤(pán)子同時(shí)判斷是否可以移動(dòng)?首先通過(guò)if(pointA[i].equals(startPoint))判斷是否相等,如果相等則繼續(xù)判斷盤(pán)子是否為最上方的盤(pán)子或者盤(pán)子的上方無(wú)盤(pán)子,如果仍成立,則將可移動(dòng)標(biāo)示設(shè)為true。 } } } 。關(guān)鍵代碼結(jié)構(gòu)如下: public void run(){ if(flag){ startDate=new Date()。 } } 其中通過(guò)flag來(lái)保證能夠獲得用戶(hù)用鼠標(biāo)移動(dòng)第一個(gè)盤(pán)子的時(shí)間,其中主要涉及的問(wèn)題是如何保證顯示同步,相關(guān)內(nèi)容在5 設(shè)計(jì)總結(jié)與心得體會(huì)有講解。 } //匹配盤(pán)子及判斷盤(pán)子是否可以移動(dòng) } public void mouseReleased(MouseEvent e) { //判斷游戲是否結(jié)束,如果結(jié)束則停止計(jì)時(shí)線程 if(pointB[0].getHaveDisc()||pointC[0].getHaveDisc()){ end_flag=true。 String str=().getText()。4 調(diào)試與結(jié)果分析 初級(jí)游戲 圖 初級(jí)游戲 上圖是游戲難度為初級(jí)即盤(pán)子數(shù)量為3的Hannoi游戲。鼠標(biāo)點(diǎn)擊游戲》 圖 選項(xiàng) 其中初稿主要的問(wèn)題是由于GameSettingS類(lèi)是JFrame的一個(gè)子類(lèi),其 與主窗口為不同的進(jìn)程因此修改的屬性值無(wú)法在主窗口中體現(xiàn)出來(lái)。其中主要的問(wèn)題是數(shù)據(jù)傳遞問(wèn)題以及線程問(wèn)題。如在游戲時(shí)中途設(shè)置游戲難度為中級(jí),在初稿中則會(huì)出現(xiàn)計(jì)數(shù)器無(wú)法重新計(jì)數(shù)。 總的來(lái)說(shuō),在本次課程設(shè)計(jì)中學(xué)到了很多,如StartUML軟件的使用以及如何活用適配器以及監(jiān)聽(tīng)接口、內(nèi)部類(lèi)等。,39。}。 private GameSettingS set。 (120)。 add(tower,)。 gStart=new JMenuItem(新游戲)。 gExit=new JMenuItem(退出)。 (gSetting)。 (this)。 (this)。 helpAuto=new JMenuItem(Hannoi演示)。 (this)。 setResizable(false)。 setDefaultCloseOperation()。 int k=()。 ()。 } else if(()==gBColor){ =(this,請(qǐng)選擇背景色 ,new Color(255,0,0))。 } else if(()==gFColor){ =(this,請(qǐng)選擇背景色 ,new Color(255,0,0))。 } else if(()==helpword){ ().setThreadField()。 ()。 ().setSize(400,().height)。import 。 public TowerPoint(int x,int y){ =x。 } public int getX(){ return x。()==()){ return true。 //獲取disc的大小相關(guān)信息 int w=().width。 //記錄屬性 haveDisc=true。 } //移除盤(pán)子 public void removeDisc(Component ,Container con){ if(!=null) ()。public class Disc extends JButton{ private int large。import .*。 //柱子上的坐標(biāo)信息 TowerPoint startPoint,endPoint。 private Thread thread。 private boolean end_flag=false。 start_flag=true。 } //鼠標(biāo)事件處理 /* * 鼠標(biāo)在組件下按下(nonJavadoc) * 判斷盤(pán)子是否可以移動(dòng) */ public void mousePressed(MouseEvent e) { if(start_flag){ thread=new Thread(runThread)。 if(().getClass()==){ disc=(Disc)()。 int m=0。 //盤(pán)子為A處最頂尖的盤(pán)子或者盤(pán)子上方無(wú)盤(pán)子 if((m==0)|| (m0amp。 } } }//end_for(pointA) for(int i=0。 if((m==0)|| (m0amp。 } } }//end_for(pointB) for(int i=0。 if((m==0)|| (m0amp。 } } }//end_for(pointC) }//end_mousePressed(MouseEvent e) //鼠標(biāo)選中組件并拖動(dòng)信息 public void mouseDragged(MouseEvent e){ Disc disc=null。 int x=()。 if(move_flag==true) (leftXX0,leftYY0)。 int x=1。i。 //如果塔點(diǎn)坐標(biāo)在最上方且無(wú)盤(pán)子 if((i==) amp。 } //如果塔點(diǎn)坐標(biāo)不為最上方且無(wú)盤(pán)子 //下方有盤(pán)子且盤(pán)子的大小小于此盤(pán)子 e
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1