最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

javaSwing猜單詞游戲GUI加控制臺(tái)CLI

2023-05-04 10:11 作者:代碼不用程序員寫  | 我要投稿


?javaSwing猜單詞游戲GUI加控制臺(tái)CLI




系統(tǒng)介紹 :


環(huán)境要求:

1、java

2、swing

3、控制臺(tái)

4、io

對(duì)于本程序,您將用Java制作兩個(gè)版本的游戲Wordle。一個(gè)版本將具有圖形用戶界面(GUI),而另一個(gè)版本則具有命令行界面(CLI)。GUI版本將根據(jù)模型-視圖-控制器(mvc)的原理構(gòu)建,CLI版本將使用相同的模型。從現(xiàn)在起,這兩個(gè)版本將被稱為GUI版本和CLI版本。

玩家必須在六次或更少的嘗試中猜出一個(gè)五個(gè)字母的單詞。一旦輸入單詞(并按下回車鍵),每個(gè)字母瓦片的背景顏色將變?yōu)樯罨疑?,表示在所需單詞中找不到字母,金色表示在單詞中找到字母但不在所指示的位置,綠色表示在該位置找到字母;一個(gè)字母在一個(gè)單詞中可以出現(xiàn)不止一次。輸入的單詞必須是有效的英語單詞。一旦猜到了單詞,游戲就會(huì)停止。一旦玩家進(jìn)行了六次嘗試,游戲也將停止。


功能要求:

1.?對(duì)于GUI版本,不需要顯示確認(rèn)消息來解釋玩家已經(jīng)贏了(猜對(duì)了單詞)或輸了(猜錯(cuò)了),因?yàn)閺淖詈笠恍刑畛涞姆綁K顏色中可以清楚地看到游戲狀態(tài)。對(duì)于CLI版本,需要一條確認(rèn)消息,指示玩家已獲勝或失敗。

2.?程序的行為應(yīng)由三個(gè)標(biāo)志控制。如果設(shè)置了一個(gè)標(biāo)志,則如果單詞不在已知單詞列表中,則應(yīng)顯示一條錯(cuò)誤消息;這將不算是一次嘗試。如果設(shè)置了另一個(gè)標(biāo)志,則應(yīng)顯示要猜測(cè)的單詞以進(jìn)行測(cè)試。如果設(shè)置了第三個(gè)標(biāo)志,則應(yīng)使單詞被隨機(jī)選擇。如果未設(shè)置,該單詞將被固定。標(biāo)志應(yīng)該在模型中,它們?cè)谶\(yùn)行時(shí)沒有必要是可變的。

3.?模型應(yīng)該加載一個(gè)五個(gè)字母的單詞列表,從中可以選擇目標(biāo)單詞,以及一個(gè)更大的五個(gè)字母單詞列表,這些單詞不是目標(biāo)單詞,但是有效的猜測(cè)。列表應(yīng)該是從固定位置加載的兩個(gè)獨(dú)立文件,并提供給您;換句話說,沒有必要詢問用戶文件存儲(chǔ)在哪里。

4.?GUI版本的程序應(yīng)響應(yīng)字母表中每個(gè)字母的按鍵、退格(刪除非空行上最后鍵入的字母)和回車(指示當(dāng)前行上的單詞是用戶的猜測(cè))。這可以通過文本字段或其他方式來完成。GUI應(yīng)該顯示一個(gè)鍵盤,如果發(fā)現(xiàn)字母沒有出現(xiàn)在單詞中,則字母顯示為深灰色;如果找到了字母的正確位置,則顯示為綠色;如果猜到了字母,但從未在正確位置顯示為金色。請(qǐng)參閱以下示例;此功能類似于網(wǎng)站上顯示的GUI。CLI應(yīng)通過按字母順序列出四個(gè)獨(dú)立類別中的字母來指示可用的字母。

5.?GUI版本應(yīng)該有一個(gè)按鈕來請(qǐng)求新游戲,只有在做出第一個(gè)有效猜測(cè)后才能啟用。對(duì)于CLI版本,這不是必需的。

?

注意事項(xiàng):

1.?GUI版本和CLI版本應(yīng)該是兩個(gè)獨(dú)立的程序,即應(yīng)該有兩個(gè)文件,每個(gè)文件中都有一個(gè)主方法,運(yùn)行哪個(gè)文件決定激活哪個(gè)版本。

2. GUI版本必須根據(jù)MVC的原則構(gòu)建,如下所述。由于這一要求,屬于視圖但放置在模型中的代碼通常不會(huì)計(jì)入視圖的標(biāo)記。類似的規(guī)則也適用于其他錯(cuò)位的代碼。

3. CLI版本將直接使用GUI版本的Model部分,而不使用View或Controller;也不應(yīng)該定義新的View或Controller。

4. 代碼必須用斷言、單元測(cè)試、類圖和注釋進(jìn)行記錄,如下所述。該模型還應(yīng)該有一個(gè)常數(shù)來指示允許的猜測(cè)次數(shù)。

?

評(píng)分標(biāo)準(zhǔn):

1.?模型。這應(yīng)該有一個(gè)設(shè)計(jì)為方便Controller、View和JUnit類使用的接口,沒有多余的公共方法,沒有對(duì)兩個(gè)類的引用,也不包含GUI代碼。它可能由幾個(gè)類組成,但必須有一個(gè)名為Model或類似的類來提供接口,并且這個(gè)類應(yīng)該擴(kuò)展Observable。還應(yīng)在模型中進(jìn)行文件讀取。

2.?控制器。這應(yīng)該只向模型轉(zhuǎn)發(fā)有效的請(qǐng)求,必要時(shí)查詢模型以確定請(qǐng)求是否有效,并且還必須啟用/禁用功能需求中如上所述的按鈕。它必須沒有GUI代碼,盡管它可能會(huì)向視圖發(fā)送消息。

3.?使用Swing框架的GUI版本視圖。它應(yīng)該實(shí)現(xiàn)Observer,因此有一個(gè)在Model更改時(shí)調(diào)用的更新方法。

4.?帶有斷言的模型規(guī)范。這應(yīng)該包括類的不變量以及模型中每個(gè)公共方法的前置和后置條件。

5.?JUnit中模型的單元測(cè)試。應(yīng)該有三個(gè)測(cè)試,彼此明顯不同。你應(yīng)該在評(píng)論中解釋你正在測(cè)試的情況。您應(yīng)該對(duì)模型使用write(然后調(diào)用)方法,將其設(shè)置為測(cè)試所需的狀態(tài)。通過讀取單元測(cè)試的代碼,應(yīng)該可以很容易地看到模型被設(shè)置為什么狀態(tài)。

6.?注意添加注釋。同時(shí)按照代碼規(guī)范來書寫代碼!這部分占10分!

類圖。這應(yīng)該顯示Model、View和Controller是如何相互關(guān)聯(lián)的,以及它們?nèi)绾闻cObservable等庫類交互。

?開始游戲




“?


功能介紹




勝利


控制臺(tái)端


都在圖里


發(fā)送編號(hào)獲取項(xiàng)目

202304271348








javaSwing猜單詞游戲GUI加控制臺(tái)CLI的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
得荣县| 普兰店市| 南康市| 霞浦县| 郑州市| 新蔡县| 曲阜市| 海盐县| 镇雄县| 长垣县| 萨嘎县| 富蕴县| 友谊县| 祁连县| 临城县| 鹿邑县| 天柱县| 鄂州市| 长子县| 长沙县| 手游| 鄂伦春自治旗| 启东市| 舒兰市| 宁化县| 沭阳县| 泌阳县| 修文县| 济南市| 双流县| 德兴市| 上高县| 颍上县| 朔州市| 睢宁县| 望都县| 陈巴尔虎旗| 祁阳县| 渭源县| 丰城市| 洛川县|