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;">

                欧美tk丨vk视频| 欧美tickling挠脚心丨vk| 日韩一级视频免费观看在线| 一区二区三区不卡视频| 91福利资源站| 亚洲va国产va欧美va观看| 91精品国产综合久久福利| 久久精品理论片| 国产女人水真多18毛片18精品视频| 国产精品一区二区在线看| 成人欧美一区二区三区白人 | 国产精品欧美极品| 色综合咪咪久久| 麻豆国产欧美一区二区三区| 日本一区二区三区电影| 在线免费亚洲电影| 日本欧美久久久久免费播放网| 久久久国产午夜精品| 欧美性猛交一区二区三区精品| 狠狠色丁香婷婷综合| 一区二区三区四区精品在线视频| 日韩精品中文字幕在线不卡尤物| 91蜜桃在线免费视频| 九九在线精品视频| 丝袜国产日韩另类美女| 亚洲欧美日韩国产一区二区三区| 欧美大片在线观看一区二区| 色综合久久久久综合99| 国产精品亚洲午夜一区二区三区| 婷婷一区二区三区| 一区二区三区四区不卡在线 | 亚洲精品国产一区二区三区四区在线| 91精品视频网| 欧美三级午夜理伦三级中视频| 国内不卡的二区三区中文字幕 | 国产区在线观看成人精品| 欧美高清www午色夜在线视频| 99国产精品99久久久久久| 国产乱淫av一区二区三区| 日本特黄久久久高潮| 亚洲电影视频在线| 一区二区三区在线播| 亚洲欧洲日本在线| 国产精品美女久久福利网站| 久久久www成人免费无遮挡大片| 宅男在线国产精品| 欧美日韩一区精品| 欧美日韩日日摸| 欧美日本一区二区在线观看| 欧美色图免费看| 欧美亚洲国产一区在线观看网站| 91啪亚洲精品| 91视频在线观看免费| 成人av高清在线| 91在线视频在线| 色菇凉天天综合网| 欧美区在线观看| 日韩美女在线视频| 国产人伦精品一区二区| 1000部国产精品成人观看| 亚洲丝袜另类动漫二区| 一区二区三区在线视频播放| 亚洲大片免费看| 日本麻豆一区二区三区视频| 麻豆一区二区在线| 国产福利精品一区二区| 成人a区在线观看| 日本电影欧美片| 欧美蜜桃一区二区三区| 日韩写真欧美这视频| 久久女同精品一区二区| 国产精品嫩草影院av蜜臀| 一二三四社区欧美黄| 日韩精品免费专区| 国产一区二区网址| 91丝袜美女网| 日韩免费视频一区二区| 亚洲色图欧美激情| 免费高清在线一区| 99精品国产99久久久久久白柏| 精品视频全国免费看| 国产欧美日韩视频在线观看| 夜夜精品视频一区二区| 黄色小说综合网站| 色哟哟欧美精品| 久久女同互慰一区二区三区| 一级做a爱片久久| 国产一区二区三区四| 欧美在线免费播放| 日本一区二区三区久久久久久久久不| 亚洲影视在线播放| 豆国产96在线|亚洲| 欧美精品色一区二区三区| 国产精品乱码一区二区三区软件| 丝袜脚交一区二区| 99re亚洲国产精品| 国产清纯在线一区二区www| 日韩一区欧美二区| 欧亚洲嫩模精品一区三区| 亚洲国产成人一区二区三区| 日本不卡一区二区三区高清视频| 92国产精品观看| 国产亚洲欧美日韩日本| 日韩高清不卡一区二区三区| 色综合久久中文综合久久牛| 国产精品欧美一区喷水| 久久99久久99小草精品免视看| 91免费版在线| 亚洲三级免费电影| 成人在线综合网| 欧美激情综合在线| 精品写真视频在线观看| 日韩一区二区免费在线电影| 亚洲第一福利一区| 欧美日韩一区中文字幕| 一区二区三区四区精品在线视频| av激情亚洲男人天堂| 国产精品国产三级国产aⅴ原创| 久久草av在线| 欧美不卡一区二区三区| 韩国精品久久久| 久久综合色婷婷| 国产一区二区三区| 国产精品麻豆一区二区| 99re66热这里只有精品3直播| 国产女主播在线一区二区| 国产成人午夜精品影院观看视频| 精品99一区二区| 成人理论电影网| 亚洲另类中文字| 欧美日本一道本| 精品一区二区三区在线观看国产| 日韩写真欧美这视频| 国产一区二区看久久| 国产欧美日韩另类一区| 91亚洲永久精品| 亚洲成在线观看| 欧美大胆人体bbbb| 国产乱对白刺激视频不卡| 国产亚洲综合在线| 不卡在线观看av| 亚洲与欧洲av电影| 日韩视频免费观看高清完整版在线观看| 免费成人在线网站| 国产喷白浆一区二区三区| 色悠悠亚洲一区二区| 日本不卡一二三| 一区视频在线播放| 欧美三级中文字幕| 国产精品一区久久久久| 亚洲精品中文在线影院| 精品国产伦一区二区三区观看方式| 国产成人精品三级| 亚洲图片一区二区| 国产偷国产偷精品高清尤物 | 91精品国产乱| 国产精品夜夜嗨| 亚洲第一av色| 国产精品蜜臀av| 这里只有精品99re| 99精品一区二区| 久久国产精品无码网站| 亚洲啪啪综合av一区二区三区| 在线成人av网站| av激情综合网| 韩国女主播一区| 视频在线观看91| 亚洲欧洲日本在线| 久久久精品欧美丰满| 在线观看区一区二| 懂色av噜噜一区二区三区av| 日韩和欧美一区二区三区| 亚洲三级免费观看| 国产日韩欧美一区二区三区综合| 欧美视频第二页| 91丨porny丨在线| 成人av资源在线| 国产精品一级片在线观看| 免费看黄色91| 日韩电影在线一区二区三区| 亚洲丝袜美腿综合| 中文字幕免费不卡| 久久久久久久久久久久久久久99| 欧美日韩免费不卡视频一区二区三区 | 欧美在线视频你懂得| 国产·精品毛片| 国产精品1024| 国产在线视频不卡二| 欧美aaaaaa午夜精品| 日日嗨av一区二区三区四区| 亚洲女性喷水在线观看一区| 欧美国产综合色视频| 欧美精品一区二区三区在线播放| 欧美性猛交一区二区三区精品 | 高清国产一区二区| 久久99这里只有精品| 久久国产生活片100| 精品亚洲porn| 国产91精品入口| 成人av免费在线观看|