How kuyamoakel/dcit50-card-game works
This is a console card-battle game: the player starts a match, selects a difficulty, faces a randomly chosen boss, chooses cards to play, and receives a battle result. The runtime separates match setup and turn orchestration, boss/player state, and card effects. The README also documents boss variation, card-stat/status commands, and damage-over-time effects. The graph follows the sampled Java calls; it does not assume unsampled behavior beyond those documented capabilities.
Main entry points: Enemy.java Boss State · BattleEngine.java Battle Engine · Deck.java Master Deck · Player.java Player State
Components 14
Match Flow
- Game Setup
Main.java - Difficulty Bosses
Difficulty.java - Battle Engine
BattleEngine.java
Combat State
- Player State
Player.java - Boss State
Enemy.java
Card System
- Master Deck
Deck.java - Card Base
Card.java - Physical Cards
PhysicalCard.java - Magic Cards
MagicCard.java - Pure Cards
PureCard.java - Buff Cards
BuffCard.java - Demi Cards
DemiCard.java - Infliction Cards
InflictionCard.java
Other components
- Player
Connections 35
- Player → Game Setup: starts game
Main.java - Game Setup → Difficulty Bosses: selects bosses
Main.java - Game Setup → Battle Engine: starts battle
Main.java - Game Setup → Master Deck: creates deck
Main.java - Game Setup → Player State: creates hero
Main.java - Difficulty Bosses → Boss State: provides bosses
Difficulty.java - Battle Engine → Boss State: chooses boss
BattleEngine.java - Battle Engine → Master Deck: draws cards
BattleEngine.java - Battle Engine → Card Base: plays selected
BattleEngine.java - Battle Engine → Player State: runs turns
BattleEngine.java - Battle Engine → Boss State: runs attacks
BattleEngine.java - Master Deck → Physical Cards: builds pool
Deck.java - Master Deck → Magic Cards: builds pool
Deck.java - Master Deck → Pure Cards: builds pool
Deck.java - Master Deck → Buff Cards: builds pool
Deck.java - Master Deck → Demi Cards: builds pool
Deck.java - Master Deck → Infliction Cards: builds pool
Deck.java - Physical Cards → Card Base: extends
PhysicalCard.java - Magic Cards → Card Base: extends
MagicCard.java - Pure Cards → Card Base: extends
PureCard.java - Buff Cards → Card Base: extends
BuffCard.java - Demi Cards → Card Base: extends
DemiCard.java - Infliction Cards → Card Base: extends
InflictionCard.java - Physical Cards → Player State: spends mana
PhysicalCard.java - Physical Cards → Boss State: deals damage
PhysicalCard.java - Magic Cards → Player State: heals, restores
MagicCard.java - Magic Cards → Boss State: deals damage
MagicCard.java - Pure Cards → Player State: spends, harms
PureCard.java - Pure Cards → Boss State: deals damage
PureCard.java - Buff Cards → Player State: boosts health
BuffCard.java - Buff Cards → Battle Engine: reduces hand cost
BuffCard.java - Demi Cards → Boss State: percent damage
DemiCard.java - Infliction Cards → Boss State: applies effect
InflictionCard.java - Battle Engine → Boss State: ticks effect
BattleEngine.java - Boss State → Player State: attacks
Enemy.java