99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

COMP2396代做、代寫Tic-Tac-Toe Game設(shè)計(jì)編程

時(shí)間:2023-12-12  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)


This assignment tests your understanding on GUI, Java Socket Programming and the

COMP2396 Object-oriented programming and Java

Assignment 4: A two-player Tic-Tac-Toe Game

Due Date: 7th December 2023 23:59

application of multi-threading.

In this assignment, you are going to implement a two-player Tic-Tac-Toe Game. The

game would only start when the Tic-Tac-Toe Server runs and two players are connected

to the server. When the game starts, players need to input their player’s name first (i.e.,

the player cannot make any move if he/she does not enter his/her player’s name) (Fig.

1). Players are not allowed to re-input their names again once they have submitted their

names (i.e., the textboxes and the submit buttons should be disabled). In addition, their

names should be displayed in the frame’s title (i.e., change from Tic Tac Toe to Tic Tac

Toe-Player: (player’s name)) and the message title (located below the menu bar) should

change from “Enter your player name…” to “WELCOME (player’s name)” (Fig. 2).

Initial setting:

 

Fig. 1

After player enters his/her name:

Fig. 2

After entering the player’s name, the game would always be started by player 1 (the

player’s mark with a “x”)’s first move (i.e., player 2 (the player’s mark with a “o”)

cannot make his/her first move until player 1 makes his/her first move). If player 1’s

move is valid, his/her move would be marked as a “x” on the 3 x 3 board (The mark “x”

on the 3 x 3 board should be displayed on both player 1’s and player 2’s board). The

message title in the player 1’s board would be changed to “Valid move, wait for your

opponent.” while the message title in the player 2’s board would be changed to “Your

opponent has moved, now is your turn.”. Besides, player 1 is not allowed to make the

next move until his/her opponent moves (i.e., if player 1 makes the next move before

his/her opponent moves, it would be considered as an invalid move and nothing would

be displayed on the board). The turn would be switched to the opponent (this time player

2) and if player 2’s move is valid, it would be mark as a “o” on the 3 x 3 board on both

players. The message displayed in the message title of the player 2’s board would be

changed to “Valid move, wait for your opponent.” while the message title of the player

1’s board would be changed to “Your opponent has moved, now is your turn.” Similarly,

the turn would be switched to player 1 again and player 2 cannot make his/her next

move until player 1 makes the move (Fig. 3 & 4).

Fig. 3

Fig. 4

Criteria for a valid move:

- The move is not occupied by any mark.

- The move is made in the player’s turn.

- The move is made within the 3 x 3 board.

 

- Player 1 wins.

- Player 2 wins.

The game would continue and switch among the opposite player until it reaches either

one of the following conditions:

- Draw.

The winning condition is that when there is any row, column or diagonal that is filled

with the same mark (e.g., player 1 would win if there is any row, column or diagonal

that is filled with “x”, player 2 would win if there is any row, column or diagonal that

is filled with “o”). The game will draw if no players satisfy the winning condition after

all the board location is filled with mark. Once it reaches either one of the above

conditions, Message Dialog would be displayed on both players (the content of the

Message Dialog would be different, based on the condition reached, but all would

ask whether to restart the game.), both players cannot make further move, and

can select “Yes” to restart the game, or select “No” to exit the game. The

following screen captures show the Message Dialog displayed on the two players

when either one of the player wins (Fig. 5 & 6) or the game is draw (Fig. 7).

Fig. 5

Fig. 6

Fig. 7

In addition to the above, you also need to handle the case when one of the players left

during the game process. In this case, the game would terminate immediately (i.e., the

remaining player cannot make further move), a Message Dialog “Game Ends. One of

the players left.” would be displayed on the remaining player, as shown below in Fig.

8.

Fig. 8

Besides, as you can see in the screen captures, there is a JMenuBar which consists of 2

JMenu, named Control and Help (located above the message title). In the JMenu of

Control, it consists of a JMenuItem, named Exit while in the JMenu of Help, it consists

of a JMenuItem, named Instruction (Fig. 9 & 10). When the player clicks “Exit”, he/she

would exit from the game and the game would be terminated immediately. When the

player clicks “Instruction”, a Dialog Frame consists of some game information would

be displayed (Fig. 11).

 

Fig. 9 Fig. 10

Fig. 11

Important notes for the assignment:

1. In this assignment, you can assume both the server program and the client

programs run on local host (i.e., with IP address 127.0.0.1).

2. You can have your own design, but you must include the GUI components as

shown in the above screen captures and all the functionalities described in this

document should be implemented. To ensure your program has implemented all

necessary functions, please refer to the marking scheme below as for your

references.

3. This assignment will be marked by features (Your code would not be

investigated). You are required to write JavaDoc for all non-private classes and

non-private class member functions. Programs without JavaDoc will lead to

mark deduction. However, you don’t need to generate JavaDoc htmls. Just write

comment blocks in your source program.

4. You need to record a demo video of the program. The video should start before

 you run the program and include all the features your program.

5. After completing the assignment, please submit all files (including demo videos

 and java files) in a single compressed file (in .zip) to Moodle. Late submission

 is NOT allowed. Do NOT submit .class files.

6. You will get 0 mark if:

 You submit .class files instead of .java source files, or

 You submit java source files that are downloaded from the Internet, or

 You submit java source files from your classmates, or

 You submit java source files from friends taken this course last year.

Marking Scheme:

請(qǐng)加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機(jī)打開當(dāng)前頁(yè)
  • 上一篇:CSCI1540代做、代寫C++設(shè)計(jì)編程
  • 下一篇:代寫IERG 4130、代做c/c++設(shè)計(jì)編程
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    出評(píng) 開團(tuán)工具
    出評(píng) 開團(tuán)工具
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
    合肥機(jī)場(chǎng)巴士4號(hào)線
    合肥機(jī)場(chǎng)巴士4號(hào)線
    合肥機(jī)場(chǎng)巴士3號(hào)線
    合肥機(jī)場(chǎng)巴士3號(hào)線
    合肥機(jī)場(chǎng)巴士2號(hào)線
    合肥機(jī)場(chǎng)巴士2號(hào)線
    合肥機(jī)場(chǎng)巴士1號(hào)線
    合肥機(jī)場(chǎng)巴士1號(hào)線
  • 短信驗(yàn)證碼 豆包 幣安下載 AI生圖 目錄網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                蜜臀久久99精品久久久久久9| 久久99热99| 久久国产精品区| 欧美一级久久久久久久大片| 老司机精品视频线观看86| 欧美xxxx老人做受| 91在线视频观看| 青草国产精品久久久久久| 久久久91精品国产一区二区精品| 北条麻妃一区二区三区| 日韩电影在线一区| 中文字幕在线一区二区三区| 欧美亚洲综合在线| 国产精品综合一区二区三区| 亚洲精品视频一区| 久久精品一区四区| 欧美裸体一区二区三区| 国产成人av一区二区三区在线观看| 18成人在线视频| 精品国产污网站| 欧洲一区在线观看| 国产福利精品一区| 日韩专区中文字幕一区二区| 国产精品毛片久久久久久久| 日韩欧美国产综合一区| 色成人在线视频| 成人在线视频一区二区| 日精品一区二区| 亚洲欧美另类小说视频| 精品精品国产高清a毛片牛牛| 色哟哟欧美精品| 99视频国产精品| 国产99精品国产| 韩国在线一区二区| 婷婷成人激情在线网| 亚洲黄色片在线观看| 国产精品电影一区二区三区| 精品国产一区二区三区久久久蜜月| 欧美三级三级三级爽爽爽| 91亚洲精品久久久蜜桃网站| 国产成人av电影免费在线观看| 秋霞午夜av一区二区三区| 亚洲午夜久久久| 亚洲一区二区av在线| 一区二区三区在线影院| 亚洲三级在线免费观看| 中文字幕一区二区三区在线播放 | 欧美视频一区在线观看| av在线不卡网| 成人动漫一区二区| 成人天堂资源www在线| 福利一区二区在线| 成人一区二区三区中文字幕| 国产福利电影一区二区三区| 国产一区欧美二区| 国产精品一区二区三区乱码 | 免费在线看一区| 午夜成人免费视频| 视频一区视频二区中文| 强制捆绑调教一区二区| 久久超级碰视频| 激情久久五月天| 成人国产一区二区三区精品| av亚洲精华国产精华精华| 99久久精品99国产精品| 97se狠狠狠综合亚洲狠狠| 欧美偷拍一区二区| 日韩一卡二卡三卡四卡| 亚洲精品在线一区二区| 亚洲国产精华液网站w| 亚洲蜜臀av乱码久久精品| 亚洲成av人片一区二区| 狠狠色综合播放一区二区| 国产精品一区免费视频| bt7086福利一区国产| 欧美日韩不卡一区二区| 欧美r级在线观看| 中文字幕在线免费不卡| 天堂一区二区在线| 国产精品99久久久久| 色婷婷av一区二区| 日韩三级.com| 亚洲欧美另类久久久精品| 日本不卡一区二区| 国产午夜精品久久久久久免费视| 天堂在线一区二区| 欧美精品v日韩精品v韩国精品v| 国产精品热久久久久夜色精品三区 | 亚洲欧美一区二区三区极速播放| 亚洲成a天堂v人片| 丁香天五香天堂综合| 欧美精品一二三四| 中文字幕巨乱亚洲| 美女网站视频久久| 在线欧美小视频| 国产精品国产a| 黄色精品一二区| 在线播放91灌醉迷j高跟美女| 国产亚洲午夜高清国产拍精品| 亚洲欧美电影一区二区| 国产在线一区观看| 欧美精品电影在线播放| 亚洲精品视频自拍| 成人高清在线视频| 欧美成人一区二区| 亚洲va国产天堂va久久en| 99久久婷婷国产综合精品电影| 欧美日韩国产一级| 一区二区三区精品在线观看| 国产成人亚洲综合a∨婷婷图片| 宅男噜噜噜66一区二区66| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲sss视频在线视频| 日本乱码高清不卡字幕| 欧美韩国日本综合| 国产成人自拍网| 久久精品水蜜桃av综合天堂| 激情综合色播五月| 日韩欧美成人午夜| 麻豆成人免费电影| 精品免费99久久| 极品美女销魂一区二区三区 | 欧美精品久久一区二区三区| 樱桃国产成人精品视频| 972aa.com艺术欧美| 亚洲人精品一区| 91黄色激情网站| 亚洲第一av色| 日韩一区二区影院| 久久国产综合精品| 久久综合国产精品| 国产高清不卡一区| 中文字幕一区二区三区视频| av中文字幕在线不卡| 国产日韩欧美高清在线| 蜜桃av一区二区| 精品国产在天天线2019| 国产曰批免费观看久久久| 欧美国产成人精品| 91视频xxxx| 日韩福利视频导航| 久久精品这里都是精品| 91香蕉视频mp4| 天天操天天干天天综合网| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品美女www爽爽爽| 99国产精品久久久久久久久久久 | 午夜精品久久久久久久蜜桃app| 欧美在线观看一二区| 久久综合综合久久综合| 国产精品私房写真福利视频| 欧美亚洲一区三区| 国产一区二区h| 亚洲自拍偷拍麻豆| 久久久久久夜精品精品免费| 一本高清dvd不卡在线观看 | 男女性色大片免费观看一区二区 | 精品久久久三级丝袜| 99精品视频在线观看| 日韩二区三区在线观看| 中文字幕av一区 二区| 蜜臀av性久久久久av蜜臀妖精| 国产日韩欧美亚洲| 中文字幕av一区 二区| 欧美激情一区二区三区在线| 久久精品一区二区| 日本一区二区三区四区| 国产午夜一区二区三区| 久久久国产综合精品女国产盗摄| 精品国产三级电影在线观看| 久久免费精品国产久精品久久久久| 日韩一级完整毛片| 精品美女一区二区三区| 久久综合色8888| 国产午夜亚洲精品理论片色戒 | 粉嫩嫩av羞羞动漫久久久 | 91小视频在线| 在线观看日韩一区| 欧美一区二区三区不卡| 久久久天堂av| 亚洲免费观看高清完整版在线| 亚洲尤物视频在线| 日韩激情视频在线观看| 国产河南妇女毛片精品久久久| av不卡在线观看| 欧美性感一区二区三区| 91精品国产综合久久香蕉麻豆 | 亚洲国产一区二区三区青草影视 | 国产精品久久久久久久岛一牛影视 | 久久精品国产亚洲高清剧情介绍 | 91精品国产免费久久综合| 欧美一级黄色录像| 国产欧美一区二区精品性色 | 日韩av一级片| 亚洲国产aⅴ天堂久久| 中文字幕在线播放不卡一区| 成人一区在线观看| 成人免费毛片a| 91精品国产色综合久久| 综合久久一区二区三区|