Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


Homework answers / question archive / Object-Oriented Programming Project: Project 4 – Lock N Roll_GUI Total Points Possible: 40 pts Estimated time to complete: 4-6 hours Exercise Overview Implement a GUI-based Java game that is based on the simulated roll of 3 dice

Object-Oriented Programming Project: Project 4 – Lock N Roll_GUI Total Points Possible: 40 pts Estimated time to complete: 4-6 hours Exercise Overview Implement a GUI-based Java game that is based on the simulated roll of 3 dice

Sociology

Object-Oriented Programming Project: Project 4 – Lock N Roll_GUI Total Points Possible: 40 pts Estimated time to complete: 4-6 hours Exercise Overview Implement a GUI-based Java game that is based on the simulated roll of 3 dice. You are to develop the system using object-oriented programming techniques, including objects, classes, and JavaFX GUI resources. Functional Requirements (how the code will work from the user perspective). For Project 4, you are to refactor the Lock N Roll dice game to include a GUI user interface. Most of the functional requirements from prior Lock N Roll projects will remain. • User will enter their name. • User will click a button to initiate the first roll of the dice. • System will display the dice values and resulting interim score after the first roll. • User will choose to “Lock” or “Roll” the value on each of the dice. • User will click a button to initiate the second roll of the dice. Roll will be based on the lock and roll selections. • System will display the second roll dice values, resulting final score, and improvement from the first roll. • System will provide a button to allow the user to play again. Clicking on the play again button will clear the values and selections from the screen, except for the name field. • Focus should advance logically as the user progresses through the game. There are specific requirements from prior Lock N Roll projects that are not requirements for Project 4. • No exception-handling is required. You may presume the user is perfect in their use of the GUI for entries and selections. If an incorrect entry or selection is made causing the system to fail or provide garbage results, you will not lose points for that. For instance, there is no need to check to see if roll 1 has occurred before roll 2. Similarly, you do not need to make sure data are entered in the name field. Or that all Lock and Roll selections are complete. • The system will not prompt for multiple turns. Therefore, there is no need to keep track of the turn history nor print it at the end of play. • There is no prompt required for playing again or not. The play again button implicitly provides that function. Technical Requirements (how you must code it) The system should include the following Java components: • The GUI shall include the following components. o GridPane to manage the layout of the GUI. o TextField for name. o Button to initiate roll 1, roll 2, and play again. o Label fields to present the die values, sum, bonuses for pair/triple/straight, and total points after both rolls. Also for points improvement after roll 2. 1 o o • RadioButton and ToggleGroup for Lock or Roll for each of the 3 dice. [nodename].requestFocus() to direct the user through the game. The system shall access object classes from prior Lock N Roll projects by instantiating object(s) and invoking methods from those object(s). You may need to modify slightly and/or write new methods to fit the needs of the GUI. o Random value generation for dice values. o Evaluation of dice values to determine sum, bonus points, and total after roll 1 and roll 2. Also, points improvement after roll 2. o Logic to determine which of the dice should be re-rolled in roll 2. Creative Requirements (how you should make your GUI unique) Ten points of the total 25 coding points will be based on how you personalize your GUI and thereby enhance the experience for the user. Remember that your creativity should improve the user experience, not distract the user, make the experience less pleasant, or make the system more difficult to use (e.g., do not use weird fonts that are difficult to read or background colors that wash out the text). Here are a few suggestions. • Provide a title and/or message at the top of the screen. You might make this a form of branding, or it might be a message welcoming the player to the game. • Provide a graphic on the screen (use Image or ImageView class) to make the GUI more interesting. • Use colors, fonts, and sizes to make the user experience better, easier, and/or more interesting. o Add a background color to the overall Scene. o Use colors for the RadioButtons to differentiate Lock versus Roll. o Manage the colors and fonts on the click buttons. o Manage the fonts, font colors, and/or font sizes for the Label fields. • To score the creativity of the GUI, we will be looking for at least 5 personalizations that were added, each worth 2 points. Hints and Suggestions • Read the submission instructions and grading rubric at the end of this document. These are modified for this Project 4, so please read them carefully. • Students may choose to use the Project 2 or 3 solution that was made available in eLearning as the base code from which they can add the new functionality rather than using their own prior project code. • When using code from prior projects, you may need to modify the code, so be sure to create a new class for Project 4 of your prior project classes, e.g., P4Roll class. • While writing code, print variable values to console frequently as a form of testing. • Run a test of the code after each new function is implemented. Test it thoroughly, not just for what you think you added or changed. • Use comments to label the different sections (and subsections) of your code. • Implement the system in 2 major parts. o First, draw or make a PowerPoint slide that represents your completed GUI. Then implement the GUI screen without any event handling. o Second, add event handling methods to your system. Code the easiest events first. 2 Students to complete and submit the following sections: Student Name: Class and Section: Project: Example output (snipped views of the GUI) Paste in snipped views of your GUI here. If you have used images on your GUI, be sure your views include the GUI with the images. Research and Analysis. Describe the problem including input, processing, primary calculations, and output in your own words (5 pts). Identify any resources you accessed that were helpful in the planning and implementation of your submission. Type response here. Design. Describe the major steps for solving the problem (5 pts). This should be a description of how you broke down the overall problem into logical, codable chunks. Type response here. Coding. Source code (15 pts). Submit your source code (your .java file) as a second file when you submit your project. If you included images on your GUI, comment out all statements related to the images before submitting your final .java file. DO NOT DELETE THE STATEMENTS, just comment them out. The grader will view the statements to make sure they are complete. Testing. Describe how you tested this program (5 pts). Include descriptions of testing for specific calculations and/or algorithms, methods, and use cases. Identify key use cases that you tested, such as the outlier situations, for example, all dice Locked or all dice Re-Rolled. Personalizations. List the features of your GUI where you added personalization (10 pts). Be sure to include in your list the images that you applied to the GUI. 3 Submission Instructions Submission. Submit 2 files in eLearning. First, after writing/pasting responses above, save this Word document on your computer, and upload this document to your submission in elearning. When you save this document, save it with the final name as follows: [your name]_Project 4.doc or .docx. It must be a Word document. Google docs are not readable in eLearning. Second, export your .java file to your computer and submit it as a second file in eLearning. The TA will download, review, and execute the code in this .java file as part of the grading. To export a .java file to your computer: In Eclipse on the Package Explorer, click on the .java file you want to send. Then click on File > Export > General / File System > Folder and file name for the file you are sending. Browse for the folder you want to copy it to, such as: C:\Users\[your_name]\Documents\[folder for ITSS 3312]. Click Finish. You can upload and submit it in eLearning from your Documents file. Rubric Research and Analysis (5 pts). Key computations are listed and well-explained. Special Classes/methods used are identified and described on why they were used. Design (5 pts). Design is logical, well-organized, and easy to follow. Design should be evident in the code as comments are used to identify sections and sub-sections. Design write-up above describes the thinking and process for developing the code. Coding (15 pts). System fulfills the functional requirements (10 pts). System fulfills the technical requirements (10 pts). Other coding metrics (6 pts). • Code is clear and well organized, follows the design described above, includes comments in the code. • Code uses Java conventions for identifiers (var and method names), adding to the ease of following and understanding. • Code uses Java conventions for indention and spacing, making code easy to read. • Code is efficient and uses the appropriate statements. • System is user-friendly and logical; in other words, it would be intuitive to the user. • System is programmer-friendly and logical; it would be intuitive to another programmer. Testing (5 pts). Testing is comprehensive, covering important functions and components, and tests key use cases. Personalizations (10 pts). GUI appearance deviates from defaults based on properties that are added to the GUI objects. At least 5 personalizations should be added, each worth 2 points. 4 Student Name: Class and Section: Project: Example output (snipped views of the GUI) Research and Analysis. Describe the problem including input, processing, primary calculations, and output in your own words (5 pts). Identify any resources you accessed that were helpful in the planning and implementation of your submission. Type response here. Input for the program is the name of the player in the text input node, and the button clicks for roll1, roll2, and play again, along with grouped radio button inputs for locking or rolling the die. No input is mandatory except the buttons, roll1 and or roll2 to simulate the rolls. The input is processed by the roll methods of the P4Roll class, which subclasses the DiceGame class. Calculations include using the random java class to simulate rolls by generating three numbers between 1 and 6 inclusive. Further calculations determine the sorting of the dice to get points and determining what die to replace on the second roll based on lock or roll choices by the user. The output are shown in the labels under the Dice n labels in the GUI. Design. Describe the major steps for solving the problem (5 pts). This should be a description of how you broke down the overall problem into logical, codable chunks. Type response here. The problem structure began with implementing the GUI, from a conceptual logical design. This enabled arrangement of nodes in the scene appropriately. Next was integrating the GUI with the P4Class that had methods for simulating the die game. The controller that linked the GUI and the Classes established the link. Coding. Source code (15 pts). Submit your source code (your .java file) as a second file when you submit your project. /************************** Attached ****************************/ Testing. Describe how you tested this program (5 pts). Include descriptions of testing for specific calculations and/or algorithms, methods, and use cases. Identify key use cases that you tested, such as the outlier situations, for example, all dice Locked or all dice Re-Rolled. I tested using the console to validate my desired outputs before sending them to the GUI. This involved calling the methods and displaying their output using the standard output stream to the eclipse console. After attaining the desired output for the first roll, I then sent them to the GUI. Similarly, I tested output for the second role using print statements before sending them to the GUI. I had to test the GUI using successive hot fixes to attain the desired look and feel. Personalizations. List the features of your GUI where you added personalization (10 pts). 1. 2. 3. 4. 5. 6. Changed the overall system font to Arial font family, Added colors to the lock and roll radio buttons to clearly distinguish them, Added a background image to the GUI to enhance the experience, Changed the colors and fonts of the points for the rolls to stand out, Changed the font of the buttons and their colors to enhance the overall look of the GUI, The image included in the background is named bg.png

Option 1

Low Cost Option
Download this past answer in few clicks

16.89 USD

PURCHASE SOLUTION

Already member?


Option 2

Custom new solution created by our subject matter experts

GET A QUOTE