Dominion Strategy Forum

Please login or register.

Login with username, password and session length
Pages: [1]

Author Topic: Dominion Fan Card Simulator - Still in progress  (Read 3056 times)

0 Members and 1 Guest are viewing this topic.

XerxesPraelor

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1069
  • Respect: +363
    • View Profile
Dominion Fan Card Simulator - Still in progress
« on: October 08, 2013, 06:47:52 am »
0

Okay, since all the simulators I can find either require you to set up your system in difficult ways I can't do or don't let you edit them to create fan cards, 2 days ago I decided to create my own simulator on inform7, since that's the only programming language I have very much expertise in.
Its only pros are that it's easy to create fan cards and doesn't require lots of downloads, but I guess not many other people are in my curious situation and so I doubt anybody wants it, but I thought I might as well post here about it.

A link for those interested:
http://inform7.com/

The link is to the program with which to run the file.

10/15: Added Coin tokens, baker, and plaza
10/14: Added durations, fixed Militia and Bureaucrat.
10/12: Giant overhaul, destroyed the ability for humans to play in the name of compactness
10/11: Added gardens and auto-scoring, fool's gold as well.
10/9: Added chapel, fixed throne room and adventurer.
10/8: Added the vanilla cards and witch. Made some strategies.
10/7: Created the base of the simulator.
« Last Edit: October 15, 2013, 05:57:19 am by XerxesPraelor »
Logged

XerxesPraelor

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1069
  • Respect: +363
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #1 on: October 09, 2013, 05:47:43 am »
0

I hope I'm not spamming...

Chapel has been added, and the way strategies are has been dramatically changed. Now that I think everything is in place, I only need to start adding all the cards.

Here's Sea Hag, for example.
Code: [Select]
Sea Hag is a card.
Sea Hag is in Playing Room.
Sea Hag is actioncard.
The cost of Sea Hag is 4.
An effect rule for Sea Hag:
if the in-supply of curse is 0:
rule fails;
add entry 1 of the deck of not-player to the discard of not-player;
remove entry 1 from the deck of not-player;
sort the deck of not-player in reverse order;
add Curse to the deck of not-player;
sort the deck of not-player in reverse order.
« Last Edit: October 11, 2013, 04:41:23 am by XerxesPraelor »
Logged

Warfreak2

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1149
  • KC->KC->[Scavenger, Scavenger, Lookout]
  • Respect: +1324
    • View Profile
    • Music what I do
Re: Dominion Fan Card Simulator - Still in progress
« Reply #2 on: October 09, 2013, 03:07:58 pm »
+1

Based on the code quoted, where you even have to have seperate code just for player 2 to do the same thing, I really think this would be a lot easier for you if you learned a better language more suited to general purpose computation. (I recommend Python). Given that you can clearly think abstractly and algorithmically, I promise it won't be too hard.
Logged
If the only engine on the board is Procession->Conspirator, I will play it.

XerxesPraelor

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1069
  • Respect: +363
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #3 on: October 11, 2013, 04:40:09 am »
0

Yeah, I guess I'll have to learn Python eventually, but given that I already know I7 really well and I'm just doing this for the completed product, I think I'll keep on here. I did manage to change Witch's code so that I don't have to do everything twice.

On another note, strategies are shortened yet again because I figured out how to refactor some more things, so here's my Witch/Chapel strategy, which wins handily against both the engine strategy and the BasicBigMoney strategies I made. Is anyone willing to create some more strategies for me to test with? That's the hardest part for me.
Code: [Select]
WitchChapel is a strategy.
The cards-playing-with of WitchChapel is {Copper, Silver, Gold, Estate, Duchy, Province, Curse, Chapel, Witch}.
The card-buy-values of WitchChapel is {0, 1, 4, 0, 0, 5, 0, 2, 3}.
The card-play-values of WitchChapel is {0, 0, 0, 0, 0, 0, 0, 1, 2}.
The card-trash-values of WitchChapel is {1, 0, 0, 2, 0, 0, 3, 0, 0}.
The treasure-play-values of WitchChapel is {1, 2, 3, 0, 0, 0, 0, 0, 0}.
A buy rule for WitchChapel:
if the totalCards of Chapel is greater than 0:
now entry 8 of the card-buy-values of WitchChapel is 0;
if the totalCards of Witch is greater than 1:
now entry 9 of the card-buy-values of WitchChapel is 0.
I like how short it is: that's one of the few things it has over dominate.

And here's adventurer, finally tested.
Code: [Select]
Adventurer is a card.
Adventurer is actioncard.
The cost of Adventurer is 6.
An effect rule for Adventurer:
let s be 0;
repeat with n running from 1 to 2:
if the number of entries in the deck of play-er is 0 and the number of entries in the discard of the play-er is 0:
break;
if the number of entries in the deck of play-er is 0:
say "Reshuffling...[reshuffle]";
let v be entry 1 of the deck of play-er;
if v is treasure:
add v to the hand of play-er;
say "[play-er] drew [v].";
remove entry 1 from the deck of play-er;
otherwise:
now n is n minus 1;
add entry 1 of the deck of play-er to the discard of the play-er;
remove entry 1 from the deck of play-er.
« Last Edit: October 11, 2013, 04:42:13 am by XerxesPraelor »
Logged

Sparafucile

  • Spy
  • ****
  • Offline Offline
  • Posts: 85
  • Respect: +137
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #4 on: October 13, 2013, 03:17:13 am »
0

I applaud your enthusiasm in making a fan card simulator.  It's looking like a good start.   I can tell you from work on my own, that it's a deceptively large amount of work to make a complete simulator.  I've spent 1/2 year in my spare time, and it's not quite complete yet.   If you decide to check out Dominulator let me know if I can help.   It's written to be very modular - and it's relatively easy to add any custom card you would like.  Adding a new card is only a couple minutes work if it uses mechanics similar to an existing one.  New mechanics would require the game engine itself be extended of course.   You do need to be able to program to extended it, but what better way to practice than on something you are already passionate about.
Logged

XerxesPraelor

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1069
  • Respect: +363
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #5 on: October 13, 2013, 08:39:28 am »
0

Just something small, how did you get the AI to play with coin tokens? I've been trying quite a few things, and none of them seem to work.
Logged

Matt_Arnold

  • Thief
  • ****
  • Offline Offline
  • Posts: 90
  • Designer of "Overworld" by Magic Meeple Games.
  • Respect: +46
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #6 on: October 13, 2013, 12:16:12 pm »
0

You're amazing. Granted, I love Python, and WarFreak2 is right, but I have to admit InForm 7 has a place in my heart. May I have your source code?
Logged

Sparafucile

  • Spy
  • ****
  • Offline Offline
  • Posts: 85
  • Respect: +137
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #7 on: October 13, 2013, 02:08:43 pm »
0

Quote
Just something small, how did you get the AI to play with coin tokens?

As with other simulators, the key component of most strategies is a prioritized list of what you want to gain.  e.g.  Gain a province if possible, otherwise Gain a Gold if possible etc...

In order to make the simulator work with coin tokens, you need to know not only what cards you would prefer to gain, but how much you are willing to over pay for it.  One example might be
  • Prefer to gain a province
  • Prefer to gain a province, and overpay by 1 if you have to
  • Prefer to gain a gold
  • Prefer to gain a province, overpay by 3 if u have to
  • etc ...

Assuming you have such a prioritized list, you can then use the amount of coin you have and number of coin tokens to find the first match.   So, in the above example, if I had 7 coin to spend and 4 coin tokens, then as per the list above I would overpay by 1 to buy a province.

Even though every strategy can customize each purchase precision, I find a good default is "overpay as much as possible in order to make the purchase".

I've written a ButcherPlazaWatchtower strategy that beats big money 57% to 39% when using shelters.  Here's the code
Code: [Select]
private static ICardPicker PurchaseOrder()
            {
                var highPriority = new CardPickByPriority(
                          CardAcceptance.For(Cards.Province),
                          CardAcceptance.For(Cards.Duchy, gameState => CountOfPile(Cards.Province, gameState) <= 2),                         
                          CardAcceptance.For(Cards.Estate, gameState => CountOfPile(Cards.Province, gameState) <= 2),
                          CardAcceptance.For(Cards.Butcher, gameState => CountAllOwned(Cards.Butcher, gameState) < 2),
                          CardAcceptance.For(Cards.Estate, gameState => CountOfPile(Cards.Province, gameState) <= 3));

                var buildOrder = new CardPickByBuildOrder(
                    CardAcceptance.For(Cards.Silver, gameState => CountAllOwned(Cards.Plaza, gameState) == 0),
                    CardAcceptance.For(Cards.Watchtower),
                    CardAcceptance.For(Cards.Plaza),
                    CardAcceptance.For(Cards.Plaza),
                    CardAcceptance.For(Cards.Watchtower)
                    );

                var lowPriority = new CardPickByPriority(
                           CardAcceptance.For(Cards.Watchtower, gameState => CountAllOwned(Cards.Butcher, gameState) + CountAllOwned(Cards.Watchtower, gameState) < CountAllOwned(Cards.Plaza, gameState)),
                           CardAcceptance.For(Cards.Plaza),
                           CardAcceptance.For(Cards.Watchtower));

                return new CardPickConcatenator(highPriority, buildOrder, lowPriority);               
            }           

            private static CardPickByPriority ActionOrder()
            {
                return new CardPickByPriority(
                           CardAcceptance.For(Cards.Necropolis),
                           CardAcceptance.For(Cards.Butcher, gameState => gameState.Self.AvailableActions > 1),
                           CardAcceptance.For(Cards.Watchtower, gameState => gameState.Self.AvailableActions > 1 && !gameState.Self.Hand.AnyWhere(c => c.isTreasure) && gameState.Self.Hand.AnyOf(Cards.Plaza)),
                           CardAcceptance.For(Cards.Plaza),
                           CardAcceptance.For(Cards.Watchtower, gameState => gameState.Self.AvailableActions == 1),                           
                           CardAcceptance.For(Cards.Butcher),
                           CardAcceptance.For(Cards.Watchtower));
            }                       

            private static CardPickByPriority TrashOrder()
            {
                return new CardPickByPriority(
                           CardAcceptance.For(Cards.Estate),
                           CardAcceptance.For(Cards.OvergrownEstate),
                           CardAcceptance.For(Cards.Necropolis),
                           CardAcceptance.For(Cards.Hovel),                           
                           CardAcceptance.For(Cards.Copper),
                           CardAcceptance.For(Cards.Silver),
                           CardAcceptance.For(Cards.Butcher),
                           CardAcceptance.For(Cards.Watchtower),                           
                           CardAcceptance.For(Cards.Duchy),
                           CardAcceptance.For(Cards.Province));
            }

            private static CardPickByPriority DiscardOrder()
            {
                return new CardPickByPriority(                           
                           CardAcceptance.For(Cards.Copper),
                           CardAcceptance.For(Cards.Silver));
            }

Here's an example game log showing the coin token mechanic working.  First coin spend is on turn 5.  Spend 2 coin tokens to gain a plaza.  On turn 10, it figures out that only 2 coin tokens are needed to buy a province. (leaving 3 for next turn)

Code: [Select]
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Copper.
ButcherPlazaWatchtower gained Hovel.
ButcherPlazaWatchtower gained Necropolis.
ButcherPlazaWatchtower gained Overgrown Estate.
BigMoney gained Copper.
BigMoney gained Copper.
BigMoney gained Copper.
BigMoney gained Copper.
BigMoney gained Copper.
BigMoney gained Copper.
BigMoney gained Copper.
BigMoney gained Hovel.
BigMoney gained Necropolis.
BigMoney gained Overgrown Estate.
ButcherPlazaWatchtower reshuffled
ButcherPlazaWatchtower Drew Copper into hand.
ButcherPlazaWatchtower Drew Copper into hand.
ButcherPlazaWatchtower Drew Copper into hand.
ButcherPlazaWatchtower Drew Overgrown Estate into hand.
ButcherPlazaWatchtower Drew Copper into hand.
BigMoney reshuffled
BigMoney Drew Hovel into hand.
BigMoney Drew Copper into hand.
BigMoney Drew Copper into hand.
BigMoney Drew Copper into hand.
BigMoney Drew Overgrown Estate into hand.
ROUND 1
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Copper,Copper,Overgrown Estate,
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 4 all together.
  ButcherPlazaWatchtower bought Silver.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Overgrown Estate.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Hovel into hand.
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower ends turn with deck: Copper(7), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(1),

BigMoney begins turn
With hand: Copper,Copper,Copper,Hovel,Overgrown Estate,
  BigMoney Played Copper.
    +1 Coin = 1 all together.
  BigMoney Played Copper.
    +1 Coin = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 3 all together.
  BigMoney bought Silver.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Hovel.
  BigMoney Discarded Overgrown Estate.
  BigMoney Drew Copper into hand.
  BigMoney Drew Necropolis into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(1),

ROUND 2
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Copper,Hovel,Necropolis,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower bought Watchtower.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Discarded Hovel.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Silver into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower ends turn with deck: Copper(7), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(1), Watchtower(1),

BigMoney begins turn
With hand: Copper,Copper,Copper,Copper,Necropolis,
  BigMoney Played Necropolis.
    +2 Actions = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 1 all together.
  BigMoney Played Copper.
    +1 Coin = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 3 all together.
  BigMoney Played Copper.
    +1 Coin = 4 all together.
  BigMoney bought Silver.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Necropolis.
  BigMoney reshuffled
  BigMoney Drew Silver into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Silver into hand.
  BigMoney ends turn with deck: Copper(7), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(2),

ROUND 3
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Copper,Necropolis,Silver,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Silver.
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 4 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 5 all together.
  ButcherPlazaWatchtower bought Butcher.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Silver.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Overgrown Estate into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Hovel into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(7), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(1), Watchtower(1),

BigMoney begins turn
With hand: Copper,Copper,Copper,Silver,Silver,
  BigMoney Played Silver.
    +2 Coin = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 4 all together.
  BigMoney Played Copper.
    +1 Coin = 5 all together.
  BigMoney Played Copper.
    +1 Coin = 6 all together.
  BigMoney Played Copper.
    +1 Coin = 7 all together.
  BigMoney bought Gold.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Drew Hovel into hand.
  BigMoney Drew Necropolis into hand.
  BigMoney Drew Overgrown Estate into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Gold(1), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(2),

ROUND 4
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Copper,Hovel,Overgrown Estate,
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower bought Watchtower.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Hovel.
  ButcherPlazaWatchtower Discarded Overgrown Estate.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Butcher into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(7), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Copper,Hovel,Necropolis,Overgrown Estate,
  BigMoney Played Necropolis.
    +2 Actions = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 1 all together.
  BigMoney Played Copper.
    +1 Coin = 2 all together.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Necropolis.
  BigMoney Discarded Hovel.
  BigMoney Discarded Overgrown Estate.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney reshuffled
  BigMoney Drew Copper into hand.
  BigMoney Drew Necropolis into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Gold(1), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(2),

ROUND 5
-------------
ButcherPlazaWatchtower begins turn
With hand: Butcher,Copper,Copper,Copper,Watchtower,
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 2 all together.
    ButcherPlazaWatchtower trashed Copper.
    ButcherPlazaWatchtower gained Copper.
      ButcherPlazaWatchtower trashed Copper.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 2 all together.
  ButcherPlazaWatchtower spent 2 coin tokens.  0 remaining
    +2 Coin = 4 all together.
  ButcherPlazaWatchtower bought Plaza.
    ... and placed card on top of deck
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Hovel into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(6), Hovel(1), Necropolis(1), Overgrown Estate(1), Plaza(1), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Copper,Copper,Copper,Necropolis,
  BigMoney Played Necropolis.
    +2 Actions = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 1 all together.
  BigMoney Played Copper.
    +1 Coin = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 3 all together.
  BigMoney Played Copper.
    +1 Coin = 4 all together.
  BigMoney bought Silver.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Necropolis.
  BigMoney Drew Copper into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Hovel into hand.
  BigMoney Drew Overgrown Estate into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Gold(1), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(3),

ROUND 6
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Hovel,Necropolis,Plaza,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Overgrown Estate into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Discarded Hovel.
  ButcherPlazaWatchtower Discarded Overgrown Estate.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Silver into hand.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(6), Hovel(1), Necropolis(1), Overgrown Estate(1), Plaza(1), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Copper,Hovel,Overgrown Estate,Silver,
  BigMoney Played Silver.
    +2 Coin = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 3 all together.
  BigMoney Played Copper.
    +1 Coin = 4 all together.
  BigMoney bought Silver.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Hovel.
  BigMoney Discarded Overgrown Estate.
  BigMoney Drew Silver into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Gold into hand.
  BigMoney reshuffled
  BigMoney Drew Copper into hand.
  BigMoney Drew Silver into hand.
  BigMoney ends turn with deck: Copper(7), Gold(1), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(4),

ROUND 7
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Necropolis,Silver,Watchtower,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Drew Hovel into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Watchtower into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 4 all together.
    ButcherPlazaWatchtower trashed Hovel.
    ButcherPlazaWatchtower spent 4 coin tokens.  0 remaining
    ButcherPlazaWatchtower gained Butcher.
  ButcherPlazaWatchtower Played Silver.
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 4 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 5 all together.
  ButcherPlazaWatchtower bought Plaza.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Silver.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Overgrown Estate into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Silver into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(2), Copper(6), Necropolis(1), Overgrown Estate(1), Plaza(2), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Copper,Gold,Silver,Silver,
  BigMoney Played Gold.
    +3 Coin = 3 all together.
  BigMoney Played Silver.
    +2 Coin = 5 all together.
  BigMoney Played Silver.
    +2 Coin = 7 all together.
  BigMoney Played Copper.
    +1 Coin = 8 all together.
  BigMoney Played Copper.
    +1 Coin = 9 all together.
  BigMoney bought Gold.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Gold.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Gold(2), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(4),

ROUND 8
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Copper,Overgrown Estate,Silver,
  ButcherPlazaWatchtower Played Silver.
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 4 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 5 all together.
  ButcherPlazaWatchtower bought Plaza.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Silver.
  ButcherPlazaWatchtower Discarded Overgrown Estate.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(2), Copper(6), Necropolis(1), Overgrown Estate(1), Plaza(3), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Copper,Copper,Copper,Copper,
  BigMoney Played Copper.
    +1 Coin = 1 all together.
  BigMoney Played Copper.
    +1 Coin = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 3 all together.
  BigMoney Played Copper.
    +1 Coin = 4 all together.
  BigMoney Played Copper.
    +1 Coin = 5 all together.
  BigMoney bought Silver.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Drew Hovel into hand.
  BigMoney Drew Necropolis into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Overgrown Estate into hand.
  BigMoney ends turn with deck: Copper(7), Gold(2), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(5),

ROUND 9
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Necropolis,Plaza,Watchtower,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Watchtower into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Drew Butcher into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower reshuffled
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 4 all together.
    ButcherPlazaWatchtower trashed Copper.
    ButcherPlazaWatchtower spent 4 coin tokens.  0 remaining
    ButcherPlazaWatchtower gained Plaza.
      ... and placed card on top of deck
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Overgrown Estate into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Silver into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 4 all together.
    ButcherPlazaWatchtower trashed Overgrown Estate.
      ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower spent 3 coin tokens.  1 remaining
    ButcherPlazaWatchtower gained Plaza.
  ButcherPlazaWatchtower Played Silver.
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 4 all together.
  ButcherPlazaWatchtower bought Watchtower.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Silver.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(2), Copper(5), Necropolis(1), Plaza(5), Silver(1), Watchtower(3),

BigMoney begins turn
With hand: Hovel,Necropolis,Overgrown Estate,Silver,Silver,
  BigMoney Played Necropolis.
    +2 Actions = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 4 all together.
  BigMoney bought Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Necropolis.
  BigMoney Discarded Hovel.
  BigMoney Discarded Overgrown Estate.
  BigMoney reshuffled
  BigMoney Drew Copper into hand.
  BigMoney Drew Gold into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Gold(2), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(6),

ROUND 10
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Plaza,Plaza,Watchtower,Watchtower,
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 3 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Drew Silver into hand.
    ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Necropolis into hand.
    ButcherPlazaWatchtower Discarded Silver.
    +1 coin tokens = 4 all together.
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 4 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 6 all together.
    ButcherPlazaWatchtower trashed Butcher.
    ButcherPlazaWatchtower spent 3 coin tokens.  3 remaining
    ButcherPlazaWatchtower gained Province.
      ... and placed card on top of deck
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 4 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 4 all together.
    ButcherPlazaWatchtower reshuffled
    ButcherPlazaWatchtower Drew Silver into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 5 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Played Silver.
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 3 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 4 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 5 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 6 all together.
  ButcherPlazaWatchtower spent 2 coin tokens.  3 remaining
    +2 Coin = 8 all together.
  ButcherPlazaWatchtower bought Province.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Silver.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Butcher into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(5), Necropolis(1), Plaza(5), Province(2), Silver(1), Watchtower(3),

BigMoney begins turn
With hand: Copper,Copper,Copper,Copper,Gold,
  BigMoney Played Gold.
    +3 Coin = 3 all together.
  BigMoney Played Copper.
    +1 Coin = 4 all together.
  BigMoney Played Copper.
    +1 Coin = 5 all together.
  BigMoney Played Copper.
    +1 Coin = 6 all together.
  BigMoney Played Copper.
    +1 Coin = 7 all together.
  BigMoney bought Gold.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Gold.
  BigMoney Drew Overgrown Estate into hand.
  BigMoney Drew Necropolis into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Hovel into hand.
  BigMoney ends turn with deck: Copper(7), Gold(3), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(6),

ROUND 11
-------------
ButcherPlazaWatchtower begins turn
With hand: Butcher,Copper,Plaza,Province,Province,
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Watchtower into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 4 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 5 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 7 all together.
    ButcherPlazaWatchtower trashed Copper.
    ButcherPlazaWatchtower spent 5 coin tokens.  2 remaining
    ButcherPlazaWatchtower gained Butcher.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower spent 2 coin tokens.  0 remaining
    +2 Coin = 3 all together.
  ButcherPlazaWatchtower bought Watchtower.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(2), Copper(4), Necropolis(1), Plaza(5), Province(2), Silver(1), Watchtower(4),

BigMoney begins turn
With hand: Copper,Hovel,Necropolis,Overgrown Estate,Silver,
  BigMoney Played Necropolis.
    +2 Actions = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 2 all together.
  BigMoney Played Copper.
    +1 Coin = 3 all together.
  BigMoney bought Silver.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Necropolis.
  BigMoney Discarded Hovel.
  BigMoney Discarded Overgrown Estate.
  BigMoney Drew Silver into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Gold into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Silver into hand.
  BigMoney ends turn with deck: Copper(7), Gold(3), Hovel(1), Necropolis(1), Overgrown Estate(1), Silver(7),

ROUND 12
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Necropolis,Plaza,Plaza,Watchtower,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Watchtower into hand.
    ButcherPlazaWatchtower Drew Silver into hand.
    ButcherPlazaWatchtower reshuffled
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 4 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 3 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Drew Watchtower into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 4 all together.
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Discarded Silver.
    +1 coin tokens = 4 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 6 all together.
    ButcherPlazaWatchtower trashed Watchtower.
    ButcherPlazaWatchtower spent 5 coin tokens.  1 remaining
    ButcherPlazaWatchtower gained Province.
      ... and placed card on top of deck
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 4 all together.
    ButcherPlazaWatchtower trashed Copper.
    ButcherPlazaWatchtower spent 4 coin tokens.  0 remaining
    ButcherPlazaWatchtower gained Plaza.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Butcher into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Butcher into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(2), Copper(3), Necropolis(1), Plaza(6), Province(3), Silver(1), Watchtower(3),

BigMoney begins turn
With hand: Copper,Gold,Silver,Silver,Silver,
  BigMoney Played Gold.
    +3 Coin = 3 all together.
  BigMoney Played Silver.
    +2 Coin = 5 all together.
  BigMoney Played Silver.
    +2 Coin = 7 all together.
  BigMoney Played Silver.
    +2 Coin = 9 all together.
  BigMoney Played Copper.
    +1 Coin = 10 all together.
  BigMoney bought Province.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Gold.
  BigMoney Drew Silver into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Silver into hand.
  BigMoney reshuffled
  BigMoney Drew Province into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Gold(3), Hovel(1), Necropolis(1), Overgrown Estate(1), Province(1), Silver(7),

ROUND 13
-------------
ButcherPlazaWatchtower begins turn
With hand: Butcher,Butcher,Copper,Plaza,Plaza,
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 4 all together.
    ButcherPlazaWatchtower trashed Butcher.
    ButcherPlazaWatchtower spent 3 coin tokens.  1 remaining
    ButcherPlazaWatchtower gained Province.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Drew Necropolis into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(3), Necropolis(1), Plaza(6), Province(4), Silver(1), Watchtower(3),

BigMoney begins turn
With hand: Copper,Copper,Province,Silver,Silver,
  BigMoney Played Silver.
    +2 Coin = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 4 all together.
  BigMoney Played Copper.
    +1 Coin = 5 all together.
  BigMoney Played Copper.
    +1 Coin = 6 all together.
  BigMoney bought Duchy.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Province.
  BigMoney Drew Gold into hand.
  BigMoney Drew Gold into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Duchy(1), Gold(3), Hovel(1), Necropolis(1), Overgrown Estate(1), Province(1), Silver(7),

ROUND 14
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Necropolis,Province,Watchtower,Watchtower,
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 2 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Silver into hand.
    ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower reshuffled
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Discarded Silver.
    +1 coin tokens = 3 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 5 all together.
    ButcherPlazaWatchtower trashed Watchtower.
    ButcherPlazaWatchtower spent 5 coin tokens.  0 remaining
    ButcherPlazaWatchtower gained Province.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 4 all together.
    ButcherPlazaWatchtower Drew Copper into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(3), Necropolis(1), Plaza(6), Province(5), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Gold,Gold,Silver,Silver,
  BigMoney Played Gold.
    +3 Coin = 3 all together.
  BigMoney Played Gold.
    +3 Coin = 6 all together.
  BigMoney Played Silver.
    +2 Coin = 8 all together.
  BigMoney Played Silver.
    +2 Coin = 10 all together.
  BigMoney Played Copper.
    +1 Coin = 11 all together.
  BigMoney bought Province.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Gold.
  BigMoney Discarded Gold.
  BigMoney Drew Copper into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Overgrown Estate into hand.
  BigMoney Drew Gold into hand.
  BigMoney ends turn with deck: Copper(7), Duchy(1), Gold(3), Hovel(1), Necropolis(1), Overgrown Estate(1), Province(2), Silver(7),

ROUND 15
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Copper,Plaza,Province,Province,
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower reshuffled
    ButcherPlazaWatchtower Drew Butcher into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 4 all together.
    ButcherPlazaWatchtower trashed Copper.
    ButcherPlazaWatchtower spent 2 coin tokens.  2 remaining
    ButcherPlazaWatchtower gained Estate.
  ButcherPlazaWatchtower spent 2 coin tokens.  0 remaining
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower bought Estate.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(2), Estate(2), Necropolis(1), Plaza(6), Province(5), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Copper,Gold,Overgrown Estate,Silver,
  BigMoney Played Gold.
    +3 Coin = 3 all together.
  BigMoney Played Silver.
    +2 Coin = 5 all together.
  BigMoney Played Copper.
    +1 Coin = 6 all together.
  BigMoney Played Copper.
    +1 Coin = 7 all together.
  BigMoney bought Duchy.
  BigMoney Discarded Copper.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Gold.
  BigMoney Discarded Overgrown Estate.
  BigMoney Drew Copper into hand.
  BigMoney Drew Hovel into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Necropolis into hand.
  BigMoney Drew Silver into hand.
  BigMoney ends turn with deck: Copper(7), Duchy(2), Gold(3), Hovel(1), Necropolis(1), Overgrown Estate(1), Province(2), Silver(7),

ROUND 16
-------------
ButcherPlazaWatchtower begins turn
With hand: Copper,Plaza,Plaza,Province,Province,
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 2 all together.
    ButcherPlazaWatchtower Drew Province into hand.
    ButcherPlazaWatchtower Discarded Copper.
    +1 coin tokens = 1 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Necropolis into hand.
    ButcherPlazaWatchtower Drew Watchtower into hand.
    ButcherPlazaWatchtower Drew Silver into hand.
  ButcherPlazaWatchtower Played Necropolis.
    +2 Actions = 3 all together.
  ButcherPlazaWatchtower Played Watchtower.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 3 all together.
    ButcherPlazaWatchtower Drew Plaza into hand.
    ButcherPlazaWatchtower Discarded Silver.
    +1 coin tokens = 2 all together.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 4 all together.
    ButcherPlazaWatchtower reshuffled
    ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 5 all together.
    ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Played Plaza.
    +2 Actions = 6 all together.
    ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower spent 2 coin tokens.  0 remaining
    +2 Coin = 2 all together.
  ButcherPlazaWatchtower bought Estate.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Watchtower.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Plaza.
  ButcherPlazaWatchtower Discarded Necropolis.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Discarded Province.
  ButcherPlazaWatchtower Drew Estate into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower Drew Estate into hand.
  ButcherPlazaWatchtower Drew Butcher into hand.
  ButcherPlazaWatchtower Drew Copper into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(2), Estate(3), Necropolis(1), Plaza(6), Province(5), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Hovel,Necropolis,Silver,Silver,
  BigMoney Played Necropolis.
    +2 Actions = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 2 all together.
  BigMoney Played Silver.
    +2 Coin = 4 all together.
  BigMoney Played Copper.
    +1 Coin = 5 all together.
  BigMoney bought Duchy.
    BigMoney trashed Hovel.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Necropolis.
  BigMoney Drew Copper into hand.
  BigMoney reshuffled
  BigMoney Drew Gold into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Silver into hand.
  BigMoney Drew Silver into hand.
  BigMoney ends turn with deck: Copper(7), Duchy(3), Gold(3), Necropolis(1), Overgrown Estate(1), Province(2), Silver(7),

ROUND 17
-------------
ButcherPlazaWatchtower begins turn
With hand: Butcher,Copper,Copper,Estate,Estate,
  ButcherPlazaWatchtower Played Butcher.
    +2 coin tokens = 2 all together.
    ButcherPlazaWatchtower trashed Estate.
    ButcherPlazaWatchtower gained Estate.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 1 all together.
  ButcherPlazaWatchtower Played Copper.
    +1 Coin = 2 all together.
  ButcherPlazaWatchtower bought Estate.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Copper.
  ButcherPlazaWatchtower Discarded Butcher.
  ButcherPlazaWatchtower Discarded Estate.
  ButcherPlazaWatchtower Drew Silver into hand.
  ButcherPlazaWatchtower reshuffled
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Province into hand.
  ButcherPlazaWatchtower Drew Plaza into hand.
  ButcherPlazaWatchtower Drew Watchtower into hand.
  ButcherPlazaWatchtower ends turn with deck: Butcher(1), Copper(2), Estate(4), Necropolis(1), Plaza(6), Province(5), Silver(1), Watchtower(2),

BigMoney begins turn
With hand: Copper,Gold,Silver,Silver,Silver,
  BigMoney Played Gold.
    +3 Coin = 3 all together.
  BigMoney Played Silver.
    +2 Coin = 5 all together.
  BigMoney Played Silver.
    +2 Coin = 7 all together.
  BigMoney Played Silver.
    +2 Coin = 9 all together.
  BigMoney Played Copper.
    +1 Coin = 10 all together.
  BigMoney bought Province.
  BigMoney Discarded Copper.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Silver.
  BigMoney Discarded Gold.
  BigMoney Drew Duchy into hand.
  BigMoney Drew Copper into hand.
  BigMoney Drew Overgrown Estate into hand.
  BigMoney Drew Gold into hand.
  BigMoney Drew Copper into hand.
  BigMoney ends turn with deck: Copper(7), Duchy(3), Gold(3), Necropolis(1), Overgrown Estate(1), Province(3), Silver(7),

Game ended in 17 turns.
ButcherPlazaWatchtower Won!
ButcherPlazaWatchtower total score: 34
  Butcher(1), Copper(2), Estate(4), Necropolis(1), Plaza(6), Province(5), Silver(1), Watchtower(2),
BigMoney total score: 27
  Copper(7), Duchy(3), Gold(3), Necropolis(1), Overgrown Estate(1), Province(3), Silver(7),
Trash contains: Butcher(2), Copper(6), Estate(1), Hovel(2), Overgrown Estate(1), Watchtower(2),

ButcherPlazaWatchtower GainSequence is:
  Silver, Watchtower, Butcher, Watchtower, Copper,
  Plaza, Butcher, Plaza, Plaza, Plaza,
  Plaza, Watchtower, Province, Province, Butcher,
  Watchtower, Province, Plaza, Province, Province,
  Estate, Estate, Estate, Estate, Estate,

BigMoney GainSequence is:
  Silver, Silver, Gold, Silver, Silver,
  Gold, Silver, Silver, Gold, Silver,
  Province, Duchy, Province, Duchy, Duchy,
  Province,

Logged

XerxesPraelor

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1069
  • Respect: +363
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #8 on: October 14, 2013, 03:37:48 am »
0

Here's the source text, Matt_Arnold. I'm updating it really quickly, so what I'll have in a week will probably be very different from this. The big things I still need to add are coin tokens and durations, and that might require some rewrites.

And thanks for the advice, Sparafucile. I think I can make it work.

Code: [Select]
"Dominion" by XerxesPraelor

Playing Room is a room.

Volume 1 - Simulating

Book 1 - Basic

A card is a kind of thing.
A card can be actioncard or non-actioncard. A card is usually non-actioncard.
A card can be treasure or non-treasure. A card is usually non-treasure.
A card can be attack or non-attack. A card is usually non-attack.
A card can be victory or non-victory. A card is usually non-victory.
A card can be duration or non-duration. A card is usually non-duration.
A card can be reaction or non-reaction. A card is usually non-reaction.
A card can be overpay or non-overpay. A card is usually non-overpay.
A card can be potion-cost or non-potion-cost. A card is usually non-potion-cost.
A card has a number called cost. The cost of a card is normally 0.
A card has a number called pluscards. The pluscards of a card is usually 0.
A card has a number called plusactions. The plusactions of a card is usually 0.
A card has a number called plusbuys. The plusbuys of a card is usually 0.
A card has a number called pluscoins. The pluscoins of a card is usually 0.
A card has a number called vps. The vps of a card is usually 0.
A card has a number called norm-supply. The norm-supply of the card is usually 10.
A card has a number called in-supply. The in-supply of a card is usually 10.

A strategy is a kind of thing.
A strategy has a list of cards called hand.
A strategy has a list of cards called deck.
A strategy has a list of cards called discard.
A strategy has a list of cards called in-play.

Player1 is a strategy that varies.
Player2 is a strategy that varies.
Temp is a strategy that varies.

The play-er is a strategy that varies.
Phase is a number that varies. Phase is usually 1.
Cards2draw is a number that varies. Cards2draw is usually 5.

Action-s is a number that varies. Action-s is usually 1.
Coins is a number that varies. Coins is usually 0.
Buys is a number that varies. Buys is usually 1.
Potions is a number that varies. Potions is usually 0.

A strategy has a list of cards called playing-with. The playing-with of a strategy is usually { }.
A strategy has a list of numbers called buy-values. The buy-values of a strategy is usually { }.
A strategy has a list of numbers called play-values. The play-values of a strategy is usually { }.
A strategy has a list of numbers called treasure-values. The treasure-values of a strategy is usually { }.
A strategy has a list of numbers called trash-values. The trash-values of a strategy is usually { }.
A strategy has a list of numbers called hand-values. The hand-values of strategy is usually { }.

The trash is a list of cards that varies. The trash is normally {}.

The changesomething rules are an object based rulebook.
Currentaction is a stored action that varies.
The doesitfit rules are a rulebook.
CheckedCard is a card that varies.
DecidedCard is a card that varies.
CompareList is a list of numbers that varies.
Choosing is an action applying to nothing.
Carry out choosing:
let s be 0;
let v be NullCard;
now decidedcard is nullcard;
follow the doesitfit rules;
if the number of entries in comparelist is not 0:
repeat with n running from 1 to the number of entries in the playing-with of the play-er:
now checkedcard is entry n of the playing-with of the play-er;
let o be entry n of CompareList;
follow the doesitfit rules;
if the rule succeeded and o is greater than s:
now s is o;
now v is checkedcard;
if v is not NullCard:
now DecidedCard is v.

Book 2 - Beginning and End

Starting it up with is an action applying to two things.
Understand "Simulate [a strategy] versus [a strategy]" as starting it up with.
Understand "[a strategy] [a strategy]" as starting it up with.
Check starting it up with:
if the noun is not a strategy:
say "The first one is not a strategy.";
stop the action;
if the second noun is not a strategy:
say "The second one is not a strategy.";
stop the action;
otherwise:
continue the action.

Carry out starting it up with:
now Player1Score is 0;
now Player2Score is 0;
now Player1 is the noun;
now Player2 is the second noun;
now play-er is Player1;
now the hand of Player1 is { };
now the hand of Player2 is { };
now the discard of Player1 is { };
now the discard of Player2 is { };
now the deck of Player1 is { };
now the deck of Player2 is { };
now the trash is { };
repeat with counter running from 1 to 3:
add Estate to the discard of Player1;
add Estate to the discard of Player2;
repeat with counter running from 1 to 7:
add Copper to the discard of Player1;
add Copper to the discard of Player2;
try resetting;
now play-er is Player1;
try drawing;
now play-er is Player2;
try drawing;
now play-er is Player1;
now phase is 1;
now not-player is player2;
try simulating player1 against player2;
add the discard of player1 to the deck of player1;
add the in-play of player1 to the deck of player1;
add the hand of player1 to the deck of player1;
add the discard of player2 to the deck of player2;
add the in-play of player2 to the deck of player2;
add the hand of player2 to the deck of player2;
try comparing player1 with player2.

Simulating it against is an action applying to two things.
Check simulating:
if the noun is not a strategy:
say "The first one is not a strategy.";
stop the action;
if the second noun is not a strategy:
say "The second one is not a strategy.";
stop the action;
otherwise:
continue the action.


Carry out Simulating it against:
repeat with n running from 1 to 100:
let s be 0;
repeat with x running through cards:
if the in-supply of x is 0:
now s is s plus 1;
if s is 3:
break;
if the in-supply of Province is 0:
break;
try TurnDoing the noun;
let s be 0;
repeat with x running through cards:
if the in-supply of x is 0:
now s is s plus 1;
if s is 3:
break;
if the in-supply of Province is 0:
break;
try TurnDoing the second noun.

TurnDoing is an action applying to one thing.
Carry out TurnDoing:
now play-er is the noun;
now phase is 1;
try durationdoing;
try finishing;
try actionchoosing the noun;
try finishing;
try moneychoosing the noun;
try finishing;
try buychoosing the noun;
try finishing;
now not-player is the noun.

Durationdoing is an action applying to nothing.
Carry out Durationdoing:
repeat with n running from 1 to the number of entries in the in-play of the play-er:
follow the nextturn rules for entry n of the in-play of the play-er;
let c be entry n of the in-play of the play-er;
add c to the discard of the play-er;
remove entry n from the in-play of the play-er;
if the number of entries in the in-play of the play-er is 0:
now n is n minus 1.

Player1Score is a number that varies. Player1Score is usually 0.
Player2Score is a number that varies. Player2Score is usually 0.
Comparing it with is an action applying to two things.
Understand "Compare [something] with [something]" as comparing it with.
Carry out comparing it with:
now play-er is player1;
repeat with n running from 1 to the number of entries in the deck of player1:
let s be entry n of the deck of player1;
if s is victory or s is curse:
follow the changesomething rules for s;
now Player1Score is Player1Score plus the vps of s;
now play-er is player2;
repeat with v running from 1 to the number of entries in the deck of player2:
let w be entry v in the deck of player2;
if w is victory or w is curse:
follow the changesomething rules for w;
now Player2Score is Player2Score plus the vps of w;
if Player1Score is greater than Player2Score:
say "Player1 won! ([Player1Score] - [Player2Score])";
otherwise:
say "Player2 won! ([Player2Score] - [Player1Score])".

Book 3 - Middle

Part 1 - Playing

The effect rules are an object based rulebook.
The nextturn rules are an object based rulebook.

Handplaying is an action applying to one thing.

Carry out Handplaying:
now currentaction is the action of handplaying;
if the noun is actioncard:
now Action-s is Action-s minus 1;
try handremoving the noun;
try playing the noun;
add the noun to the in-play of the play-er.


Playing is an action applying to one thing and requiring light.
Understand "play [a card]" as playing.
Check handplaying:
if the phase is not 2:
if the noun is actioncard:
say "[the play-er] can't play action cards now.";
stop the action;
if the phase is not 3:
if the noun is treasure:
say "[the play-er] can't play treasure cards now.";
stop the action;
if the noun is not in-hand:
say "[the noun] is not in hand.";
stop the action;
if Action-s is 0:
if the noun is actioncard:
say "[play-er] has no more actions.";
stop the action;
otherwise:
continue the action.

Carry out playing:
now currentaction is the action of playing the noun;
now Action-s is Action-s plus the plusactions of the noun;
now buys is buys plus the plusbuys of the noun;
say "[play-er] played [the noun].";
now Cards2draw is the pluscards of the noun;
if Cards2draw is not 0:
try drawing;
follow the effect rules for the noun;
now coins is coins plus the pluscoins of the noun.

[From here on is how things are chosen]

ActionChoosing is an action applying to one thing.
Check ActionChoosing:
if the noun is not a strategy:
say "That's not a strategy.";
stop the action;
if Action-s is 0:
stop the action;
otherwise:
continue the action.

A doesitfit rule:
if the currentaction is the action of ActionChoosing:
if checkedcard is listed in the hand of the play-er and checkedcard is actioncard:
rule succeeds;
otherwise:
rule fails.

Carry out ActionChoosing:
now CompareList is the play-values of the play-er;
now currentaction is the action of ActionChoosing;
follow the changesomething rules for the play-er;
try choosing;
if decidedcard is not nullcard:
try handplaying DecidedCard;
try actionchoosing the play-er.

MoneyChoosing is an action applying to one thing.
Check MoneyChoosing:
if the noun is not a strategy:
say "That's not a strategy.";
stop the action;
otherwise:
continue the action.

A doesitfit rule:
if the currentaction is the action of MoneyChoosing:
if checkedcard is listed in the hand of the play-er and checkedcard is treasure:
rule succeeds;
otherwise:
rule fails.

Carry out MoneyChoosing:
now currentaction is the action of MoneyChoosing;
now CompareList is the treasure-values of the play-er;
follow the changesomething rules for the play-er;
try choosing;
if decidedcard is not nullcard:
try handplaying DecidedCard;
try moneychoosing the play-er.

Part 2 - Buying

Gaining is an action applying to one thing.
Understand "gain [a card]" as gaining.
Check gaining:
if the in-supply of the noun is 0:
say "[the noun] is not available to be bought.";
stop the action;
otherwise:
continue the action.

Carry out gaining:
add the noun to the discard of the play-er;
say "[play-er] gained [the noun].";
now the in-supply of the noun is the in-supply of the noun minus 1.

Understand the command "buy" as something new.
Buy-ing is an action applying to one thing.
Understand "buy [a card]" as buy-ing.

Check buy-ing:
if coins is less than the cost of the noun:
say "[play-er] doesn't have enough money to afford [the noun].";
stop the action;
if potions is 0 and the noun is potion-cost:
say "[play-er] doesn't have any potions.";
stop the action;
if the in-supply of the noun is 0:
say "[the noun] is not available to be bought.";
stop the action;
if phase is not 4:
say "It's not the buy phase yet.";
stop the action;
if buys is 0:
say "[play-er] doesn't have enough buys.";
stop the action;
otherwise:
continue the action.

Carry out buy-ing:
now coins is coins minus the cost of the noun;
if the noun is potion-cost:
now potions is potions minus 1;
now buys is buys minus 1;
try gaining the noun.

BuyChoosing is an action applying to one thing.
Check BuyChoosing:
if the noun is not a strategy:
say "That's not a strategy.";
stop the action;
if buys is 0:
stop the action;
otherwise:
continue the action.
Carry out BuyChoosing:
now currentaction is the action of buychoosing;
follow the changesomething rules for the noun;
now comparelist is the buy-values of the noun;
try choosing;
if decidedcard is not NullCard:
try buy-ing decidedcard;
try BuyChoosing the noun.

A doesitfit rule:
if the currentaction is the action of BuyChoosing:
if the in-supply of checkedcard is 0:
rule fails;
if checkedcard is potion-cost and potions is 0:
rule fails;
if the cost of checkedcard is greater than coins:
rule fails;
otherwise:
rule succeeds.

Part 3 - Other Actions

Finishing is an action applying to nothing.
Understand "done" as finishing.
Carry out finishing:
if phase is 4:
repeat with n running from 1 to the number of entries in the in-play of the play-er:
let x be entry n of the in-play of the play-er;
if x is non-duration:
add x to the discard of the play-er;
remove entry n from the in-play of the play-er;
now n is n minus 1;
add the hand of the play-er to the discard of the play-er;
now the hand of the play-er is { };
now Cards2Draw is 5;
try drawing;
now coins is 0;
now buys is 1;
now Action-s is 1;
if play-er is player1:
now play-er is player2;
now not-player is player1;
now phase is 1;
otherwise:
now play-er is player1;
now not-player is player2;
now phase is 1;
if phase is 3:
say "[play-er] has [coins] coins to spend.";
now phase is 4;
otherwise:
now phase is phase plus 1.

Resetting is an action applying to nothing.
Carry out resetting:
repeat with n running through the playing-with of player1:
now the in-supply of n is the norm-supply of n;
repeat with n running through the playing-with of player2:
now the in-supply of n is the norm-supply of n.

Trashchoosing is an action applying to one thing.
Carry out TrashChoosing:
follow the changesomething rules for the noun;
let v be NullCard;
let s be 0;
repeat with n running from 1 to the number of entries in the playing-with of the play-er:
let m be entry n of the playing-with of the play-er;
let o be entry n of the trash-values of the play-er;
if m is in-hand and o is greater than s:
now s is 0;
now v is m;
if v is not NullCard:
try hand-trashing v.

Drawing is an action applying to nothing.
Understand "draw" as drawing.
Carry out drawing:
repeat with counter running from 1 to Cards2draw:
if the number of entries in the deck of play-er is 0:
say "Reshuffling...[line break][reshuffle]";
if the number of entries in the deck of the play-er is not 0:
add entry 1 of the the deck of the play-er to the hand of the play-er;
say "[the play-er] drew [entry 1 of the deck of the play-er] from the deck.";
remove entry 1 from the deck of the play-er;
otherwise:
add entry 1 of the the deck of the play-er to the hand of the play-er;
say "[the play-er] drew [entry 1 of the deck of the play-er] from the deck.";
remove entry 1 from the deck of the play-er.

To say reshuffle:
if the discard of the play-er is not { }:
sort the discard of the play-er in random order;
now the deck of the play-er is the discard of the play-er;
now the discard of the play-er is { }.

Revealing is an action applying to one thing.
Understand "reveal [a card]" as revealing.
Carry out revealing:
say "[the noun] was revealed".

Hand-trashing is an action applying to one thing.
Check hand-trashing:
if the noun is not listed in the hand of the play-er:
stop the action.

Carry out hand-trashing:
try handremoving the noun;
add the noun to the trash.

HandRemoving is an action applying to one thing.
Carry out Handremoving:
let n be the handnumber of the noun minus 1;
remove the noun from the hand of play-er;
repeat with counter running from 1 to n:
add the noun to the hand of play-er.

Definition: a card is in-hand if it is listed in the hand of the play-er.

Topdecking is an action applying to one thing.
Understand "Topdeck [something]" as topdecking.
Carry out topdecking:
sort the deck of the play-er in reverse order;
add the noun to the deck of the play-er;
sort the deck of the play-er in reverse order.

Not-player is a strategy that varies.

Discarding is an action applying to one thing.
Carry out discarding:
add the noun to the discard of play-er;
try HandRemoving the noun.

Part 4 - Other Things

To decide which number is the totalcards of (C - a card):
let x be 0;
repeat with n running through the deck of the play-er:
if n is C:
now x is x plus 1;
repeat with n running through the discard of the play-er:
if n is C:
now x is x plus 1;
repeat with n running through the hand of the play-er:
if n is C:
now x is x plus 1;
repeat with n running through the in-play of the play-er:
if n is C:
now x is x plus 1;
decide on x.

Defense is a number that varies. Defense is normally 0.

To decide which number is the handnumber of (C - a card):
let x be 0;
repeat with n running through the hand of the play-er:
if n is C:
now x is x plus 1;
decide on x.


Volume 2 - Cards

Book 1 - General Cards

NullCard is a card.
NullCard is in Playing Room.
After gaining NullCard:
now the in-supply of NullCard is 2;
remove NullCard from the discard of the play-er.

Copper is a card.
Copper is in Playing Room.
Copper is treasure.
The cost of Copper is 0.
The pluscoins of Copper is 1.
The norm-supply of Copper is 30.

Silver is a card.
Silver is in Playing Room.
Silver is treasure.
The cost of silver is 3.
The pluscoins of silver is 2.
The norm-supply of Silver is 30.

Gold is a card.
Gold is in Playing Room.
Gold is treasure.
The cost of gold is 6.
The pluscoins of gold is 3.
The norm-supply of Gold is 30.

Curse is a card.
Curse is in Playing Room.
The cost of Curse is 0.
The vps of Curse is -1.
The norm-supply of Curse is 8.

Estate is a card.
Estate is in Playing Room.
Estate is victory.
The cost of Estate is 2.
The vps of Estate is 1.
The norm-supply of Estate is 8.

Duchy is a card.
Duchy is in Playing Room.
Duchy is victory.
The cost of Duchy is 5.
The vps of Duchy is 3.
The norm-supply of Duchy is 8.

Province is a card.
Province is in Playing Room.
Province is victory.
The cost of Province is 8.
The vps of Province is 6.
The norm-supply of Province is 8.

Spoils is a card.
Spoils is in Playing Room.
Spoils is treasure.
The cost of Spoils is 0.
The pluscoins of Spoils is 3.
Instead of buying spoils:
say "You can't buy spoils!".
After playing spoils:
remove spoils from the in-play of the play-er;
now the in-supply of spoils is the in-supply of spoils plus 1.

Book 2 - Base Cards

Chapel is a card.
Chapel is in Playing Room.
Chapel is actioncard.
The cost of chapel is 2.
An effect rule for Chapel:
repeat with z running from 1 to 4:
try trashchoosing the play-er.

Moat is a card.
Moat is in Playing Room.
Moat is actioncard.
Moat is reaction.
The cost of moat is 2.
Before playing an attack card when moat is listed in the hand of not-player:
now defense is 1.

Woodcutter is a card.
Woodcutter is in Playing Room.
Woodcutter is actioncard.
The cost of woodcutter is 3.
The pluscoins of woodcutter is 2.
The plusbuys of woodcutter is 1.

Workshop is a card.
Workshop is in Playing Room.
Workshop is actioncard.
The cost of workshop is 3.
An effect rule for Workshop:
follow the changesomething rules for the play-er;
now comparelist is the buy-values of the play-er;
try choosing;
if decidedcard is not NullCard:
try gaining decidedcard.

A doesitfit rule:
if the currentaction is the action of playing workshop:
if checkedcard is potion-cost:
rule fails;
if the cost of checkedcard is greater than 4:
rule fails;
otherwise:
rule succeeds.

Moneylender is a card.
Moneylender is in Playing Room.
Moneylender is actioncard.
The cost of moneylender is 4.
An effect rule for moneylender:
try hand-trashing copper;
if rule succeeded:
now coins is coins plus 3.

Gardens is a card.
Gardens is in Playing Room.
The cost of gardens is 4.
Gardens is victory.
A changesomething rule for Gardens:
let x be the number of entries in the deck of the play-er;
now x is x minus 5;
now x is x divided by 10;
now x is x to the nearest 1;
now the vps of gardens is x.

VIllage is a card.
Village is in Playing Room.
Village is actioncard.
The cost of VIllage is 3.
The pluscards of VIllage is 1.
The plusactions of village is 2.

Smithy is a card.
Smithy is in Playing Room.
Smithy is actioncard.
The cost of Smithy is 4.
The pluscards of Smithy is 3.

ThroneRoom is a card.
ThroneRoom is in Playing Room.
ThroneRoom is actioncard.
The cost of ThroneRoom is 4.
After playing ThroneRoom:
follow the changesomething rules for the play-er;
now comparelist is the card-throne-values of the play-er;
try choosing;
if decidedcard is not NullCard:
try handremoving decidedcard;
add decidedcard to the in-play of the play-er;
try playing decidedcard;
try playing the decidedcard.
A strategy has a list of numbers called card-throne-values. The card-throne-values of a strategy is usually {}.
A doesitfit rule:
if the currentaction is playing ThroneRoom:
if checkedcard is not actioncard:
rule fails;
if checkedcard is not listed in the hand of the play-er:
rule fails;
otherwise:
rule succeeds.

Bureaucrat is a card.
Bureaucrat is in Playing Room.
Bureaucrat is actioncard.
The cost of Bureaucrat is 4.
An effect rule for Bureaucrat:
now temp is play-er;
now play-er is not-player;
if defense is 0:
follow the changesomething rules for play-er;
let x be the number of entries in the playing-with of the play-er;
if the number of entries in the bureaucrat-values of play-er is 0:
change the bureaucrat-values of play-er to have x entries;
repeat with n running from 1 to x:
if entry n of the playing-with of play-er is victory:
now entry n of the bureaucrat-values of play-er is 1;
now comparelist is the bureaucrat-values of play-er;
try choosing;
if decidedcard is not NullCard:
try topdecking decidedcard;
try handremoving the decidedcard;
now defense is 0;
now play-er is temp;
if the in-supply of the SIlver is greater than 0:
try topdecking Silver.

A strategy has a list of numbers called bureaucrat-values.
A doesitfit rule:
if the currentaction is the action of playing bureaucrat:
if the checkedcard is in-hand and the checkedcard is victory:
rule succeeds;
otherwise:
rule fails.

Militia is a card.
Militia is in PLaying Room.
Militia is actioncard.
The cost of Militia is 4.
The pluscoins of Militia is 2.
An effect rule for Militia:
now temp is play-er;
now play-er is not-player;
repeat with x running from 1 to 50:
if the number of entries in the hand of the play-er is less than 4:
break;
follow the changesomething rules for the play-er;
now comparelist is the hand-values of the play-er;
repeat with n running from 1 to the number of entries in comparelist:
now entry n of comparelist is 10 minus entry n of comparelist;
try choosing;
if decidedcard is not NullCard:
try discarding decidedcard;
now play-er is temp.

A doesitfit rule:
if the currentaction is playing militia:
if checkedcard is listed in the hand of the play-er:
rule succeeds;
otherwise:
rule fails.

Festival is a card.
Festival is in Playing Room.
Festival is actioncard.
The cost of Festival is 5.
The plusactions of Festival is 2.
The pluscoins of Festival is 2.
The plusbuys of Festival is 1.

Laboratory is a card.
Laboratory is in Playing Room.
Laboratory is actioncard.
The cost of Laboratory is 5.
The pluscards of Laboratory is 2.
The plusactions of Laboratory is 1.

Witch is a card.
Witch is in Playing Room.
Witch is actioncard.
The cost of Witch is 5.
The pluscards of Witch is 2.
An effect rule for Witch:
if the in-supply of Curse is 0:
rule fails;
now temp is play-er;
now play-er is not-player;
if defense is 0:
try gaining Curse;
now defense is 0;
now play-er is temp.


Market is a card.
Market is in Playing Room.
Market is actioncard.
The cost of Market is 5.
The pluscards of market is 1.
The plusactions of market is 1.
The pluscoins of market is 1.
The plusbuys of market is 1.

Adventurer is a card.
Adventurer is in Playing Room.
Adventurer is actioncard.
The cost of Adventurer is 6.
An effect rule for Adventurer:
let s be 0;
repeat with n running from 1 to 2:
if the number of entries in the deck of play-er is 0 and the number of entries in the discard of the play-er is 0:
break;
if the number of entries in the deck of play-er is 0:
say "Reshuffling...[reshuffle]";
let v be entry 1 of the deck of play-er;
if v is treasure:
add v to the hand of play-er;
say "[play-er] drew [v].";
remove entry 1 from the deck of play-er;
otherwise:
now n is n minus 1;
add entry 1 of the deck of play-er to the discard of the play-er;
remove entry 1 from the deck of play-er.

Book 3 - Expansions

Platinum is a card.
Platinum is in Playing Room.
Platinum is treasure.
The cost of Platinum is 6.
The pluscoins of Platinum is 4.
The in-supply of platinum is 12.

Colony is a card.
Colony is in Playing Room.
Colony is victory.
The cost of Colony is 11.
The vps of Colony is 10.

Wharf is a card.
Wharf is in playing room.
Wharf is actioncard.
Wharf is duration.
The cost of wharf is 5.
The pluscards of wharf is 2.
The plusbuys of wharf is 1.
A nextturn rule for wharf:
now cards2draw is 2;
try drawing;
now buys is buys plus 1.

Merchant Ship is a card.
Merchant Ship is in playing room.
Merchant Ship is actioncard.
Merchant Ship is duration.
The cost of Merchant Ship is 5.
The pluscoins of Merchant Ship is 2.
A nextturn rule for Merchant Ship:
now coins is coins plus 2.

Sea Hag is a card.
Sea Hag is in Playing Room.
Sea Hag is actioncard.
The cost of Sea Hag is 4.
An effect rule for Sea Hag:
if the in-supply of curse is 0:
rule fails;
add entry 1 of the deck of not-player to the discard of not-player;
remove entry 1 from the deck of not-player;
sort the deck of not-player in reverse order;
add Curse to the deck of not-player;
sort the deck of not-player in reverse order.

Fools Gold is a card.
Fools Gold is in Playing Room.
Fools Gold is treasure.
The cost of Fools Gold is 2.
An effect rule for Fools Gold:
if Fools Gold is listed in the in-play of the play-er:
  now the pluscoins of Fools Gold is 4;
otherwise:
now the pluscoins of Fools Gold is 1.

JackOfAllTrades is a card.
JackOfAllTrades is in Playing Room.
JackOfAllTrades is actioncard.
The cost of JackOfAllTrades is 4.
An effect rule for JackOfAllTrades:
if the number of entries in the deck of the play-er is 0 and the number of entries in the discard of the player is not 0:
say "Reshuffling...[reshuffle]";
if entry one of the deck of the play-er is curse or entry one of the deck of the play-er is victory:
let t be entry 1 of the deck of the play-er;
now Cards2Draw is 1;
try drawing;
try discarding t;
let y be 0;
if the number of entries in the hand of the play-er is less than 5:
now y is the 5 minus the number of entries in the hand of the play-er;
now Cards2Draw is y;
try drawing;
try gaining Silver;
follow the changesomething rules for the noun;
let v be NullCard;
let s be 0;
repeat with n running from 1 to the number of entries in the playing-with of the play-er:
let m be entry n of the playing-with of the play-er;
let o be entry n of the trash-values of the play-er;
if m is in-hand and o is greater than s and m is non-treasure:
now s is 0;
now v is m;
if v is not NullCard:
try hand-trashing v.

University is a card.
University is in Playing Room.
University is actioncard.
University is potion-cost.
The plusactions of University is 2.
The cost of University is 2.
An effect rule for University:
follow the changesomething rules for the play-er;
now comparelist is the buy-values of the play-er;
try choosing;
if decidedcard is not NullCard:
try gaining decidedcard.

A doesitfit rule:
if the currentaction is the action of playing University:
if checkedcard is potion-cost:
rule fails;
if the cost of checkedcard is greater than 4:
rule fails;
otherwise:
rule succeeds.

Book 4 - Fan Cards

Salesman is a card.
Salesman is in Playing ROom.
Salesman is actioncard.
The cost of salesman is 5.
The pluscards of salesman is 1.
The pluscoins of salesman is 3.



Volume 3 - The Strategies

BM is a strategy.
BM is in Playing Room.
The playing-with of BM is {Copper, Silver, Gold, Estate, Duchy, Province}.
The play-values of BM is {0, 0, 0, 0, 0, 0}.
The buy-values of BM is {0, 1, 3, 0, 0, 5}.
The treasure-values of BM is {1, 2, 3, 0, 0, 0}.
The hand-values of BM is {1, 2, 3, 0, 0, 0}.
A changesomething rule for BM:
if the in-supply of Province is less than 5:
now entry 5 of the buy-values of play-er is 2;
if the in-supply of Province is less than 3:
now entry 5 of the buy-values of play-er is 4;
now entry 4 of the buy-values of play-er is 2.

BMS is a strategy.
BMS is in Playing Room.
The playing-with of BMS is {Copper, Silver, Gold, Estate, Duchy, Province, Smithy}.
The play-values of BMS is {0, 0, 0, 0, 0, 0, 1}.
The buy-values of BMS is {0, 1, 3, 0, 0, 5, 4}.
The treasure-values of BMS is {1, 2, 3, 0, 0, 0, 0}.
The hand-values of BMS is {1, 2, 4, 0, 0, 0, 3}.
A changesomething rule for BMS:
if the handnumber of Smithy is greater than 1:
now the entry 7 of the hand-values of BMS is 0;
otherwise:
now the entry 7 of the hand-values of BMS is 0.
A changesomething rule for BMS:
if the totalcards of Smithy is greater than 1:
now entry 7 of the buy-values of BMS is 0;
if the in-supply of Province is less than 5:
now entry 5 of the buy-values of BMS is 2;
if the in-supply of Province is less than 3:
now entry 5 of the buy-values of BMS is 4;
now entry 4 of the buy-values of BMS is 2.

BMM is a strategy.
BMM is in Playing Room.
The playing-with of BMM is {Copper, Silver, Gold, Estate, Duchy, Province, Militia}.
The play-values of BMM is {0, 0, 0, 0, 0, 0, 1}.
The buy-values of BMM is {0, 1, 3, 0, 0, 5, 4}.
The treasure-values of BMM is {1, 2, 3, 0, 0, 0, 0}.
The hand-values of BMM is {1, 2, 4, 0, 0, 0, 3}.
A changesomething rule for BMM:
if the handnumber of Militia is greater than 1:
now the entry 7 of the hand-values of BMM is 0;
otherwise:
now the entry 7 of the hand-values of BMM is 0.
A changesomething rule for BMM:
if the totalcards of Militia is greater than 1:
now entry 7 of the buy-values of BMM is 0;
if the in-supply of Province is less than 5:
now entry 5 of the buy-values of BMM is 2;
if the in-supply of Province is less than 3:
now entry 5 of the buy-values of BMM is 4;
now entry 4 of the buy-values of BMM is 2.


DoubleJack is a strategy.
DoubleJack is in Playing Room.
The playing-with of DoubleJack is {Copper, Silver, Gold, Estate, Duchy, Province, JackOfAllTrades, Curse}.
The play-values of DoubleJack is {0, 0, 0, 0, 0, 0, 1, 0}.
The buy-values of DoubleJack is {0, 1, 3, 0, 0, 5, 4, 0}.
The treasure-values of DoubleJack is {1, 2, 3, 0, 0, 0, 0, 0}.
The trash-values of DoubleJack is {2, 0, 0, 1, 0, 0, 0, 3}.
The hand-values of DoubleJack is {2, 3, 5, 0, 0, 0, 4, 1}.
A changesomething rule for DoubleJack:
if the handnumber of JackOfAllTrades is greater than 1:
now the entry 7 of the hand-values of DoubleJack is 0;
otherwise:
now the entry 7 of the hand-values of DoubleJack is 0.
A changesomething rule for DoubleJack:
if the totalcards of JackOfAllTrades is greater than 1:
now entry 7 of the buy-values of DoubleJack is 0;
if the in-supply of Province is less than 5:
now entry 5 of the buy-values of DoubleJack is 2;
if the in-supply of Province is less than 3:
now entry 5 of the buy-values of DoubleJack is 4;
now entry 4 of the buy-values of DoubleJack is 2.

WitchChapel is a strategy.
WitchChapel is in Playing Room.
The playing-with of WitchChapel is {Copper, Silver, Gold, Estate, Duchy, Province, Curse, Chapel, WItch}.
The buy-values of WitchChapel is {0, 1, 4, 0, 0, 5, 0, 2, 3}.
The play-values of WitchChapel is {0, 0, 0, 0, 0, 0, 0, 1, 2}.
The trash-values of WitchChapel is {1, 0, 0, 2, 0, 0, 3, 0, 0}.
The treasure-values of WitchChapel is {1, 2, 3, 0, 0, 0, 0, 0, 0}.
The hand-values of WitchChapel is {2, 4, 6, 0, 0, 0, 1, 3, 7}.
A changesomething rule for WItchChapel:
if the totalCards of Chapel is greater than 0:
now entry 8 of the buy-values of WitchChapel is 0;
if the totalCards of Witch is greater than 1:
now entry 9 of the buy-values of WitchChapel is 0.

Engine is a strategy.
Engine is in Playing Room.
The playing-with of Engine is {Copper, Silver, Gold, Estate, Duchy, Province, Village, Market, Smithy, ThroneRoom}.
The play-values of Engine is {0, 0, 0, 0, 0, 0, 2, 3, 1, 5}.
The buy-values of Engine is {0, 1, 8, 0, 0, 12, 0, 2, 3, 0}.
The treasure-values of Engine is {1, 2, 3, 0, 0, 0, 0, 0, 0, 0}.
The card-throne-values of Engine is {0, 0, 0, 0, 0, 0, 1, 3, 2, 5}.
The hand-values of Engine is {1, 2, 6, 0, 0, 0, 3, 5, 4, 7}.
A changesomething rule for engine:
if the totalCards of Smithy is greater than 1:
now entry 8 of the buy-values of Engine is 6;
if the totalCards of Smithy is greater than the totalCards of VIllage plus 1:
now entry 7 of the buy-values of Engine is 2;
otherwise:
now entry 7 of the buy-values of engine is 0;
if the totalCards of Smithy is greater than 1 and the totalCards of Market is greater than 0 and the totalCards of VIllage is greater than 0:
now entry 10 of the buy-values of Engine is 7;
if the in-supply of Province is less than 5:
now entry 5 of the buy-values of play-er is 2;
if the in-supply of Province is less than 2:
now entry 5 of the buy-values of play-er is 4;
now entry 4 of the buy-values of play-er is 2;
if Action-s is greater than 0:
now entry 9 of the card-throne-values of Engine is 4;
otherwise:
now entry 9 of the card-throne-values of Engine is 2.

WorkshopGardens is a strategy.
WorkshopGardens is in Playing Room.
The playing-with of WorkshopGardens is {Copper, Silver, Gold, Estate, Duchy, Province, Workshop, Gardens}.
The buy-values of WorkshopGardens is {0, 2, 4, 1, 0, 7, 5, 3}.
The play-values of WorkshopGardens is {0, 0, 0, 0, 0, 0, 1, 0}.
The trash-values of WorkshopGardens is {0, 0, 0, 0, 0, 0, 0, 0}.
The treasure-values of WorkshopGardens is {1, 2, 3, 0, 0, 0, 0, 0}.
The hand-values of WorkshopGardens is {0, 3, 6, 0, 0, 0, 2, 0}.
A changesomething rule for WorkshopGardens:
if the totalCards of Workshop is greater than 7:
now entry 8 of the buy-values of WorkshopGardens is 6;
now entry 7 of the buy-values of WorkshopGardens is 3;
if the in-supply of Gardens is 0:
now entry 4 of the buy-values of WorkshopGardens is 6.

PureFG is a strategy.
PureFG is in Playing Room.
The playing-with of PureFG is {Copper, Silver, Gold, Estate, Duchy, Province, Fools Gold}.
The buy-values of PureFG is {0, 2, 5, 0, 1, 7, 4}.
The play-values of PureFG is {0, 0, 0, 0, 0, 0, 0}.
The treasure-values of PureFG is {1, 2, 3, 0, 0, 0, 4}.
The hand-values of PureFG is {1, 2, 3, 0, 0, 0, 4}.
A changesomething rule for PureFG:
if the in-supply of Province is less than 5:
now entry 5 of the buy-values of play-er is 6;
if the in-supply of Province is less than 3:
now entry 5 of the buy-values of play-er is 6;
now entry 4 of the buy-values of play-er is 3.
« Last Edit: October 14, 2013, 05:14:25 am by XerxesPraelor »
Logged

XerxesPraelor

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1069
  • Respect: +363
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #9 on: October 15, 2013, 05:59:49 am »
0

And coin tokens have been added! :)
Almost to the point where I can just start adding new cards.
The one next thing I have to do is ruins and knights. My program has one copy of each card and just references it in lists, so having ruins will be kind of hard to do. Still, coin tokens worked out, and I was really worried about that, so it probably shouldn't take too long.

Oh, and my file finally got too big for me to post it as an attachment, so I'm not sure how to deal with that.
« Last Edit: October 15, 2013, 06:01:06 am by XerxesPraelor »
Logged

Sparafucile

  • Spy
  • ****
  • Offline Offline
  • Posts: 85
  • Respect: +137
    • View Profile
Re: Dominion Fan Card Simulator - Still in progress
« Reply #10 on: October 15, 2013, 12:24:05 pm »
+2

Quote
Oh, and my file finally got too big for me to post it as an attachment, so I'm not sure how to deal with that.

You could use github ...
Logged
Pages: [1]
 

Page created in 0.095 seconds with 21 queries.