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

正文內(nèi)容

畢業(yè)論文-基于java的魔板游戲的設(shè)計與開發(fā)-資料下載頁

2025-01-16 22:30本頁面
  

【正文】 對象上的鼠標(biāo)事件。當(dāng)用戶用鼠標(biāo)單擊 Block 對象后, handleMove 對象負(fù)責(zé)給出移動 Block 對象有關(guān)的算法,并顯示用戶的時間。標(biāo)明 HandleMove 要成員變量、方法以及和 PuzzlePad 類之間組合關(guān)系的 UML 圖如圖 14 所示。 2022 級程序設(shè)計綜合實驗報告 26 圖 14 HandleMove 類的 UML 圖 以下是 UML 圖中有關(guān)數(shù)據(jù)和方法的詳細(xì)說明 成員變量 ? Point 是 Point 類型二維數(shù)組,用來存放 PuzzlePad 魔板容器中 point 數(shù)組的引用 ? SpendTime 用來記錄用戶玩魔板游戲的用時 ? recordTime 是計時器 ? showTime 是 JTextField 創(chuàng)建的文本框,負(fù)責(zé)顯示用時 ? verify 是 VerifySuccess 聲明的對象,用來存放 PuzzlePad 魔板中 verifySuccess對象的引用。 方法 ? HandleMove()是構(gòu)造方法,負(fù)責(zé)創(chuàng)建 handleMove 對象 ? handleMove 對象調(diào)用 setPoint(Point[][])方法將 PuzzlePad 魔板容器的 point 對象的引用傳遞給該對象中的 point,以 便 handleMove 移動 PuzzlePad 魔板容器中的 Block 對象 ? handleMove 對象調(diào)用 setVerifySuccess( VerifySuccess)方法將 PuzzlePad 魔板容器的 verifySuccess 對象的引用傳遞給該對象中的 verify, verify 對象負(fù)判斷魔板中的 Block 對象是否成功地按要求排列完畢 JPanel MouseListener ActionListener HandleMove point: Point[][] showTime:JTextField spendTime:int verifSuccess recordTime:Timer HandMove(): setPoint(Point[][]):void intSpendTime():void setVerifySuccess(VerifySuccess):viod actionPerformed(ActionEvent):void mousePressed(MouseEvent e):void mouseReleased(MouseEvent e):void PuzzlePad handleMove:HandleMove 2022 級程序設(shè)計綜合實驗報告 27 ? handleMove 對象調(diào)用 initSpendTime()將 spendTime 的值設(shè)置為 0 ? mousePressed( KeyEvent)方法是 HandleMove 類實現(xiàn)的 MouseListener 借口中的方法,當(dāng)在 Block 對象上按下鼠標(biāo)左鍵時,將觸發(fā) MouseEvent 鍵盤事件, handleMove 對象將調(diào)用執(zhí)行 mousePressed( KeyEvent)方法對事件作出處理,即根據(jù)規(guī)則移動 block 對象 ? mouseReleased( MouseEvent)方法是 HandleMove 類實現(xiàn)的 MouseListener借口中的方法,當(dāng)用在 Block 對象上釋放鼠標(biāo)左鍵時,將觸發(fā) MouseEvent鍵盤事件, handleMove 對象將調(diào)用執(zhí)行 mouseReleased(MouseEvent)方法對事件作出處理,其主要操作時判斷用戶是否已經(jīng)成功地將 Block 對象按要求排列完畢 ? actionPerformed( ActionEvent)是 HandleMove 類實現(xiàn)的 ActionListener 借口中的方法。我們使用 Timer 類的構(gòu)造法國法 Timer( int a,Object b)創(chuàng)建了計時器 recordTime,其中的參數(shù) a 的單位是毫秒,確定計時器每隔 a 毫秒“振鈴”一次,參數(shù) b 是計時器的監(jiān)視器。在這里我們?nèi)?a=1000,監(jiān)視器 b 是當(dāng)前handleMove 對象。計時器方式的振鈴事件是 ActionEvent 類型事件,當(dāng)振鈴事 件 發(fā) 生 時 , 監(jiān) 視 器 就 會 監(jiān) 視 到 這 個 事 件 , 監(jiān) 視 器 就 調(diào) 用actionPerformed(ActionEvent)方法。當(dāng)振鈴每隔 1000 毫秒發(fā)生一次時,方法actionPerformed(ActionEvent)就被執(zhí)行一次,所執(zhí)行的操作就是現(xiàn)實用戶當(dāng)前的用時。 VerifySuccess 類 效果圖 沒有可見的效果圖。 UML 圖 VerifySuccess 創(chuàng)建的對象負(fù)責(zé)驗證用戶是否按要求成功排列魔板中的方塊,創(chuàng)建的對象 verifySuccess 是 PuzzlePad 類的重要成員之一 。標(biāo)明 VerifySuccess 類的主要成員變量和方法以及和 PuzzlePad 類之間組合關(guān)系的 UML 圖 15 所示。 2022 級程序設(shè)計綜合實驗報告 28 圖 15 VerifySuccess 類的 UML 圖 以下是 UML 圖中有關(guān)數(shù)據(jù)和方法的詳細(xì)說明。 1) 成員變量 ? point 是 Point 類型二維數(shù)組,用來存放 PuzzlePad 魔板容器中 point 數(shù)組的引用。 ? object 是 Object 數(shù)組,其單元可以存放任何對象。 2) 方法 ? VerifySuccess 對象調(diào)用 setPoint(Point[][])方 法將 PuzzlePad 魔板中的 point 對象的引用傳遞給該對象中的 point ? VerifySuccess 對象調(diào)用 setPoint(Object[][])方法可以將 PuzzlePad 魔板容器的Integer 數(shù)組或 Image 數(shù)組的引用傳遞給該對象中的 object ? VerifySuccess 對象調(diào)用 isSuccess()方法判斷用戶是否按要求成功排列魔板中的方塊,如果成功 isSuccess()方法返回 true;否則返回 false point:Point[][] object:Object[] PuzzlePad VerifySuccess verifySuccess:VerifySuccess setPoint(Point[][]):void setObject(Object[]):void isSuccess():boolean 2022 級程序設(shè)計綜合實驗報告 29 第三章 魔板游戲系統(tǒng)的具體實現(xiàn) 游戲主類的設(shè)計 主類主要定義了游戲界面的 布局,以及調(diào)用的一些類來實現(xiàn)游戲的進行。其主要的效果圖展示即為: 核心代碼展示: public PuzzleGame(){ tool=getToolkit()。//創(chuàng)建一個菜單條 bar=new JMenuBar()。 gradeMenu=new JMenu(選擇級別 )。//建立指定標(biāo)題為“選擇級別”的菜單 choiceImage=new JMenu(選擇圖像 )。//建立指定標(biāo)題為“選擇圖像”的菜單 oneGrade=new JMenuItem(初級 )。//建立指定標(biāo)題為“初級”的菜單選項 2022 級程序設(shè)計綜合實驗報告 30 twoGrade=new JMenuItem(高級 )。//建立指定標(biāo)題為“高級”的菜單選項 newImage=new JMenuItem(選擇一幅新圖像 )。//建立指定標(biāo)題為“選擇一幅新圖像”的菜單選項 defaultImage=new JMenuItem(使用默認(rèn)圖像 )。//建立指定標(biāo)題為“使用默認(rèn)圖像”的菜單選項 (oneGrade)。//向 gradeMenu 添加由參數(shù) oneGrade 指定的菜單選項對象 (twoGrade)。//向 gradeMenu 添加由參數(shù) twoGrade 指定的菜單選項對象 (newImage)。//向 choiceImage 添加由參數(shù) newImage 指定的菜單選項對象 (defaultImage)。//向 choiceImage添加由參數(shù) defaultImage指定的菜單選項對象 (gradeMenu)。//向 bar 菜單條添加由參數(shù) gradeMenu 指定的菜單選項對象 (choiceImage)。//向 bar 菜單條添加由參數(shù) choiceImage 指定的菜單選項對象 setJMenuBar(bar)。//設(shè)置菜單條里面的組件 魔板對象的實現(xiàn) 該游戲由數(shù)字或者圖像兩種選擇。同時,又有高級和級低的游戲選擇,因此我們需要通過一個程序來實現(xiàn)魔板的生成以及對象的實現(xiàn)。 生成的魔板顯示為: 主要代碼: public void setIsDigitPlay(){//將魔板設(shè)置為數(shù)字玩法 needInit()。 isDigitPlay=true。//當(dāng)魔板玩法是數(shù)字玩法時 ArrayListInteger numberList=new ArrayListInteger()。//創(chuàng)建方格的數(shù)字對象 for(int k=0。km*n1。k++){ (k+1)。 2022 級程序設(shè)計綜合實驗報告 31 } Object []object=()。 (object)。 (numberList)。 //隨機排列數(shù)字 int k=0。 for(int i=0。im。i++){ if(im1) for(int j=0。jn。j++){ block[i][j].setObject((k))。 k++。 } else for(int j=0。jn1。j++){ block[i][j].setObject((k))。 k++。 } } repaint()。 } 魔板中每一個小塊的形成以及圖片分割之后的對象的實現(xiàn): 效果如圖: 主要代碼顯示: public void setObject(Object object){//定義 setObject 類 =object。//this 代表使用該方法的當(dāng)前對象 if(object instanceof Integer){//條件判斷語句,滿足要求時執(zhí)行下列語句 Integer number=(Integer)object。 setText(+())。 } else if(object instanceof Image){//不滿足 if 條件語句是執(zhí)行的條件 2022 級程序設(shè)計綜合實驗報告 32 repaint()。 } } public Object getObject(){//創(chuàng)建該類 return object。//返回值 } 游戲使用時間的設(shè)計 智力類的游戲都會記錄下游戲所用的時間,魔板游戲?qū)儆谥橇︻愑螒蛑?,因此,對于時 間的記錄也將在我們的設(shè)計范圍之內(nèi)。實現(xiàn)的結(jié)果可以給游戲者一個提示。 時間顯示如下: 部分代碼: public void mousePressed(MouseEvent e) {//鼠標(biāo)事件 ()。//開始時間觸發(fā) Block block = null。//設(shè)置數(shù)據(jù)為空 block = (Block) ()。//調(diào)用 block 類 ...... for (int i = 0。 i 。 i++) {//用 for 循環(huán)來實現(xiàn)魔板游戲的進行 for (int j = 0。 j point[0].
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1