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爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          日韩视频二区| 亚洲成色www久久网站| 欧美一区二区视频在线观看2020| 国产精品麻豆成人av电影艾秋| 性欧美超级视频| 尤物九九久久国产精品的分类| 猛男gaygay欧美视频| 亚洲久久一区| 国产色爱av资源综合区| 免播放器亚洲一区| 亚洲图片自拍偷拍| 黄色成人免费观看| 欧美精品福利在线| 欧美一区二区高清在线观看| 在线欧美福利| 国产精品sss| 久久久久久亚洲精品杨幂换脸 | 一区二区三区你懂的| 国产美女诱惑一区二区| 美女黄色成人网| 亚洲欧美变态国产另类| 亚洲第一区在线观看| 国产精品av免费在线观看 | 久久成人精品电影| 亚洲免费精彩视频| 黄色日韩网站| 欧美午夜精品久久久| 久久女同互慰一区二区三区| 亚洲午夜一级| 亚洲精品一级| 精品成人一区二区| 国产精品一卡二| 欧美精品三级日韩久久| 久久精品免费观看| 亚洲综合国产| 一本色道久久88综合日韩精品| 好吊妞这里只有精品| 国产精品免费一区二区三区观看 | 蜜桃视频一区| 久久aⅴ国产欧美74aaa| 亚洲午夜av电影| 亚洲美女精品成人在线视频| 国内视频一区| 国产欧美一区二区精品性| 欧美视频在线观看一区| 欧美黄色成人网| 乱人伦精品视频在线观看| 性色av一区二区三区红粉影视| 亚洲毛片网站| 国产午夜精品久久久久久免费视 | 国产欧美va欧美不卡在线| 欧美日本在线播放| 欧美岛国在线观看| 久久一区二区三区四区| 久久精品国产一区二区电影 | 久久亚洲一区二区| 久久精品一二三| 欧美中文字幕第一页| 亚洲女同在线| 性欧美video另类hd性玩具| 亚洲一二三区精品| 亚洲一区二区视频在线| 亚洲天堂成人在线视频| 中文网丁香综合网| 亚洲自拍高清| 校园春色国产精品| 欧美一区激情视频在线观看| 欧美一区二视频在线免费观看| 欧美一级专区免费大片| 欧美一区高清| 可以免费看不卡的av网站| 欧美阿v一级看视频| 欧美电影在线免费观看网站| 欧美另类一区二区三区| 欧美婷婷在线| 国产精品视频999| 国产在线拍偷自揄拍精品| 激情欧美日韩| 亚洲日本免费| 亚洲少妇最新在线视频| 亚洲自拍偷拍麻豆| 香蕉视频成人在线观看| 久久蜜桃香蕉精品一区二区三区| 久久久午夜视频| 欧美国产一区视频在线观看 | 久久天天躁夜夜躁狠狠躁2022| 六月婷婷一区| 欧美日韩亚洲三区| 国产精品一二一区| 在线观看久久av| 99精品国产一区二区青青牛奶| 亚洲一区二区三区四区在线观看| 久久www免费人成看片高清| 美日韩免费视频| 欧美午夜理伦三级在线观看| 国产午夜精品全部视频播放| 亚洲国产婷婷香蕉久久久久久99| 亚洲美女在线视频| 午夜在线观看免费一区| 欧美a一区二区| 国产精品区免费视频| 影视先锋久久| 亚洲尤物在线| 美女在线一区二区| 国产精品美女久久| 亚洲国产成人久久综合| 亚洲一线二线三线久久久| 狂野欧美一区| 国产精品日韩久久久| 91久久精品国产91久久| 先锋影音久久久| 欧美精品一区二| 国产在线拍偷自揄拍精品| 一区二区精品在线观看| 久久夜色精品国产| 国产精品嫩草久久久久| 亚洲精品乱码| 久久综合久久综合九色| 国产精品视频导航| 亚洲免费av观看| 久久亚洲春色中文字幕| 国产精品久久久久影院色老大| 亚洲激情在线观看| 久久se精品一区精品二区| 欧美性片在线观看| 亚洲国产日本| 久久人人爽人人爽爽久久| 国产精品推荐精品| 99国产精品久久久久久久久久 | 欧美日本一区二区三区| 激情文学综合丁香| 久久久久国产精品麻豆ai换脸| 国产精品久久久久久一区二区三区| 在线日韩成人| 久久久精品一区| 国产精品一二三四区| 在线中文字幕不卡| 欧美日本亚洲| 亚洲欧洲精品一区二区精品久久久| 久久久91精品国产一区二区精品| 国产精品视频区| 亚洲专区一二三| 国产精品a久久久久久| 99国产精品久久久久久久成人热| 欧美国产1区2区| 亚洲电影免费观看高清完整版| 久久久久久**毛片大全| 国产亚洲激情视频在线| 欧美亚洲在线| 国产精品羞羞答答| 欧美一区激情视频在线观看| 国产精品亚洲人在线观看| 亚洲欧美精品在线| 国产精品久久久免费| 亚洲无玛一区| 国产伦精品一区二区三区免费| 亚洲男女自偷自拍图片另类| 国产精品一二三四| 欧美在线999| 黄色成人在线观看| 另类亚洲自拍| 亚洲精品免费一区二区三区| 欧美人成在线视频| 亚洲视频欧洲视频| 国产精品欧美日韩一区| 欧美中日韩免费视频| 一区二区在线视频播放| 欧美电影免费| 一区二区av在线| 国产精品中文字幕欧美| 久久精品成人一区二区三区蜜臀 | 久久性天堂网| 亚洲精品国产精品久久清纯直播| 欧美精品亚洲一区二区在线播放| 亚洲私人影吧| 国产一区欧美| 欧美成人精品激情在线观看| 99精品国产在热久久| 国产精品日本精品| 久久久久欧美精品| 亚洲久久在线| 国产精品综合| 狂野欧美一区| 亚洲淫性视频| 一区免费在线| 欧美色精品天天在线观看视频| 欧美伊久线香蕉线新在线| 精品av久久707| 欧美日韩一区在线观看视频| 欧美一级欧美一级在线播放| 亚洲第一中文字幕在线观看| 欧美日韩1区2区3区| 欧美一区二区网站| 亚洲精品乱码久久久久久蜜桃91 | 亚洲国产成人精品久久久国产成人一区| 欧美大香线蕉线伊人久久国产精品| 亚洲性感美女99在线| 国内久久婷婷综合| 国产精品成人在线观看| 噜噜噜噜噜久久久久久91|