張廣海 鄭柳霞


摘要:隨著科技與經濟的發展,PC端游戲的發展越來越快,近年來中國端游用戶規模走勢也在逐步上升。本文利用Java程序設計并實現一個有趣的益智類2048PC版游戲,主要是利用Java中的swing組件創建了游戲主界面和Java提供的JFrame、TimerTask等類實現了相應的功能。玩家可以通過鍵盤來控制滑塊的移動方向,當滑塊中的數字達到指定數字2048后,游戲即視為勝利。
關鍵詞:Java 益智 2048PC版游戲
引言
近幾年來,網絡中益智好玩有趣的小游戲被廣大民眾所喜愛,得到很大的推廣由于此類游戲可以降低生活節奏、緩減生活和減輕工作中的精神壓力,得到啟發的我設計了一款好玩有趣的游戲2048。它的界面簡單明了,易于操作,且做到了將知識、趣味和娛樂三者統一。目前市面上的2048小游戲的游戲模式只有4x4模式,而且游戲本身選擇性較少,玩家無法享受到更多的趣味性。本文在原有的基礎上增加了計時、步數的統計和模式的選擇,讓玩家有更多的選擇性和增加適當的趣味性。在當今社會上,網端游戲越來越流行,成為現在游戲產業的重要產業之一。此類小游戲是一種需要玩家積極調動大腦去思考從而獲得勝利的游戲,可以使玩家在放松的娛樂中鍛煉思維能力。這樣一來就實現了在娛樂中學習。
1設計
1.1游戲算法規則設計
(1)玩家登陸,游戲界面初始模式是4x4模式,玩家可自由在菜單欄中進行模式選擇可以設置為5×5模式當玩家點擊開始游戲時,游戲界面內將會在隨機的兩個方塊中出現數字,且出現的數字僅為2或4;
(2)玩家可自行選擇在上下左右四個方向上進行移動,一步一格,如果遇到相同的數字,即可合并,且此時方塊中的數字為當前數字的兩倍,不相同則只將兩個數字所存在的方格移動到一起。
(3)玩家只有在選擇方向上的行或列的前方有空格,移動才視為有效,反之此操作視為無效,游戲界面不發生任何變化。
(4)玩家每有效的移動一步,游戲界面中所剩的空白方塊中的其中一個方塊內將會隨機出現數字2或者4。
(5)如果游戲界面被數字填滿,無法進行移動且數字合并的情況下,則視為游戲結束,界面中將會彈出游戲總分和玩家所玩時間。若玩家合并出數字2048,則視為游戲勝利,總分和時間將計人數據庫中。
1.2游戲模式選擇流程圖
圖2.1所示為系統模式選擇流程圖。
2 系統的詳細實現
2.1 類的設計
本文中設計的2048小游戲,用到了一些Java所提供的類,來幫助實現游戲中相應的某些功能,如游戲中的音樂播放、模式的選擇和游戲暫停等部分。在游戲源程序中以JFrame類、TimerTask類為父類,其余類為子類,其中JFrame由Exl類、Ex2類、Test4類、Test4類和Mytest類繼承。而TimerTa sk由MyTask
和MyTaskl兩個類繼承。
2.2游戲的主界面的實現
點擊“開始游戲”按鈕,在游戲主界面菜單中可以選擇模式、關閉背景音樂以及查看游戲規則和玩法技巧,如圖3.1所示。
3結束語
本文設計的2048小游戲,參照傳統市面上的網格布局,做出了相應的修改和調整。與傳統游戲不同的是,首先增加了計時、步數的統計和游戲模式的選擇,使得游戲界面更簡單且易操作。其次玩家可根據游戲技巧和幫助,快速掌握游戲精髓。最后本游戲增加了難度、提高了趣味性,適宜于不同人群娛樂消遣。但是本文設計的小游戲還有一些不足,如不能變換顏色,在后續的學習研究中將進一步進行深入探討。
參考文獻
[1]朱亞玲,張睿敏,基于Java的連連看游戲設計與實現[J].數字技術與應用,2016(3):161-162.
[2]齊燕.Java語言圖形編程工具的設計及應用[J].科技傳播,2017(4).
[3]沈旭.基于Android的2048手機游戲App設計與實現[J].計算機時代,2017(8):29-31
[4]蘭偉,基于JAVA的象棋游戲設計與實現[J].襄陽職業技術學院學報,2016,15(3): 2224.
[5]孫佳美,基于Java飛機大戰的設計與實現[J].無線互聯科技,2016(1):54-55.