日韩精品一区二区三区高清_久久国产热这里只有精品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++設計編程
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 酒店vi設計 deepseek 幣安下載 AI生圖 AI寫作 aippt AI生成PPT 阿里商辦

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

    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>
        欧美不卡一卡二卡免费版| 黄色欧美成人| 欧美成年人网站| 国产精品久久久久永久免费观看| 亚洲国产另类久久精品| 一片黄亚洲嫩模| 日韩一级黄色片| 这里只有视频精品| 亚洲乱码精品一二三四区日韩在线| 久久黄色级2电影| 国产亚洲精品久久久久动| 亚洲伊人久久综合| 欧美日韩国产综合久久| 欧美视频中文字幕| 欧美精品在线观看播放| 一区二区三区国产在线| 国产精品亚洲综合久久| 免费观看日韩av| 国产精品一区二区三区乱码| 亚洲国产一区二区精品专区| 亚洲一区二区三区在线观看视频| 亚洲一区二区三区影院| 国产综合色一区二区三区| 亚洲国产mv| 久久亚洲私人国产精品va| 亚洲免费观看在线观看| 男同欧美伦乱| 麻豆国产精品777777在线| 永久域名在线精品| 欧美sm极限捆绑bd| 在线看日韩欧美| 亚洲视频在线观看三级| 亚洲电影免费在线观看| 亚洲二区视频| 免费在线看成人av| 久久国产精品免费一区| 亚洲欧洲一区| 夜夜嗨av一区二区三区网站四季av| 久久综合伊人77777麻豆| 99re成人精品视频| 一区二区亚洲| 欧美a级片一区| 制服丝袜亚洲播放| 久久中文字幕一区| 夜夜爽av福利精品导航| 午夜精品三级视频福利| 国产精品青草综合久久久久99| 欧美中日韩免费视频| 一区二区欧美精品| 在线视频你懂得一区| 国产精品第一区| 亚洲视频在线观看免费| 国产综合久久久久久鬼色| 性欧美长视频| 亚洲一区二区三区四区中文| 国产酒店精品激情| 亚洲国产一成人久久精品| 欧美视频日韩| 亚洲日韩欧美视频| 亚洲一区二区三区国产| 一区二区欧美视频| 国产精品日本精品| 国内精品免费在线观看| 欧美日韩免费观看一区三区| 国产亚洲一区二区三区在线观看| 国产欧美短视频| 日韩视频久久| 久久视频免费观看| 久久不见久久见免费视频1| 亚洲国产精品一区在线观看不卡| 午夜精品久久久久| 久久在线视频在线| 亚洲亚洲精品三区日韩精品在线视频| 麻豆免费精品视频| 亚洲美女免费精品视频在线观看| 尤物精品在线| 一区二区三区免费看| 亚洲精选在线观看| 国产精品爽爽ⅴa在线观看| 久久精品观看| 久久综合导航| 久久午夜国产精品| 亚洲第一中文字幕在线观看| 国产女主播在线一区二区| 欧美日韩国产天堂| 99热在线精品观看| 巨乳诱惑日韩免费av| 中文在线不卡| 一区二区三区黄色| 国内综合精品午夜久久资源| 亚洲第一精品久久忘忧草社区| 久久亚洲高清| 久久精品夜色噜噜亚洲aⅴ| 欧美日本一区二区三区| 亚洲欧美在线高清| 亚洲国产日韩综合一区| 亚洲二区三区四区| 久久成人国产精品| 亚洲免费观看视频| 国产精品三上| 国产欧美精品日韩区二区麻豆天美| 黄色成人在线观看| 久久精品99国产精品酒店日本| 亚洲在线国产日韩欧美| 亚洲精品系列| 久久精品国产亚洲一区二区| 亚洲无线一线二线三线区别av| 欧美日韩一区二区三区四区五区| 亚洲最新在线视频| 亚洲国产精品一区二区第四页av| 午夜精品久久久久久久久久久| 亚洲精品女av网站| 精东粉嫩av免费一区二区三区| 国产偷久久久精品专区| 亚洲日本va午夜在线影院| 欧美日韩亚洲一区二| 在线视频日本亚洲性| 亚洲黄色免费电影| 欧美综合国产精品久久丁香| 欧美日韩国产不卡在线看| 国产亚洲精品成人av久久ww| 亚洲一区二区三区中文字幕在线| 亚洲欧美文学| 久久视频这里只有精品| 亚洲永久在线观看| 久久天堂av综合合色| 香蕉尹人综合在线观看| 久久免费午夜影院| 伊人久久婷婷| 亚洲激情视频在线观看| 亚洲国产精品专区久久| 免费一级欧美在线大片| 91久久夜色精品国产九色| 久久精品99国产精品日本| 欧美成人免费小视频| 亚洲福利精品| 欧美一区二区三区四区在线观看| 国内不卡一区二区三区| 欧美~级网站不卡| 久久精品91久久久久久再现| 久久久久久久久久久久久女国产乱| 影音国产精品| 亚洲春色另类小说| 午夜精品国产更新| 欧美日韩国产成人精品| 在线电影院国产精品| 久久久久久9| 欧美日韩在线精品一区二区三区| 久久www成人_看片免费不卡| 蜜桃伊人久久| 性欧美8khd高清极品| 开元免费观看欧美电视剧网站| 亚洲欧美日韩一区二区三区在线| 国产伦精品一区二区三区四区免费| 欧美在线1区| 欧美一区二区三区在线播放| 久久久久久久一区二区三区| 欧美日韩亚洲国产精品| 国产精品资源在线观看| 欧美日韩亚洲免费| 亚洲日本va午夜在线电影| 久久美女艺术照精彩视频福利播放| 国产亚洲精品成人av久久ww| 久久福利影视|