Must be done with eclipse
Assessment Brief Proforma 1. Module number SET09802 2. Module title Software Development 1 3. Module leader Babis Koniaris 4. Tutor with responsibility for this Assessment Student’s first point of contact Babis Koniaris 5. Assessment Coursework 6. Weighting 90% of module assessment 7. Size and/or time limits for assessment You should be able to complete this assessment in approximately 40 hours 8. Deadline of submission Friday 20 August 2021 9. Arrangements for submission Your Coursework must be submitted to the Moodle coursework submission link. 10. Assessment Regulations All assessments are subject to the University Regulations 11. The requirements for the assessment See handout 12. Special instructions 13. Return of work and feedback Written feedback will be given via Moodle 14. Assessment criteria See Handout Software Development 1: Coursework 2 SET09802 You should write a Java program to meet the specification shown below. This assignment constitutes 90% of the module assessment. You must submit your program by Friday 20th August 2021 17:00 BST. 1 Specification You should use all the programming concepts that you have been taught to implement a dice game called Dice Poker. In this game, the computer rolls two standard six-sided dice and you bet on the outcome. The outcome is the configuration of the numbers rolled (explanation below). The input/output should utilise a graphical user interface (input and message boxes). 1.1 Game flow You start with some money in your bank. You play a number of rounds, where for each round you place a bet and the computer rolls the dice, checks results and modifies your bank balance. After certain conditions, the game ends and you’re presented with some final information shown as a message box. 1.2 Placing bets Before the computer rolls the dice, you can bet some money from your bank. If the numbers are sequential (e.g. 1 and 2, 5 and 4, etc. Not 6 and 1), you earn double your bet. If the numbers are identical (rolling doubles), you earn triple your bet. Otherwise, you win nothing therefore you lose the amount of money you bet. Before placing a bet, the computer should inform you of your current bank balance. 1 1.3 Additional rules When the game starts you are given £6 in your bank. Each bet costs £1 and you are allowed to make up to five bets before the game ends. The game will end if you run out of money, or you have no more attempts left (you made all five bets). At the end of the game, you will be told which of these conditions has ended the game. 1.4 Results display Once the game has finished (all bets have been placed or you ran out of money) the computer will collate and display the results in a single message box, comprised by: One row per bet, displaying your bet, the numbers rolled, the amount of money earned or lost for that bet. One row at the end, displaying the amount of money that you have remaining in your bank at the end of the game. 1.5 Advanced features (optional, but count towards your marks) 1.5.1 Variable bet amount Allow the user to change how much they would like to bet and change the amount you win accordingly. Allow bets between £1 and 4£ (integers only) 1.5.2 High score table Create a high score table. The more money you have remaining in your bank at the end of the game the higher up the table you will be. In order to implement this, players will have to enter their name before they play. The high score table should be displayed as a separate message box after the results have been displayed at the end of the game (1.4) 2 Report In your report (4 pages maximum) you should include: A class diagram. A description of your classes: what each does and how they relate to each other if applicable. A description of why you believe your program is extensible. E.g. Is it easy to change the number of dice? The number of rounds to play? The sides of the dice? Etc. 2 A description of how you tackled any advanced features. 3 Hints and tips Think carefully about your program on paper, before you start programming. Validate data where possible: make sure variables contain what you expect. Make sure your code is extensible. When you use the same piece of complex code repeatedly, consider moving it into a method. Use functionality provided by JOptionPane for the required user interface 4 Marking Scheme Marks will be allocated as follows: Functionality 30% Use of classes and methods 10% (Good abstractions, reusable code in methods etc) Programming style 10% (Following programming style used throughout the module: Neat code, good variable names etc) Comments 10% (At the head of every method, at sections of complex code, etc) Extensibility 10% Report 10% Advanced features 20% – Variable bet amount 10% – High score table 10% 5 Collaboration and Plagiarism This is an individual piece of assessment and the work submitted should be entirely your own. You are not allowed to collaborate with other people or to copy the work of other people. Your coursework will be electronically checked against all other submissions. If any plagiarism is detected your coursework will not be marked. In the event of any doubt 3 about authorship, you will be interviewed by the School of Computing Academic Con- duct Officer and may be asked questions about any aspect of the work. 6 Submission You should submit your assignment via Moodle. You will have multiple files and should compress the project folder so that you only have one file to submit. Please use ZIP format only. Good luck! 4