ucsb-cs56-projects / cs56-games-dealer Goto Github PK
View Code? Open in Web Editor NEW-
-
Add multiplayer feature to the program. Works by two users accessing the program at same time, playing together against the Dealer.
After winning or losing a game, the stand and hit button should be disabled in the GUI version of the game.
Add a bet system that is applicable for BlackJack game.
It would be great if the bet system could also be applicable for future card games.
The project code structure should be changed applying MVC pattern so that game data model, logic and user interface get separated. I am not imposing to apply MVC pattern rather research about it which pattern would be better to apply consider issue #51
25
Create leaderboard system to keep track of progresses and display top 5 scores at the beginning of run or corner of GUI. Display "New High Score" if new top score is reached.
Add more instructions on how to use the app. Add some screenshots.
75 points
Requests how many hands the user wants. Requests how many cards to draw for each hand. Displays all hands.
Requesting 150 points
Implemented a button used to submit how many hands you want and can also reset the deck and all hands.
Requesting 50 points
The current method of shuffling the cards is through random swapping.
Have the cards randomly assigned a place in the deck, or better yet, do research on how existing videogame shuffling algorithms work and implement a form of that.
~estimated 100 points
Apply enumeration for cart suit and rank value instead of using integer and/or string and blah blah. Re-factor code accordingly in the code base.
For example,
It would be very hard since we used the GridBagLayout, which is not teach in class. You may want to consider to use other Layout Manager.
Right now the dealer continues to ask if you want more cards, even when all 52 cards have been dealt. Only once you have selected all 52 cards and then answer n
to the prompt Do you want to continue? (y/n)
does it tell you that there are no more cards in the deck. If you select y
even when you have all 52 cards, the dealer still keeps going, but this doesn't really make sense.
Make a smarter dealer that knows when the deck is out of cards. For example, it could output something like "No cards left" or "All the cards are gone!" when whole deck is dealt, regardless of whether the user wants to continue or not. Then you can prompt the user if they want to start a new hand, and the deck will be reset.
~estimated 50
If I have a deck of 52 unique cards and I draw 5, I shouldn't see those cards again if I draw more cards.
Keep track of the cards that are being handed out to the user, the number of cards left in the deck and which ones they are.
~estimated 200 points
Right now the code has only one java file where everything is defined and run; this isn't a good object oriented design. Create a 'Deck.java' class that has all the functionality of a deck of cards, and move the appropriate code from the first class into that one.
It would also be helpful to redefine the way the cards are expressed (literally writing out "10 of Clubs" to the screen instead of "TC").
~estimated 300 points
The dealer API can be used as a library to provide functionality for other card games. It would be nice if dealer was used in the repo of another game to help build that game.
150 points
300 points
Right now, the game shows all the cards at once whenever we hit any buttons.
It would be great if the card able to shown one by one, after the sounds of deal card.
_300 points_
Change ant to Gradle build system for 200 points
Currently, dealer app does not handle incorrect input well for both CLI and GUI.
For example:
Instead of crashing, it should print error message (not stacktrace) and instruct user to input correct number. Also, it should not allow more than 54 (or total number of cards) players IF the game does not allow dealing 0 hands.
200 points
wouldn't it be nice if the cards had there own image method so you didn't have to implement it for every game?
It takes time to appear the game screen when you select a particular game. -> It's a trade off between game sounds and delay in appearing screen. Partially solved in #55
Can now request to shuffle the deck before each player draws in GUI.
Requesting 50 points
Remove all error and warning messages when building javadoc.
Add all missing javadocs. Some classes (like GameDealerPanel) is missing javadocs for its functions.
100 points
Remove javadoc/ from .gitignore and use gh-pages workflow to publish javadoc to a github pages URL.
100 points
Host the javadoc on github by adding the javadoc to a gh-pages branch.
Take a look at the cs56-games-poker and cs56-games-blackjack repos. Analyze them and refactor the entire codes in this repo in such a way that cs56-games-dealer can be used as a library for "dealing cards" for these games.
only really makes sense if you plan to do #17 but would make adding games easier.
150
Update the javadoc comments and documentation in the readme.md to explain how the dealer API can be used and imported into other games.
300-500 (depending on the game)
300 points
200 points
300 points
150
Current user interface is very simple and user unfriendly. It takes time to appear the game screen when you select a particular game. After selecting a game user can not quit and go back to the main screen. There are lots of other scopes to improve. The description will be updated as the updating process of UI progresses and points for this issue would be 300~500.
Remove all code that is currently not used. (Commented code. Duplicate classes)
50 points
In the project, currently it does not pass all of the Code Climate tests. Pass all the tests.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.