Codingassignmenthelper | Home Codingassignmenthelper | University

MITS4002 Object Oriented Software Development Tattslotto

VICTORIAN INSTITUTE OF TECHNOLOGY

Assignment :

50% deduction for Late Submission within one week
0 mark for Late Submission more than one week
0 mark for duplicated Submission or Shared Work

You will be marked based on your submitted zipped file on Moodle. You are most welcome to check your file with your lab tutor before your submission. No excuse will be accepted due to file corruption, absence from lecture or lab classes where details of lab requirements may be given. Please make sure that you attend Lecture EVERY WEEK as low attendance may result in academic penalty or failure of this unit.

Programming Project Part 1 : Arrays & Inheritance

Marks :

The project is assessment for 25% of final mark for the subject.
The project is composed of two parts : Part 1 & Part 2.

Problem Description

This project is based on the design, and implementation in Java, of the seven different Lottery games being Saturday Tattslotto, Oz Lotto and Powerball. Details of these games can be found at http://www.thelott.com

In Part 1 of the project, you are asked to use arrays and inheritance to code versions of these games and in Part 2 to create an appropriate GUI that writes to a report file.

Note : GAMBLING can be a serious problem for some people. Your lecturer DOES NOT encourage you to gamble.

Summary of Some of the Lottery Games

(From the Help pages of the above web site)

Image1

You will notice from your research and examination of the table that all games have several things in common. All games have a name, run on a day of the week have a set of randomly generated numbers.

Also, each of the randomly generated numbers have a minimum and maximum possible value, for example : For Powerball, the minimum value is 1 and the maximum value is 35.

An abstract class, LuckyGame can be used to represent the generic concept of a game of chance. A suitable partial design is shown in the following UML diagram. In the UML diagram: The LuckyGame class represents the generic concept of a game of chance and therefore, is to be declared as an abstract class. It contains two abstract methods setNumberOfRandoms( ) and collectUserInput (String input). The LuckyGame class also contains an array of String which is used to record the randomly generated numbers used by each object of LuckyGame type The class TattslottoGame is a LuckyGame and it thus should implement code for LuckyGame’s two abstract methods as well as its own constructor and any other methods. The games SaturdayTattslotto and Oz Lotto are all instances of the class TattslottoGame. You can implement the remaining class games in any manner you believe appropriate. For example, class PowerBallGame can be implemented using either using Option 1 : the class PowerBallGame is a LuckyGame and thus should implement code for LuckyGame’s two abstract methods as well its own constructor and other methods. Option 2 : the class PowerBallGame is a TattslottoGame and thus should implement code for its own constructor and other methods. You have been provided with some code for the class TestGames, which is a text-based application used to create instances of games and test all of their respective behaviours. To collect user input for all games, a class UserInput is needed. It should collect user input and deal with any problems in the input, such as repeat numbers or numbers outside the possible range of values.


UML Diagram :
Image

Code for TestGames

// A class that tests the instances of each class of game
//********************************************************************
class TestGames
{ public static void main ( String [ ] args )
{
final int NO_OF_GAMES = 7 ;
LuckyGame [ ] games = new LuckyGame [NO_OF_GAMES];
TattslottoGame myGame = new TattslottoGame ("Tattslotto", "Saturday", 1 , 45 ) ;
TattslottoGame OzLotto = new TattslottoGame ( "OZ Lotto", "Tuesday", 1, 45 ) ;
TattslottoGame WedsLotto = new TattslottoGame ( "Tattslotto", "Wednesday", 1, 40 ) ;
Tatts2Game tatts2 = new Tatts2Game ("Tatts2", "everyday", 1 , 99 ) ;
PowerBallGame powerBall = new PowerBallGame ("PowerBall", "Thursday", 1 , 45 ) ;
……………………………………………………………………………………..// Super 66 instanc
……………………………………………………………………………..// Pools instance
games[0] = myGame ;
games[1] = OzLotto ;
games[2] = WedsLotto ;
games[3] = tatts2 ;
games[4] = powerBall ;
……………………………………………………………………………………..// Super 66 instance
……………………………………………………………………………..// Pools instance
for (int i = 0 ; i < NO_OF_GAMES ; i++)
{
System.out.print ("\n\n*******************************************\n" );
System.out.print ("Input your numbers for " + games[i].getDay( ) + " " + games[i].getName( ) + " :- " ) ;
String input = Keyboard.readString( );
games[i].collectUserInput( input );
System.out.println ( games[i] ) ;
}// end for
}//end main


Sample output

An example of some output from a run of TestGames. NOTE: ALL OUTPUTS ARE ONLY SUGGESTIONS and should be used as a guide to your implementations.


*******************************************
Input your numbers for Saturday Tattslotto :- 1 2 3 3 4 78 1 5 6
Invalid input Saturday Tattslotto numbers are: 31 29 1 6 10 41
supplementary numbers: 25 38 6
user picks between 1 and 45 are 1 2 3 4 5 6
No. of winners 2 + 0 supps match

*******************************************
Input your numbers for Tuesday OZ Lotto :- 1 2 3 4 5 6 7
Tuesday OZ Lotto numbers are: 2 29 19 21 36 31 40
supplementary numbers: 5 35 7
user picks between 1 and 45 are 1 2 3 4 5 6 7
No. of winners 1 + 1 supps match

*******************************************
Input your numbers for Thursday PowerBall :- 1 2 2 3 4 5 5
Invalid input The user chosen powerball is 5 Thursday PowerBall numbers are: 1 32 34 5 35 33 and
the POWERBALL is:- 5 7
user picks between 1 and 35 are 1 2 3 4 5 6 7
and the user chosen POWERBALL is:- 5 No. of winners 2 and you have the POWERBALL etc…..

Programming Project Part 2 : Graphical User Interfaces / Applets & Files & Exceptions

In Part 1 of the project, you are asked to use arrays and inheritance to code versions of 7 Lottery games. In Part 2, using swing classes wherever possible, you need to create an applet for players. The applet should allow a player to choose and run a game of their choice and find out the results of their game. Each time a game is played, the applet writes information about the game to a file called report.txt. This information would be similar to that shown as sample output for Part 1.


To Continue Click Here > MITS4002 OBJECT ORIENTED SOFTWARE DEVELOPMENT Tattslotto.pdf
Codingassignmenthelper | Home Codingassignmenthelper | Home