日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

COMP2396代做、代寫Tic-Tac-Toe Game設計編程

時間:2023-12-12  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯


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:

請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機打開當前頁
  • 上一篇:CSCI1540代做、代寫C++設計編程
  • 下一篇:代寫IERG 4130、代做c/c++設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 trae 豆包網頁版入口 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        国产日韩成人精品| 欧美国产日韩精品免费观看| 欧美视频一区二区三区四区| 亚洲电影免费观看高清完整版在线观看| 国产精品久久久久aaaa樱花| 亚洲性视频网址| 欧美chengren| 欧美午夜a级限制福利片| 欧美视频中文字幕在线| 麻豆精品在线播放| 激情小说另类小说亚洲欧美| 国产主播精品| 亚洲国产精品一区二区第四页av| 在线观看精品一区| 亚洲精品日产精品乱码不卡| 1024欧美极品| 国产精品日韩一区二区| 国产日韩精品在线观看| 性亚洲最疯狂xxxx高清| 久久成人免费网| 久久久亚洲一区| 欧美激情一区三区| 亚洲日本中文字幕免费在线不卡| 亚洲国产一区在线| 亚洲国产婷婷香蕉久久久久久| 亚洲性图久久| 亚洲春色另类小说| 国产精品一国产精品k频道56| 国产午夜精品一区理论片飘花| 欧美一区二区三区喷汁尤物| 亚洲国产一区二区三区a毛片| 国产精品爽黄69| 蜜臀av在线播放一区二区三区| 亚洲天堂成人在线观看| 亚洲精品四区| 亚洲欧洲99久久| 国产精品亚洲综合天堂夜夜| 蜜臀a∨国产成人精品| 亚洲一区三区电影在线观看| 久久精品国产一区二区三| 午夜精品一区二区三区电影天堂| 午夜精品美女自拍福到在线| 国产人成一区二区三区影院| 在线观看国产精品淫| 激情亚洲一区二区三区四区| 欧美在线观看天堂一区二区三区| 欧美成人午夜免费视在线看片| 欧美性理论片在线观看片免费| 国产精品成人在线| 欧美午夜性色大片在线观看| 在线成人性视频| 欧美一区日韩一区| 免费亚洲一区二区| 一区二区国产精品| 麻豆精品国产91久久久久久| 欧美日韩精品是欧美日韩精品| 欧美日本在线一区| 欧美日韩精品伦理作品在线免费观看| 久久国产视频网站| 在线不卡亚洲| 欧美日韩一区二区欧美激情| 欧美日韩精品免费在线观看视频| 亚洲制服丝袜在线| 尤物yw午夜国产精品视频| 亚洲国产日韩综合一区| 很黄很黄激情成人| 欧美在线免费观看亚洲| 免费在线日韩av| 国内精品视频在线播放| 久久激情五月激情| 亚洲在线一区二区三区| 久久综合伊人77777| 欧美另类久久久品| 久久资源在线| 99精品99久久久久久宅男| 欧美老女人xx| 欧美日韩亚洲视频一区| 狠狠色噜噜狠狠色综合久| 欧美亚州一区二区三区| 国产精品青草综合久久久久99| 亚洲综合视频1区| 亚洲黄色一区二区三区| 国产精品视频免费一区| 亚洲欧美日韩成人高清在线一区| 亚洲欧美三级伦理| 欧美日韩国产a| 亚洲国产精品一区二区www| 久久精品91久久香蕉加勒比| 亚洲一二三四区| 久久九九99| 国产日韩精品一区二区| 国产亚洲精品久久久| 欧美在线欧美在线| 美脚丝袜一区二区三区在线观看| 免费久久久一本精品久久区| 久久精品中文字幕一区二区三区| 欧美在线视频二区| 国内精品视频在线观看| 在线看视频不卡| 一区视频在线| 亚洲国产日韩一区二区| 久久综合九色综合网站| 亚洲精品影院在线观看| 国产精品99一区二区| 午夜国产精品影院在线观看| 国产精品久久777777毛茸茸| 伊人久久大香线蕉av超碰演员| 欧美午夜a级限制福利片| 巨胸喷奶水www久久久免费动漫| 一卡二卡3卡四卡高清精品视频| 亚洲美女在线观看| 欧美日韩免费一区二区三区视频| 国产一区二区三区在线观看精品| 国产精品久久久久久久9999| 国产伦理精品不卡| 亚洲午夜国产成人av电影男同| 亚洲人成在线观看网站高清| 久久国产精品99国产精| 欧美性开放视频| 一本色道婷婷久久欧美| 欧美激情一区二区三级高清视频| 欧美成人午夜激情在线| 国产欧美日韩视频一区二区三区| 亚洲国产精品第一区二区三区| 国内一区二区三区| 另类天堂视频在线观看| 日韩午夜激情电影| 欧美日韩一区二区三区在线视频| 亚洲一区二区三区涩| 国产精品视频久久| 欧美日韩免费网站| 你懂的国产精品永久在线| 国产精品亚洲аv天堂网| 欧美成人午夜77777| 亚洲人成人一区二区在线观看| 国产精品色婷婷| 中国日韩欧美久久久久久久久| 亚洲高清色综合| 久久精品国语| 国产精品xxxav免费视频| 欧美亚洲日本一区| 久久蜜桃精品| 一本色道久久综合狠狠躁的推荐| 欧美成人精品在线播放| 亚洲国产成人精品久久| 亚洲福利视频专区| 亚洲欧美清纯在线制服| 亚洲一区美女视频在线观看免费| 久久综合影音| 欧美日韩一区二区三区高清| 性色一区二区| 欧美日韩卡一卡二| 亚洲综合国产| av成人免费观看| 亚洲女人天堂成人av在线| 亚洲激情不卡| 亚洲毛片网站| 蜜臀av性久久久久蜜臀aⅴ四虎| 可以免费看不卡的av网站| 国产精品综合色区在线观看| 欧美激情偷拍| 久久精品国产91精品亚洲| 国产精品视频久久久| 国产精品久久久久久久久免费桃花|