{"id":24021214,"url":"https://github.com/zipcodecore/groupcasino","last_synced_at":"2025-06-20T07:32:58.126Z","repository":{"id":45523440,"uuid":"171927001","full_name":"ZipCodeCore/GroupCasino","owner":"ZipCodeCore","description":null,"archived":false,"fork":false,"pushed_at":"2022-11-16T04:30:38.000Z","size":148,"stargazers_count":1,"open_issues_count":23,"forks_count":41,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T21:39:32.318Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZipCodeCore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-21T18:54:18.000Z","updated_at":"2023-05-12T14:00:55.000Z","dependencies_parsed_at":"2022-08-04T12:45:29.426Z","dependency_job_id":null,"html_url":"https://github.com/ZipCodeCore/GroupCasino","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/ZipCodeCore/GroupCasino","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZipCodeCore%2FGroupCasino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZipCodeCore%2FGroupCasino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZipCodeCore%2FGroupCasino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZipCodeCore%2FGroupCasino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZipCodeCore","download_url":"https://codeload.github.com/ZipCodeCore/GroupCasino/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZipCodeCore%2FGroupCasino/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260901072,"owners_count":23079701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-08T12:40:02.102Z","updated_at":"2025-06-20T07:32:53.110Z","avatar_url":"https://github.com/ZipCodeCore.png","language":"Java","readme":"# Casino Simulation\n\n* **Objective** - To create an casino simulation\n* **Purpose** - To gain familiarity with general object orientation and design principles\n\n* **Description**\n    * View the [javadocs](https://zipcodecore.github.io/casino.maven/docs/index.html) for the program to become better oriented with its design\n      * `https://zipcoder.github.io/casino.maven/docs/index.html`\n    * Create a casino simulation by extending or removing the pre-built implementations.\n    * It is advised that you create additional methods and classes to mediate any foreseen shortcomings of the prebuilt assets. \n    * Enforce the following features in your system:\n        * Ensure a console-based interface is available to allow input from and output to the users\n        * Ensure the `Casino` has a selection of at least 6 implementation of `GameInterface`.\n        * Ensure `PlayerInterface` is garbage collected upon completing a respective `GameInterface`\n            * `SlotsPlayer` should be garbage collected when `SlotsGame` is garbage collected.\n            * `BlackJackPlayer` should be garbage collected when `BlackJackGame` is garbage collected.\n        * Ensure all implementation of `PlayerInterface` have reference to a `CasinoAccount`\n            * `CasinoAccount` should not be garbage collected when a `GameInterface` is garbage collected.\n        * Ensure at least 6 different implementations of `GameInterface` and a respective `PlayerInterface` are defined.\n        * Ensure at least 1 implementation of `GameInterface` does not involve gambling.\n        * Ensure at least 3 implementations of `GameInterface` involve gambling.\n           * Enable the player to wager a `balance` that can be persisted throughout different games; when a `GameInterface` is garbage collected, the owner of the `balance` should be able to play a new game with their new `balance`.\n        * Ensure all games which should support more than 1 player, have the ability to do so.\n        * Ensure there are at least 80% line coverage from testing the application.\n* Begin by implementing the `SlotsGame`, `SlotsPlayer` as well as `NumberGuessGame` and `NumberGuessPlayer` provided in the `com.github.zipcodewilmington.casino.games` package. \n\n\u003cimg src=\"./casino.gif\"\u003e\n\n## How to Download\n\n#### Part 1 - Forking the Project\n* To _fork_ the project, click the `Fork` button located at the top right of the project.\n\n\n#### Part 2 - Navigating to _forked_ Repository\n* Navigate to your github profile to find the _newly forked repository_.\n* Copy the URL of the project to the clipboard.\n\n#### Part 3 - Cloning _forked_ repository\n* Clone the repository from **your account** into the `~/dev` directory.\n  * if you do not have a `~/dev` directory, make one by executing the following command:\n    * `mkdir ~/dev`\n  * navigate to the `~/dev` directory by executing the following command:\n    * `cd ~/dev`\n  * clone the project by executing the following command:\n    * `git clone https://github.com/MYUSERNAME/NAMEOFPROJECT`\n \n#### Part 4 - Check Build\n* Ensure that the tests run upon opening the project.\n    * You should see `Tests Failed: ${number-of-tests} of ${number-of-tests} tests`\n* Execute the command below to run JUnit tests from the command line. \n    * `mvn package -Dmaven.test.failure.ignore=true`\n\n\n\n\n\n\n\n\n## How to Submit\n\n#### Part 1 -  _Pushing_ local changes to remote repository\n* from a _terminal_ navigate to the root directory of the _cloned_ project.\n* from the root directory of the project, execute the following commands:\n    * add all changes\n      * `git add .`\n    * commit changes to be pushed\n      * `git commit -m 'I have added changes'`\n    * push changes to your repository\n      * `git push -u origin master`\n\n#### Part 2 - Submitting assignment\n* from the browser, navigate to the _forked_ project from **your** github account.\n* click the `Pull Requests` tab.\n* select `New Pull Request`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzipcodecore%2Fgroupcasino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzipcodecore%2Fgroupcasino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzipcodecore%2Fgroupcasino/lists"}