Changed Player and related children classes to have the deck of cards as an attribute rather than a doTurn() arg (array list attributes are references for the values)
Changed UserPlayer and Dealer so that they work enough to run the program for now
InitialView
Added setup(), which generates a deck (will be replaced by API) and sets up the cards for the dealer and player (including the hidden dealer card)
Replaced 1 with "Ace" in the randomly generated deck
Added draw(), which draws a random card from the deck and proceeds to remove it
Changed hitClick(); now it factors in the hit cards against the user's score. User can bust if they get too much score.
Changed standClick(), now starts the dealer's turn and reveals their hidden card. Currently uses a bunch of if/elif statements to determine the outcome after the dealer ends their turn (either busting above a 21 or getting between 17 and 21)
Card
Changed rank attribute to turn words like "queen" into "Q." Make sure to remove if the API outputs single letters only.
Changed the constructor's rank attributes to this.rank to account for the above.
Added toString() for my sanity.
Issues
The GUI doesn't display new dealer cards or when you win/lose/tie. Stand/Hit buttons don't disappear.
Uses system log for summing player score, telling if someone is bust, and saying whether you won/lost/tied.
Terrible code design/architecture for the code I wrote up in InitialView, needs to be pushed to separate classes / placed in the correct spots.
Aces are always 11
Deck does not use the API
Useless methods in Player that need removal probably
Player
InitialView
Card
Issues