01 Aug Battleship Java Program
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 One’s 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 Two’s 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 player’s 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 opponent’s 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
Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.
About Writedemy
We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.
How It Works
To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Are there Discounts?
All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.
