The card game is progressing nicely. I now have some basic game looping
and logic working (it's not perfect or 100% corrrect to spec yet.)
Currently it's setup with two very simple AIs that play each other.
Depending on the cards the AIs can play until they exhaust the deck,
which indicates a couple problems: 1) if the deck is exhausted we should
reshuffle the discards into a new deck, and 2) either the AI needs to be
less careful about hoarding phys points, or the card distribution needs
to be tweaked to have less (or less powerful) defense cards. Anyway
some unit tests would be good for this thing someday. Current source
code is available from darcs at
http://dasbistro.com/~sam/card-game.
There is no ANT or Make or anything for it. Right now I just use
javac's capability of tracking down deps on it's own. Anyway here's a
short game log.
Player 1 dealt [Card Drain (Psi) 0 -2 OPPONENT]
Player 2 dealt [Card Shield (Phy) 1 0 SELF]
Player 1 dealt [Card Drain (Phy) -2 0 OPPONENT]
Player 2 dealt [Card Magic Missile (Phy) -4 0 OPPONENT]
Player 1 dealt [Card Heal (Phy) 3 0 SELF]
Player 2 dealt [Card Drain (Psi) 0 -2 OPPONENT]
Player 1 dealt [Card Magic Missile (Phy) -4 0 OPPONENT]
Player 2 dealt [Card Shield (Phy) 1 0 SELF]
Player 1 dealt [Card Drain (Phy) -2 0 OPPONENT]
Player 2 dealt [Card Shield (Psi) 0 1 SELF]
Player 1 dealt [Card Magic Missile (Phy) -4 0 OPPONENT]
Player 2 dealt [Card Heal (Phy) 3 0 SELF]
Player 1:
Phys: 10
Psi: 10
Hand:
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
Active: null
Passive: [Card Heal (Phy) 3 0 SELF]
Player 2:
Phys: 10
Psi: 10
Hand:
[Card Shield (Phy) 1 0 SELF]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Shield (Phy) 1 0 SELF]
[Card Heal (Phy) 3 0 SELF]
Active: null
Passive: [Card Shield (Psi) 0 1 SELF]
Round 0
Player 1:
Phys: 10
Psi: 10
Hand:
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
Active: null
Passive: [Card Heal (Phy) 3 0 SELF]
Player 2:
Phys: 10
Psi: 10
Hand:
[Card Shield (Phy) 1 0 SELF]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Shield (Phy) 1 0 SELF]
[Card Heal (Phy) 3 0 SELF]
Active: null
Passive: [Card Shield (Psi) 0 1 SELF]
[Card Drain (Psi) 0 -2 OPPONENT] played against 2
Player 1 dealt [Card Drain (Psi) 0 -2 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT] played against 1
Player 2 dealt [Card Drain (Phy) -2 0 OPPONENT]
Round 2
Player 1:
Phys: 9
Psi: 10
Hand:
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Psi) 0 -2 OPPONENT]
Active: [Card Drain (Psi) 0 -2 OPPONENT]
Passive: [Card Heal (Phy) 3 0 SELF]
Player 2:
Phys: 10
Psi: 9
Hand:
[Card Shield (Phy) 1 0 SELF]
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Shield (Phy) 1 0 SELF]
[Card Heal (Phy) 3 0 SELF]
[Card Drain (Phy) -2 0 OPPONENT]
Active: [Card Magic Missile (Phy) -4 0 OPPONENT]
Passive: [Card Shield (Psi) 0 1 SELF]
[Card Magic Missile (Phy) -4 0 OPPONENT] played against 2
Player 1 dealt [Card Heal (Phy) 3 0 SELF]
[Card Drain (Psi) 0 -2 OPPONENT] played against 1
Player 2 dealt [Card Shield (Psi) 0 1 SELF]
Round 4
Player 1:
Phys: 12
Psi: 8
Hand:
[Card Drain (Phy) -2 0 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Magic Missile (Phy) -4 0 OPPONENT]
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Heal (Phy) 3 0 SELF]
Active: [Card Magic Missile (Phy) -4 0 OPPONENT]
Passive: [Card Heal (Phy) 3 0 SELF]
Player 2:
Phys: 6
Psi: 10
Hand:
[Card Shield (Phy) 1 0 SELF]
[Card Shield (Phy) 1 0 SELF]
[Card Heal (Phy) 3 0 SELF]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Shield (Psi) 0 1 SELF]
Active: [Card Drain (Psi) 0 -2 OPPONENT]
Passive: [Card Shield (Psi) 0 1 SELF]
[Card Magic Missile (Phy) -4 0 OPPONENT] played against 2
Player 1 dealt [Card Shield (Psi) 0 1 SELF]
[Card Drain (Phy) -2 0 OPPONENT] played against 1
Player 2 dealt [Card Magic Missile (Phy) -4 0 OPPONENT]
Round 6
Player 1:
Phys: 13
Psi: 8
Hand:
[Card Drain (Phy) -2 0 OPPONENT]
[Card Drain (Phy) -2 0 OPPONENT]
[Card Drain (Psi) 0 -2 OPPONENT]
[Card Heal (Phy) 3 0 SELF]
[Card Shield (Psi) 0 1 SELF]
Active: [Card Magic Missile (Phy) -4 0 OPPONENT]
Passive: [Card Heal (Phy) 3 0 SELF]
Player 2:
Phys: 2
Psi: 11
Hand:
[Card Shield (Phy) 1 0 SELF]
[Card Shield (Phy) 1 0 SELF]
[Card Heal (Phy) 3 0 SELF]
[Card Shield (Psi) 0 1 SELF]
[Card Magic Missile (Phy) -4 0 OPPONENT]
Active: [Card Drain (Phy) -2 0 OPPONENT]
Passive: [Card Shield (Psi) 0 1 SELF]
[Card Drain (Phy) -2 0 OPPONENT] played against 2
Player 1 dealt [Card Drain (Phy) -2 0 OPPONENT]
The Winner: Player 1
