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

        代做COMP2396、代寫 java編程語言

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



        COMP2396 Object-oriented programming and Java Assignment 4: A two-player Tic-Tac-Toe Game Due Date: 7th December 2023 23:59
        This assignment tests your understanding on GUI, Java Socket Programming and the 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.
         
        The game would continue and switch among the opposite player until it reaches either one of the following conditions:
        - Player 1 wins.
        - Player 2 wins. - 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.
        is NOT allowed. Do NOT submit .class files.
                 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
           
        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:
          Correct implementation of GUI components:
        - 1 JMenuBar which consists of 2
        JMenu which each JMenu consists of its corresponding JMenuItem
        (6 marks)
        - 1 message title (2 marks)
        - 1 3 x 3 tic-tac-toe board (5 marks)
        - 1 textbox for player’s entering
        his/her name (2 marks)
        - 1 submit button for submitting the
        player’s name (2 marks)
         Total 17 marks
          Correct functionality of the game:
        - Implementation of restricting players to make their move before they submit their names (5 marks)
        - Implementation of restricting players to enter and submit their names more than ONCE (5 marks)
        - Implementation of updating the frame title after players submit their names (5 marks)
        - Implementation of correct message title after players submit their names and make a valid move (5 marks each, total 10 marks)
          Total ** marks
          
          - Implementation of correct switching between players after a player makes a valid move (5 marks)
        - Implementation of the game is started by Player 1’s move (5 marks)
        - Implementation of display player’s mark on the board (for both players) when one of the players makes a valid move (5 marks) Implementation of NOT display player’s mark on the board (for both players) if the player makes an invalid move (5 marks)
        - Implementation of the 3 conditions: Player 1 wins, Player 2 wins and Draw (4 marks each, total 12 marks) Implementation of the case when one of the players left during the game process (4 marks)
        - Implementation of the functionality of Help (4 marks)
        - Implementation of the functionality of Restart (4 marks)
        - Implementation of the functionality of Exit (4 marks)
        -請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

        掃一掃在手機(jī)打開當(dāng)前頁
      1. 上一篇:代寫ISOM 2007、代做 Python 程序設(shè)計
      2. 下一篇:CON3602 代做、代寫 java 語言編程
      3. 無相關(guān)信息
        合肥生活資訊

        合肥圖文信息
        挖掘機(jī)濾芯提升發(fā)動機(jī)性能
        挖掘機(jī)濾芯提升發(fā)動機(jī)性能
        戴納斯帝壁掛爐全國售后服務(wù)電話24小時官網(wǎng)400(全國服務(wù)熱線)
        戴納斯帝壁掛爐全國售后服務(wù)電話24小時官網(wǎng)
        菲斯曼壁掛爐全國統(tǒng)一400售后維修服務(wù)電話24小時服務(wù)熱線
        菲斯曼壁掛爐全國統(tǒng)一400售后維修服務(wù)電話2
        美的熱水器售后服務(wù)技術(shù)咨詢電話全國24小時客服熱線
        美的熱水器售后服務(wù)技術(shù)咨詢電話全國24小時
        海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
        海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
        合肥機(jī)場巴士4號線
        合肥機(jī)場巴士4號線
        合肥機(jī)場巴士3號線
        合肥機(jī)場巴士3號線
        合肥機(jī)場巴士2號線
        合肥機(jī)場巴士2號線
      4. 幣安app官網(wǎng)下載 短信驗(yàn)證碼

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

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

        主站蜘蛛池模板: 无码国产精品一区二区高潮| 99精品国产一区二区三区| 精品一区二区三区视频在线观看| 久久免费视频一区| 夜夜精品视频一区二区| 久久一区不卡中文字幕| 手机看片一区二区| 四虎成人精品一区二区免费网站| 一区二区三区四区视频| 国内国外日产一区二区| 一区二区在线视频观看| 日韩AV无码一区二区三区不卡| 亚洲国产视频一区| 色欲精品国产一区二区三区AV| 国产婷婷色一区二区三区| 国产色精品vr一区区三区| 日韩十八禁一区二区久久| 精品在线一区二区| 精品视频一区二区三区在线播放| 国产香蕉一区二区三区在线视频| 国产福利91精品一区二区| 精品国产一区二区三区四区 | 精品视频在线观看你懂的一区| 无码日本电影一区二区网站 | 无码人妻一区二区三区免费视频| 无码一区二区三区爆白浆| 欧美一区内射最近更新| 成人一区专区在线观看 | 久久精品免费一区二区三区| 日本亚洲国产一区二区三区| 色老板在线视频一区二区 | 91久久精品午夜一区二区| 2020天堂中文字幕一区在线观| 久久久无码一区二区三区 | 波多野结衣的AV一区二区三区| 精品国产一区二区三区2021| 农村人乱弄一区二区| 99精品一区二区三区| 日韩成人无码一区二区三区 | 国产精品 视频一区 二区三区| 久久se精品一区精品二区国产|