Dominion Strategy Forum

Please login or register.

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

Author Topic: ironworks/trader  (Read 13619 times)

0 Members and 1 Guest are viewing this topic.

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9701
  • Respect: +10741
    • View Profile
Re: ironworks/trader
« Reply #25 on: July 31, 2014, 11:03:26 am »
0

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7861
    • View Profile
Re: ironworks/trader
« Reply #26 on: July 31, 2014, 11:07:08 am »
0

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

I see. that's what I'd expect.  But surely this was one of those unintended things, right?
Logged

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9701
  • Respect: +10741
    • View Profile
Re: ironworks/trader
« Reply #27 on: July 31, 2014, 11:10:59 am »
+2

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

I see. that's what I'd expect.  But surely this was one of those unintended things, right?

Yes, in the original "Blue dog" thread at BGG, when Donald first made his ruling about how Ironworks/Trader would work (then reversed it, then reversed it again); he specifically said "Sadly this must also apply to Possession."
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7861
    • View Profile
Re: ironworks/trader
« Reply #28 on: July 31, 2014, 11:13:12 am »
0

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

I see. that's what I'd expect.  But surely this was one of those unintended things, right?

Yes, in the original "Blue dog" thread at BGG, when Donald first made his ruling about how Ironworks/Trader would work (then reversed it, then reversed it again); he specifically said "Sadly this must also apply to Possession."

Ah, I see.  Thanks.
Logged

SirPeebles

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3249
  • Respect: +5459
    • View Profile
Re: ironworks/trader
« Reply #29 on: July 31, 2014, 11:37:11 am »
+4

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

It is certainly easier to +1 your post than to write his own.  Ain't no way he's opening that can of blue worms again.
Logged
Well you *do* need a signature...

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9701
  • Respect: +10741
    • View Profile
Re: ironworks/trader
« Reply #30 on: July 31, 2014, 12:34:45 pm »
+1

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

It is certainly easier to +1 your post than to write his own.  Ain't no way he's opening that can of blue worms again.

Open a can of worms.

If it was...

Blue, +1 card
Green, +$1
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7861
    • View Profile
Re: ironworks/trader
« Reply #31 on: July 31, 2014, 12:40:21 pm »
+2

the can is blue/green, not the worms?
Logged

GeoLib

  • Jester
  • *****
  • Offline Offline
  • Posts: 965
  • Respect: +1265
    • View Profile
Re: ironworks/trader
« Reply #32 on: July 31, 2014, 02:28:35 pm »
+1

... so Ironworks never gains any card. ...

That is my central / prime point: why results that in no effect(s), not which other card  does it with whatever mechanic. And why is there confusion wether or who get the effect(s).

You can shout a thousand times "Possession does blablabla". It only repeats, when or where Possession interferes with the usual gain process. It does not clarify why Ironworks then gives not the effect(s). Which is because of the implicit If you gain that card ....

I wouldn't say that Ironworks has an implicit "if you gain that card" (with or without emphasis). The "it" in "if it is" just refers to the card that you just gained through Ironworks. Possession and Trader both prevent this gaining from ever taking place, so there simply doesn't exist any antecedent for it.

Programming Analogy because those always make things clearer:
If Dominion cards were little programs, it's like when Ironworks gains a card it assigns the local variable "it" to the card. Then it looks up the types of "it" in the next sentence and gives you a bonus accordingly. When Trader or Possession interrupts the gain it also interrupts the variable assignment, so when Ironworks references "it" again it's referencing an unassigned variable. Here a computer program would get an error except that Dominion has a persistent Try-Except statement where any errors are ignored (a python construct. Basically if the program throws an error then you can specify a way for it to handle it). Now I'm sure that's cleared everything up for everyone. :P


Another point is that the event that replaces the gain could be completely identical to the original gain event. Consider:

Worthless Trader
When you would gain a card, you may reveal this from your hand. If you do, instead, gain that card.

If you revealed this to an ironworks gain it would still prevent you from getting the ironworks bonus. In fact, the only thing that would change is that you would no longer get the ironworks bonus (someone edge case me).

Also note that the only existing "would gain" cards replace the gain with another gain, but this doesn't have to be the case. They could easily say something like "when you would gain a card, instead, +1 card."

I think I should probably go back to what I'm supposed to be doing now...
Logged
"All advice is awful"
 —Count Grishnakh

sudgy

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3431
  • Shuffle iT Username: sudgy
  • It's pronounced "SOO-jee"
  • Respect: +2706
    • View Profile
Re: ironworks/trader
« Reply #33 on: July 31, 2014, 03:13:40 pm »
0

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

It is certainly easier to +1 your post than to write his own.  Ain't no way he's opening that can of blue worms again.

Open a can of worms.

If it was...

Blue, +1 card
Green, +$1

What if it was blue when you chose it, but green when you opened it?

(Quickedit) Also, it would have been amazing if you had said, "If it was... Green, +1 Card, White, +1 Action, Yellow, +$1"
Logged
If you're wondering what my avatar is, watch this.

Check out my logic puzzle blog!

   Quote from: sudgy on June 31, 2011, 11:47:46 pm

GendoIkari

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 9701
  • Respect: +10741
    • View Profile
Re: ironworks/trader
« Reply #34 on: July 31, 2014, 03:13:58 pm »
+2

Programming Analogy because those always make things clearer:
If Dominion cards were little programs, it's like when Ironworks gains a card it assigns the local variable "it" to the card. Then it looks up the types of "it" in the next sentence and gives you a bonus accordingly. When Trader or Possession interrupts the gain it also interrupts the variable assignment, so when Ironworks references "it" again it's referencing an unassigned variable. Here a computer program would get an error except that Dominion has a persistent Try-Except statement where any errors are ignored (a python construct. Basically if the program throws an error then you can specify a way for it to handle it). Now I'm sure that's cleared everything up for everyone. :P


private bool CheckWouldGainReactions()
{
    if (PossessionInPlay)
    {
        return false;
    }
    else if (TraderRevealed)
    {
        return false;
    }
    else
    {
         return true;
    }
}

public void GainCardFromIronworks(Card chosenCard)
{
    Card gainedCard = null;

    if (CheckWouldGainReactions())
    {
        gainedCard = chosenCard;
    }

    if (gainedCard != null)
    {
        if (gainedCard.Types.Includes("Action"))
        {
             AddAction();
        }
        if (gainedCard.Types.Includes("Victory"))
        {
             DrawCard();
        }
        if (gainedCard.Types.Includes("Treasure"))
        {
             AddCoin();
        }
    }
}
« Last Edit: July 31, 2014, 03:16:54 pm by GendoIkari »
Logged
Check out my F.DS extension for Chrome! Card links; Dominion icons, and maybe more! http://forum.dominionstrategy.com/index.php?topic=13363.0

Thread for Firefox version:
http://forum.dominionstrategy.com/index.php?topic=16305.0

GeoLib

  • Jester
  • *****
  • Offline Offline
  • Posts: 965
  • Respect: +1265
    • View Profile
Re: ironworks/trader
« Reply #35 on: July 31, 2014, 04:31:59 pm »
0

Programming Analogy because those always make things clearer:
If Dominion cards were little programs, it's like when Ironworks gains a card it assigns the local variable "it" to the card. Then it looks up the types of "it" in the next sentence and gives you a bonus accordingly. When Trader or Possession interrupts the gain it also interrupts the variable assignment, so when Ironworks references "it" again it's referencing an unassigned variable. Here a computer program would get an error except that Dominion has a persistent Try-Except statement where any errors are ignored (a python construct. Basically if the program throws an error then you can specify a way for it to handle it). Now I'm sure that's cleared everything up for everyone. :P

Code: [Select]
private bool CheckWouldGainReactions()
{
    if (PossessionInPlay)
    {
        return false;
    }
    else if (TraderRevealed)
    {
        return false;
    }
    else
    {
         return true;
    }
}

public void GainCardFromIronworks(Card chosenCard)
{
    Card gainedCard = null;

    if (CheckWouldGainReactions())
    {
        gainedCard = chosenCard;
    }

    if (gainedCard != null)
    {
        if (gainedCard.Types.Includes("Action"))
        {
             AddAction();
        }
        if (gainedCard.Types.Includes("Victory"))
        {
             DrawCard();
        }
        if (gainedCard.Types.Includes("Treasure"))
        {
             AddCoin();
        }
    }
}

I was thinking more like:

Code: [Select]
def try_gain_card(player,valid_gain_choices=all_cards_in_supply):
    valid_choice = False
   
    while not valid_choice:
        card_to_gain = input("Choose a card to gain")
        if card_to_gain in valid_gain_choices:
            valid_choice = True
   
    return would_gain(player,card_to_gain)

def would_gain(player,card_to_gain):
    would_gain_effects = []
    if is_possessed(player):
        would_gain_effects.append(possession_would_gain)
    if input("reveal trader?"):
        would_gain_effects.append(trader_would_gain)
       
    while len(would_gain_effects)>0:
        effect_to_resolve = input("which would_gain effect would you like to resolve?")
        return would_gain_effects[effect_to_resolve](card_would_gain)
   
    return gain(player,card_to_gain)
   
def gain(player, card_to_gain):
    gain_effects = input(black_box_that_checks_for_all_potential_gain_effects)
   
    while len(gain_effects)>0:
        effect_to_resolve = input("which gain effect would you like to resolve?")
        gain_effects[effect_to_resolve](card_gained)
       
    return card_to_gain
   
def possession_would_gain(player_to_gain,card_would_gain):
    would_gain(player_to_gain-1,card_would_gain)
    return

def trader_would_gain(player_to_gain,card_would_gain):
    would_gain(player_to_gain,silver)
    return
   

def ironworks():
    card_gained = try_gain_card(current_player,cards_in_supply_costing_less_than_4)
    try:
        if type(card_gained)==Action:
            action_count+=1
        if type(card_gained)==Treasure:
            money_pool+=1
        if type(card_gained)==Victory:
            draw_cards(1)
        return
    except:
        return
Logged
"All advice is awful"
 —Count Grishnakh

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7861
    • View Profile
Re: ironworks/trader
« Reply #36 on: July 31, 2014, 04:38:37 pm »
+1

Hm, has Donald weighed in on the Possession/Ironworks thing?  I don't disagree with the interpretations here, but I feel like the "intended function" would be as Goko implements.  The idea is "The Possessed player plays a turn as normal except that you make all the decisions and gain all the cards", it's just hard to make that all technically sound.

Donald +1'd my last post, where I described how it works (the same as Trader).

It is certainly easier to +1 your post than to write his own.  Ain't no way he's opening that can of blue worms again.

Open a can of worms.

If it was...

Blue, +1 card
Green, +$1

What if it was blue when you chose it, but green when you opened it?

(Quickedit) Also, it would have been amazing if you had said, "If it was... Green, +1 Card, White, +1 Action, Yellow, +$1"

Schrödinger's worm.
Logged

Davio

  • 2012 Dutch Champion
  • *
  • Offline Offline
  • Posts: 4787
  • Respect: +3412
    • View Profile
Re: ironworks/trader
« Reply #37 on: August 01, 2014, 01:55:36 am »
0

So it's at a superposition of blue and green?
Logged

BSG: Cagprezimal Adama
Mage Knight: Arythea

sudgy

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3431
  • Shuffle iT Username: sudgy
  • It's pronounced "SOO-jee"
  • Respect: +2706
    • View Profile
Re: ironworks/trader
« Reply #38 on: August 01, 2014, 02:00:10 am »
0

I'm pretty sure that if you open it, you're observing it...
Logged
If you're wondering what my avatar is, watch this.

Check out my logic puzzle blog!

   Quote from: sudgy on June 31, 2011, 11:47:46 pm

Davio

  • 2012 Dutch Champion
  • *
  • Offline Offline
  • Posts: 4787
  • Respect: +3412
    • View Profile
Re: ironworks/trader
« Reply #39 on: August 01, 2014, 02:03:15 am »
0

But as long as you don't open it, it's not green, not blue, but both!
Logged

BSG: Cagprezimal Adama
Mage Knight: Arythea
Pages: 1 [2]  All
 

Page created in 0.078 seconds with 21 queries.