-
Objective - To create an casino simulation
-
Purpose - To gain familiarity with general object orientation and design principles
-
Description
- View the javadocs for the program to become better oriented with its design
https://zipcoder.github.io/maven.casino/docs/index.html
- Create a casino simulation by extending or removing the pre-built implementations.
- It is advised that you create additional methods and classes to mediate any foreseen shortcomings of the prebuilt assets.
- Enforce the following features in your system:
- Ensure a console-based interface is available to allow input from and output to the users
- Ensure the
Casino
has a selection of at least 6 implementation ofGameInterface
. - Ensure
PlayerInterface
is garbage collected upon completing a respectiveGameInterface
SlotsPlayer
should be garbage collected whenSlotsGame
is garbage collected.BlackJackPlayer
should be garbage collected whenBlackJackGame
is garbage collected.
- Ensure all implementation of
PlayerInterface
have reference to aCasinoAccount
CasinoAccount
should not be garbage collected when aGameInterface
is garbage collected.
- Ensure at least 6 different implementations of
GameInterface
and a respectivePlayerInterface
are defined. - Ensure at least 1 implementation of
GameInterface
does not involve gambling. - Ensure at least 3 implementations of
GameInterface
involve gambling.- Enable the player to wager a
balance
that can be persisted throughout different games; when aGameInterface
is garbage collected, the owner of thebalance
should be able to play a new game with their newbalance
.
- Enable the player to wager a
- Ensure all games which should support more than 1 player, have the ability to do so.
- Ensure there are at least 80% line coverage from testing the application.
- View the javadocs for the program to become better oriented with its design
-
Begin by implementing the
SlotsGame
,SlotsPlayer
as well asNumberGuessGame
andNumberGuessPlayer
provided in thecom.github.zipcodewilmington.casino.games
package.
- To fork the project, click the
Fork
button located at the top right of the project.
- Navigate to your github profile to find the newly forked repository.
- Copy the URL of the project to the clipboard.
- Clone the repository from your account into the
~/dev
directory.- if you do not have a
~/dev
directory, make one by executing the following command:mkdir ~/dev
- navigate to the
~/dev
directory by executing the following command:cd ~/dev
- clone the project by executing the following command:
git clone https://github.com/MYUSERNAME/NAMEOFPROJECT
- if you do not have a
- Ensure that the tests run upon opening the project.
- You should see
Tests Failed: ${number-of-tests} of ${number-of-tests} tests
- You should see
- Execute the command below to run JUnit tests from the command line.
mvn package -Dmaven.test.failure.ignore=true
- from a terminal navigate to the root directory of the cloned project.
- from the root directory of the project, execute the following commands:
- add all changes
git add .
- commit changes to be pushed
git commit -m 'I have added changes'
- push changes to your repository
git push -u origin master
- add all changes
- from the browser, navigate to the forked project from your github account.
- click the
Pull Requests
tab. - select
New Pull Request