999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JAVA的拼圖游戲開發

2021-07-25 11:00:37管敏
科技尚品 2021年3期

管敏

摘 要:文章基于JAVA的拼圖游戲開發進行設計,主要運用JAVA中繪制圖形界面的Swing包進行拼圖游戲界面設計,通過設計圖片移動算法實現拼圖游戲主體功能滑塊移動的實現以獲得圖片按鈕移動功能。在進行菜單功能設計時,使用了監聽方法使得菜單按鈕能夠正常使用,并使用lang包中的異常處理類以及線程類進一步優化拼圖游戲界面,最后提出了一些界面算法優化的問題。

關鍵詞:Swing包;拼圖游戲;圖片移動算法;lang包

中圖分類號:TP312 文獻標識碼:A文章編號:1674-1064(2021)03-044-02

DOI:10.12310/j.issn.1674-1064.2021.03.020

拼圖游戲的趣味源遠流長[1]。拼圖游戲深受大眾喜愛,不僅有趣休閑,還能鍛煉人的思維能力。隨著計算機、手機的普及,人們已不再滿足于線下拼圖游戲。從玩家角度來看,線上拼圖游戲不僅操作方便,而且可以通過提升游戲難度激起讀者的挑戰心。拼圖游戲對兒童的成長十分有利,在娛樂游戲盛行的游戲市場,拼圖等益智類小游戲似乎更適合兒童使用。從編程初學者來說,課堂上以做拼圖游戲項目為中心進行有關JAVA的學習,更加吸引人,有利于提高學生的學習興趣[2],進而對JAVA進行深入研究[3]。

1 JAVA Swing簡介

其是用來設計界面的工具包,是對AWT包的擴展,組件以J開頭,并且Swing界面在不同平臺上的外觀完全一樣,真正做到了平臺獨立,可以用來對拼圖游戲的圖形用戶界面進行設計[4-5]。

2 拼圖游戲的設計過程及功能驗證

2.1 拼圖游戲設計流程

首先,采用從整體到局部的面向對象設計方法,以拼圖游戲軟件功能為核心,對拼圖游戲軟件進行分析、設計、實現。

其中,搭建游戲界面使用的是容器知識點,容器使用頂級容器和中層容器進行搭建。其次,使用布局進行界面劃分,拼圖需要把圖分成等分的幾部分。要使得拼圖游戲能夠進行,就必須使各個部分的圖片發生交換,這時需要設計圖片交換算法。

最后,對功能部分進行設置。首先設置的就是菜單欄,以及菜單欄中的菜單項,包括菜單、菜單中的開始、結束、查看背景圖片以及選擇等五個按鈕鍵。而在程序設計時,分四個部分寫程序,分別為圖片切割程序、頂級容器界面、中級容器界面、按鈕界面。然后就是計算時間以及步數。計算時間以及步數需要用到線程知識,注意一下小細節,就是需要設置更換圖片以及進行等級后清零的設置,拼圖游戲設計流程如圖1所示。

2.2 拼圖游戲界面設計

首先進行整體面板布局。直接使用Jframe類下的setTitle()、setDefaultCloseOpearation()、setLocationRelativeTo()、setSize()、setResizable()方法分別設置窗口的標題、關閉圖標、在屏幕的位置、窗口大小以及是否由用戶更改窗口的大小。然后創建中間容器,添加到頂層容器內,再創建基本組件,添加到中間容器內。整體界面搭建好后,對游戲界面進行布局,此次拼圖游戲采用網格布局GridBayLayout,即將中間容器設置為表格布局,然后設置按鈕的圖片背景,最后添加按鈕組件至中間容器。

其次,進行圖片切割算法設計。使用圖片切割方法cutImage,先創建相應的圖片文件夾,放置原始圖片至文件夾,然后調用方法,生成切割文件至相應目錄。

在進行圖片移動算法設計前,先用random隨機生成器隨機打亂圖片的順序。先創建放置圖片順序的隨機數組,根據隨機數組生成圖片位置,創建按鈕組件,并為按鈕設置圖表,添加按鈕組件至中間容器Jpanel。實現按鈕組件的移動,根據拼圖游戲的規則,就是點擊空白按鈕相鄰的圖片按鈕,使得空白按鈕和圖片按鈕發生交換。移動算法設計的步驟:

按鈕對象設計繼承于JButton,使得其具有橫縱坐標屬性,主要用于判斷空白按鈕的周邊按鈕是否為鄰近按鈕;

獲得空白按鈕的橫縱坐標;

獲得點擊按鈕的橫縱坐標;

判斷點擊按鈕是否與空白按鈕相鄰[6]。

下一步進行菜單組件的繪制。首先創建菜單JMenu、菜單欄JMenubar以及菜單項JMenuItem,然后進行菜單各功能的設計。為了實現功能,對菜單和菜單項添加監聽。

最后一步在設置時間和步數的顯示前,先對菜單欄的開始和結束按鈕功能進行設計。開始按鈕可獲得設置的圖片及難度級別,進行圖片切割,然后為按鈕設置監聽。而結束按鈕則是當所有按鈕的坐標位置和隨機數組的位置相符時,則拼圖成功,游戲結束。時間和步數就是設置兩個菜單項,然后對其進行線程設置,能夠使其在開始游戲時進行執行。而在開始后,能夠重置時間與步數[7]。

2.3 拼圖游戲功能實現及驗證

在進行拼圖游戲的過程中,程序運行結果框中出現了圖片的原始順序,但是在移動滑塊的時候,并沒有根據算法的基本思路運行,而是未完成拼圖就顯示了“拼圖完成”的消息框。原算法的思路如下:隨機打亂圖片順序,然后移動圖片滑塊,當圖片滑塊的順序與按鈕的順序相同時,即按鈕的順序是0~9,而圖片滑塊的順序是亂序。當亂序變成順序,與按鈕順序一一對應時,則表示拼圖完成,如圖2所示。

在進行拼圖游戲的過程中,時間與步數正常顯示。

選擇另一個能夠正常進行拼圖游戲的代碼進行算法思路比較。

對比結果顯示:數組維度的區別。

點擊“菜單”下的“背景”,則背景圖片正常顯示。

點擊“選擇”,然后點擊“圖片更換”,最后點擊“開始”,則此功能正常使用、無異常,并且時間與步數會清零。

點擊“選擇”,然后進行“等級”切換,點擊“開始”,切換正常,并且時間與步數正常清零。

3 結語

目前,對于拼圖游戲的開發并不局限于JAVA,還包括各類語言如C#、matlab等,不過主要以JAVA為主。但是,JAVA在開發拼圖游戲時還存在一些算法優化問題:判斷游戲是否結束的算法,以及圖片問題:圖片大小根據窗口大小進行縮放。

在開發JAVA的過程中,出現了必須要將窗口大小設置成圖片大小的情況,當插入的圖片大小不同時,怎么控制圖片大小根據窗口大小進行調整呢?再者,判斷拼圖游戲完成的算法在思路上并未有什么問題,但是在實施的情況下,卻出現了圖片還未拼成原圖就顯示“拼圖完成”的信息提示框。

根據第二個問題,對比了一個拼圖游戲開發的代碼,發現兩者的區別在于數組維度的區別,兩者都是通過位置對比的算法進行判斷拼圖是否完成。而通過二維數組進行位置對比時,游戲能夠正常識別出拼圖是否完成。而一維數組卻不能識別,甚至出現任意位置都可顯示拼圖完成。

由于開發游戲時使用的是JAVA語言,所以這個拼圖軟件可以在很多平臺上運行,比如PC端以及安卓系統等,在各個系統上都可兼容。

參考文獻

[1] 宋愛新,桂鵬飛.基于MFC的數字拼圖游戲設計與實現[J].智慧密集,2015(18):35-38.

[2] 劉立云,趙慧勤.基于自主探究理念的拼圖教育游戲的設計開發[J].數字社區,2017(20):70-71.

[3] 余戰秋.基于App Inventor的九宮格拼圖游戲設計與實現[J].智慧密集,2017(18):34-36.

[4] 茍雨晴,蘭全祥.基于Java的拼圖游戲設計與實現[J].電腦知識與技術,2019,2(15):45-47.

[5] 秦鵬珍.基于Java的拼圖游戲實現[J].電子技術與軟件工程,2019(13),237-238.

[6] 張國榮.拼圖游戲APP的設計與實現[J].電腦知識與技術,2019,3(15):1009-3044.

[7] 劉丹.基于Android的拼圖游戲設計與實現[J].湖北理工學院學報,2019,6(35):2095-4565.

主站蜘蛛池模板: 日韩AV手机在线观看蜜芽| 久久国产精品嫖妓| av天堂最新版在线| 99精品高清在线播放| 精品福利网| 国产成+人+综合+亚洲欧美| 国产激情影院| 欧美激情首页| 欧美一级在线看| 国产粉嫩粉嫩的18在线播放91| 九九久久精品免费观看| 亚洲精品天堂在线观看| 性激烈欧美三级在线播放| 亚洲aⅴ天堂| 色婷婷啪啪| 男人天堂亚洲天堂| 亚洲一级毛片免费看| 丰满少妇αⅴ无码区| 91久久精品日日躁夜夜躁欧美| 国产成人综合日韩精品无码首页 | 国产一二视频| 99热这里只有免费国产精品| 91破解版在线亚洲| 日韩黄色大片免费看| 国产一二视频| 精品国产电影久久九九| 尤物国产在线| 在线免费观看a视频| 国产精品va免费视频| 欧美日本在线一区二区三区| 国产精品va免费视频| 国产无遮挡猛进猛出免费软件| 久久动漫精品| 亚洲欧美日韩综合二区三区| 国产一区二区三区精品欧美日韩| 妇女自拍偷自拍亚洲精品| 亚洲中文字幕日产无码2021| 欧美黑人欧美精品刺激| 色综合热无码热国产| 亚洲AV无码乱码在线观看代蜜桃| 国产超碰在线观看| 91在线激情在线观看| 91精品国产丝袜| 亚洲AⅤ永久无码精品毛片| 国产白浆在线| 免费无码AV片在线观看中文| 亚洲一区网站| 国产精品无码AV中文| 色婷婷国产精品视频| 毛片免费网址| 欧美精品v欧洲精品| 欧亚日韩Av| 久久综合色播五月男人的天堂| 欧美一区二区精品久久久| 毛片在线播放网址| 国产乱子伦无码精品小说| 91青青草视频| 国产麻豆精品久久一二三| 国产麻豆va精品视频| 欧美国产成人在线| 九色91在线视频| 高清欧美性猛交XXXX黑人猛交| 尤物国产在线| 亚洲中文无码av永久伊人| 成人小视频在线观看免费| 一本大道香蕉久中文在线播放| 久久亚洲天堂| 高h视频在线| 亚洲AV成人一区国产精品| 五月综合色婷婷| 亚洲精品视频在线观看视频| 40岁成熟女人牲交片免费| 日韩天堂在线观看| 99在线观看精品视频| 40岁成熟女人牲交片免费| 67194亚洲无码| 成人免费午间影院在线观看| 伊人精品视频免费在线| 色网站在线免费观看| 国产美女叼嘿视频免费看| 无码日韩视频| 国产日产欧美精品|