Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
d890c60
Initial plan
Copilot Aug 4, 2026
b7c5f48
Initial plan
Copilot Aug 4, 2026
d431e0f
added class files for assigned games
mattgregory89 Aug 4, 2026
4f5adb6
feat: add bare-bones blackjack game with deck, cards, and shoe support
Copilot Aug 4, 2026
cebc7e6
added UML
mattgregory89 Aug 4, 2026
bf5debf
Merge pull request #88 from jalynfitzgerald/copilot/create-blackjack-…
jalynfitzgerald Aug 4, 2026
42da25d
Merge pull request #87 from jalynfitzgerald/copilot/create-shared-pla…
jalynfitzgerald Aug 4, 2026
053b855
Merge branch 'master' into mgbranch
mattgregory89 Aug 4, 2026
b5ef2b3
Merge pull request #90 from jalynfitzgerald/mgbranch
mattgregory89 Aug 4, 2026
46988be
recover Blackjack game
mattgregory89 Aug 5, 2026
a595dd6
Merge branch 'mgbranch' of https://github.com/jalynfitzgerald/GroupCa…
mattgregory89 Aug 5, 2026
7ec8dd4
Initial plan
Copilot Aug 6, 2026
2889250
Initial plan
Copilot Aug 6, 2026
8b0381a
Initial plan
Copilot Aug 6, 2026
1daec17
Add CasinoAccount constructor for BankAccount
Copilot Aug 6, 2026
db0f7db
Initial plan
Copilot Aug 6, 2026
1787d62
Implement account login flow and player account references
Copilot Aug 6, 2026
fd1859e
Strengthen CasinoAccount constructor test
Copilot Aug 6, 2026
b5f0f37
Merge pull request #91 from jalynfitzgerald/copilot/add-player-name-a…
mattgregory89 Aug 6, 2026
7732ad5
Merge pull request #92 from jalynfitzgerald/copilot/add-getaccount-me…
mattgregory89 Aug 6, 2026
d00045d
Merge branch 'master' into copilot/fix-added-constructor-bankaccount
mattgregory89 Aug 6, 2026
9c8e7ec
Merge pull request #93 from jalynfitzgerald/copilot/fix-added-constru…
mattgregory89 Aug 6, 2026
ac2ee06
Merge pull request #94 from jalynfitzgerald/copilot/create-blackjack-…
mattgregory89 Aug 6, 2026
2dd6cf5
Initial plan
Copilot Aug 6, 2026
c6ae1c3
Merge pull request #95 from jalynfitzgerald/copilot/confirm-dealer-ac…
mattgregory89 Aug 6, 2026
2aacdc6
Initial plan
Copilot Aug 6, 2026
327ab2d
Merge pull request #96 from jalynfitzgerald/copilot/write-player-and-…
mattgregory89 Aug 6, 2026
4806fc0
Initial plan
Copilot Aug 6, 2026
cb9c098
Initial plan
Copilot Aug 6, 2026
93d708e
Initial plan
Copilot Aug 6, 2026
3bd9fca
Add initial RoulettePlayer implementation
Terrik-Smith Aug 6, 2026
d54d518
Merge pull request #104 from jalynfitzgerald/Terrik-JakJak
Terrik-Smith Aug 6, 2026
6cbf63d
Merge pull request #103 from jalynfitzgerald/copilot/add-get-account-…
Terrik-Smith Aug 6, 2026
1a64564
Merge pull request #102 from jalynfitzgerald/copilot/create-blackjack…
Terrik-Smith Aug 6, 2026
e431b5e
Merge pull request #97 from jalynfitzgerald/copilot/complete-player-i…
Terrik-Smith Aug 6, 2026
817da78
Initial plan
Copilot Aug 6, 2026
9c171d0
Add getAccount alias and repair CasinoAccount constructors
Copilot Aug 6, 2026
911096b
Merge pull request #105 from jalynfitzgerald/copilot/add-getaccount-m…
mattgregory89 Aug 7, 2026
46e7f4b
Initial plan
Copilot Aug 7, 2026
de9cefd
Refactor card/deck classes into shared package
Copilot Aug 7, 2026
d608ca9
Merge pull request #108 from jalynfitzgerald/copilot/create-or-use-sh…
mattgregory89 Aug 7, 2026
985891d
Initial plan
Copilot Aug 7, 2026
acba10f
Apply remaining changes
Copilot Aug 7, 2026
a24c083
Merge pull request #109 from jalynfitzgerald/copilot/deal-player-and-…
mattgregory89 Aug 7, 2026
3b4804c
Implement basic Roulette game structure
Terrik-Smith Aug 7, 2026
799dd5d
Merge pull request #110 from jalynfitzgerald/Terrik-JakJak
Terrik-Smith Aug 7, 2026
e200cb9
Updated code
mattgregory89 Aug 7, 2026
403a2fd
Merge branch 'master' into mgbranch
mattgregory89 Aug 7, 2026
d0493e5
Merge pull request #111 from jalynfitzgerald/mgbranch
mattgregory89 Aug 7, 2026
6d77aa3
jf casino acct class
Aug 7, 2026
7d04531
Updated JakJak Menu
Terrik-Smith Aug 7, 2026
1969638
Merge branch 'master' into Terrik-JakJak
mattgregory89 Aug 7, 2026
55f56e7
Merge pull request #112 from jalynfitzgerald/Terrik-JakJak
mattgregory89 Aug 7, 2026
5c1a7d4
Restructure player
mattgregory89 Aug 7, 2026
07d3f65
blackjack test attempt
mattgregory89 Aug 7, 2026
81440d7
Merge branch 'master' into mgbranch
mattgregory89 Aug 7, 2026
23de856
Merge pull request #113 from jalynfitzgerald/mgbranch
mattgregory89 Aug 7, 2026
461c97e
push
Aug 7, 2026
da9c1a0
Implement basic Roulette game and player
Terrik-Smith Aug 7, 2026
e0a69e3
Merge pull request #114 from jalynfitzgerald/Terrik-JakJak
Terrik-Smith Aug 7, 2026
9c8e73d
blackjack
mattgregory89 Aug 7, 2026
5694fb4
Merge branch 'mgbranch' of https://github.com/jalynfitzgerald/GroupCa…
mattgregory89 Aug 7, 2026
593b4d0
jf number guess game
Aug 7, 2026
3f188cc
edit
mattgregory89 Aug 7, 2026
51d4972
Merge pull request #115 from jalynfitzgerald/mgbranch
mattgregory89 Aug 7, 2026
4b43b10
Complete Roulette game implementation and update casino menu
Terrik-Smith Aug 7, 2026
a627c85
Merge pull request #116 from jalynfitzgerald/Jaymoney
jalynfitzgerald Aug 7, 2026
9a3dca1
Merge master updates
Terrik-Smith Aug 7, 2026
5add226
3 games working
mattgregory89 Aug 7, 2026
d72dc89
Merge branch 'master' into mgbranch
mattgregory89 Aug 7, 2026
9912765
Merge pull request #117 from jalynfitzgerald/mgbranch
Terrik-Smith Aug 7, 2026
d953714
Horse Race Game
Aug 7, 2026
11d2e3c
Merge pull request #118 from jalynfitzgerald/Jaymoney
mattgregory89 Aug 7, 2026
5b0d984
jf finishing HorseRace
Aug 8, 2026
582a07b
Merge pull request #119 from jalynfitzgerald/Jaymoney
jalynfitzgerald Aug 8, 2026
7cb7163
jf finish horse race
Aug 10, 2026
3f962c7
Merge pull request #120 from jalynfitzgerald/Jaymoney
jalynfitzgerald Aug 10, 2026
4c7b306
HorseRace and Craps
mattgregory89 Aug 10, 2026
b04109f
fianl
mattgregory89 Aug 10, 2026
e5c61ba
Merge branch 'master' into mgbranch
mattgregory89 Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
238 changes: 238 additions & 0 deletions src/Casino_Simplified.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
@startuml
title JakJak Casino - MVP UML

skinparam classAttributeIconSize 0
top to bottom direction

class Casino {
- games : List<GameInterface>
- accountManager : CasinoAccountManager
+ start()
+ playGame()
}

class CasinoAccountManager {
+ createAccount()
+ getAccount()
}

class CasinoAccount {
- balance : double
+ deposit(amount)
+ withdraw(amount)
+ getBalance()
}

interface GameInterface {
+ setup()
+ play()
+ getRules()
}

interface PlayerInterface {
+ placeBet()
+ getAccount()
}

class CrapsGame {
+rollDice()
+isDoubles()
+resolveBet()
}

class SlotsGame {
+spin(player : SlotsPlayer) : SpinResult
+determinePayout(result : SpinResult, bet : int) : int
}

class SlotsPlayer {
-betAmount : int
+placeBet(amount : int) : boolean
+getBetAmount() : int
}

class SlotMachine {
+spinReels() : SpinResult
}

class SpinResult {
-symbols : List<String>
+isWinner() : boolean
}

class RouletteGame {
+spinWheel() : int
+determineWinner(player : RoulettePlayer, result : int) : boolean
}

class RoulettePlayer {
-selectedNumber : int
-betAmount : int
+placeBet(number : int, amount : double) : boolean
+getSelectedNumber() : int
}

class RouletteWheel {
+spin() : int
}

class HorseRaceGame {
+runRace() : RaceHorse
+determineWinner(horses : List<RaceHorse>) : RaceHorse
}

class HorseRacePlayer {
-selectedHorse : RaceHorse
-betAmount : double
+placeBet(horse : RaceHorse, amount : double) : boolean
+getSelectedHorse() : RaceHorse
}

class RaceHorse {
-name : String
-position : int
+move() : int
+getPosition() : int
}

class NumberGuessGame {
-randomNumber : int
+generateNumber() : int
+checkGuess(guess : int) : GuessResult
}

class NumberGuessPlayer {
-guess : int
+makeGuess(number : int) : int
}

enum GuessResult {
TOO_HIGH
TOO_LOW
CORRECT
}

class CrapsPlayer {
+placeBet(type : CrapsBetType, amount : int) : CrapsBet
+getActiveBets() : List<CrapsBet>
}

class BlackjackGame {
+deal(player : BlackjackPlayer, dealer : DealerPlayer) : boolean
+hit(player : BlackjackPlayer) : Card
+stand(player : BlackjackPlayer) : boolean
+determineWinner(player : BlackjackPlayer, dealer : DealerPlayer) : String
}

class BlackjackPlayer {
-hand : Hand
+getHand() : Hand
+isBusted() : boolean
}

class DealerPlayer {
-hand : Hand
+getHand() : Hand
+shouldHit() : boolean
}

class Shoe {
+drawCard() : Card
+shuffle() : boolean
}

class Hand {
-cards : List<Card>
+addCard(card : Card) : boolean
+getValue() : int
}

class Card {
-rank : String
-suit : String
+getValue() : int
}

abstract class CrapsBet {
-amount : int
-active : boolean
+resolve(roll : DiceRoll) : BetResult
+isActive() : boolean
}

class PersistentBet {
+resolve(roll : DiceRoll) : BetResult
}

class OneRollBet {
+resolve(roll : DiceRoll) : BetResult
}

class HardWayBet {
-targetNumber : int
+resolve(roll : DiceRoll) : BetResult
}

Casino --> CasinoAccountManager
Casino --> GameInterface : runs
CasinoAccountManager --> CasinoAccount : creates

PlayerInterface --> CasinoAccount : uses

GameInterface <|.. SlotsGame
GameInterface <|.. BlackjackGame
GameInterface <|.. CrapsGame
GameInterface <|.. RouletteGame
GameInterface <|.. HorseRaceGame
GameInterface <|.. NumberGuessGame

PlayerInterface <|.. SlotsPlayer
PlayerInterface <|.. BlackjackPlayer
PlayerInterface <|.. CrapsPlayer
PlayerInterface <|.. RoulettePlayer
PlayerInterface <|.. HorseRacePlayer
PlayerInterface <|.. NumberGuessPlayer

BlackjackGame *-- BlackjackPlayer
BlackjackGame *-- DealerPlayer
CrapsGame *-- CrapsPlayer
RouletteGame *-- RoulettePlayer
HorseRaceGame *-- HorseRacePlayer
NumberGuessGame *-- NumberGuessPlayer
NumberGuessGame --> GuessResult

BlackjackGame *-- Shoe
Shoe *-- Deck : x decks combined
Deck *-- Card
Card *-- Hand
BlackjackPlayer *-- Hand
DealerPlayer *-- Hand

CrapsGame *-- Die : 2 die

RouletteGame *-- RouletteWheel

SlotsGame *-- SlotsPlayer
SlotsGame *-- SlotMachine
SlotMachine --> SpinResult : creates

HorseRaceGame *-- HorseRacePlayer
HorseRaceGame *-- "2..*" RaceHorse

CrapsBet <|-- PersistentBet
CrapsBet <|-- OneRollBet
PersistentBet <|-- HardWayBet
CrapsPlayer --> CrapsBet : places
CrapsGame --> CrapsBet : resolves


legend left
*-- Composition (owns)
o-- Aggregation (uses)
--> Association
<|.. Implements
+ Public
- Private
endlegend

@enduml
Loading