Deliverables To complete this assignment you must submit your compressed Netbeans project to Webcourses. This requires you to submit a .zip, .rar, .tar, .tgz. etc of the ENTIRE project. Individual source code files will not be accepted. Introduction This assignment is to develop a User Interface using classes from the javax.swing package. Tasks and Rubric Activity userInterface package BattleshipUI.java Add an import for 1. core.BattleshipClient 2. core.Ship Create an ActionListener for the Deploy Ships button that does the following: 1. Disables the UI components on the JPanel with ship selection options 2. Add a JPanel to the right of Player Ones button board with a JTextArea for displaying the game status to the user 3. Add a JPanel to the right of the game status with Player Twos button board 4. Call the play() method in class BattleshipClient In the ActionListener for the Game Menu set the player mode based on what the user selected, the options are: Player versus Player Player versus Computer Computer versus Computer Example code: if(e.getActionCommand().equals(“Player vs. Player”)) { players[Constants.PLAYER_ONE].setPlayMode(Constants.HUMAN); players[Constants.PLAYER_TWO].setPlayMode(Constants.HUMAN); } Player.java Add a class member to store the players mode, human or computer; create getter/setter for the class member Create a method that will automatically layout the ships for when the player mode is set to computer using the Random class to randomly select the direction and location for the startRowClick and startColumnClick; make sure the auto layout uses null for the color PlayerOptionDialog.java Update the UI so that it reflects the saved data for each Player core package BattleshipClient.java This class controls the game being played Create a custom constructor that takes two parameters, an Array of class Player and class BattleshipUI Create a method play() to manage the play between Player One and Player Two; for this iteration only Human versus Computer has to function When a JButton has been selected/clicked: 1. if it is a hit a. change the background color to something other than the default gray(i.e. null) and the ship color (e.g.Color.BLACK) b. update the object instance so that the number of hits is increased or the hits left is decreased 2. if it is a miss a. change the background color to something other than the default gray (i.e. null), the ship color, or the color used for a hit When a ship has 0 (zero) hits left or has taken the max number of hits update the ship so that isSunk = true; notify the user when each of their ships has been sunk Whichever player sinks all five opponents ships first wins the game! functionality Compiles Source compiles with no errors Runs Source runs with no errors Comments Source includes comments Total Figures Figure 1 Initial display Figure 2 Deployed Ships Figure 3 Display Game Status and Player Two Panels Figure 4 Play Between Human and Computer Figure 5 End of Game Figure 6 Player Options Dialog Before Player Selection Figure 7 Player Options Dialog After Player Selection
Looking for a solution written from scratch with No plagiarism and No AI?
WHY CHOOSE US?
We deliver quality original papers |
Our experts write quality original papers using academic databases.We dont use AI in our work. We refund your money if AI is detected |
Free revisions |
We offer our clients multiple free revisions just to ensure you get what you want. |
Discounted prices |
All our prices are discounted which makes it affordable to you. Use code FIRST15 to get your discount |
100% originality |
We deliver papers that are written from scratch to deliver 100% originality. Our papers are free from plagiarism and NO similarity.We have ZERO TOLERANCE TO USE OF AI |
On-time delivery |
We will deliver your paper on time even on short notice or short deadline, overnight essay or even an urgent essay |