Giter VIP home page Giter VIP logo

Comments (15)

roseundy avatar roseundy commented on September 26, 2024 1

Be aware the rules are a little vague on whether this "trade up" opportunity is given to players and corporations or just players. A strict reading suggests the latter (and is what I have implemented).

from 18xx.

physic avatar physic commented on September 26, 2024

I am reading the rules again, and I can see the interpretation now, based on the third bullet point. Perhaps the "first shareholder with 40% [when it is their turn] must take the Presidency [if it hasn't been taken yet]", but the special trade up to the Presidency comes into play before that happens.

It doesn't feel right to me, but I can see it now. So I am less sure now :|
The current interpretation definitely feels like it produces a less intuitive result.

These gd rules.

from 18xx.

physic avatar physic commented on September 26, 2024

Here's some more data on this. Seems that it is implemented inconsistently. I made a test game to mess with this.

https://gist.github.com/physic/2b454bdd1ef57f6ca03baeb8c1d17ecd
action=353

Another player already has 40%. For some reason, the first player to trade is given the option to pre-emptively trade up to the presidency, but when they decline, pairs are exchanged and the second player is not given the option.

My guess is that it is only offering this special pre-emptive trade up to the outgoing president, when it should be offered to every player [later, after exchanging pairs]).

from 18xx.

roseundy avatar roseundy commented on September 26, 2024

Well, that is not certainly the intention of my code.

All players with multiple shares of the outgoing corporations should be given the opportunity to "trade" up for a president's share before the single-share round happens.

I won't be able to investigate this until at least tonight.

from 18xx.

physic avatar physic commented on September 26, 2024

Well, that is not certainly the intention of my code.

All players with multiple shares of the outgoing corporations should be given the opportunity to "trade" up for a president's share before the single-share round happens.

I won't be able to investigate this until at least tonight.

All players with even a single share of the old corporations should be given the opportunity to trade up.

from 18xx.

roseundy avatar roseundy commented on September 26, 2024

My code is intended to allow that.

from 18xx.

roseundy avatar roseundy commented on September 26, 2024

Looking at your gist, I'm not sure I see the problem. Caro gets the presidency because he traded in his pair of shares first and thus had the opportunity to trade up to a pres share before Eli or Fred traded in their four shares.

Are you asking why Caro went first? If so, it's because of bullet three of section 4.6.10 (SSLF had a better share price than AFI).

from 18xx.

physic avatar physic commented on September 26, 2024

If Caro declines, Drew doesn't get the option to trade up to the Presidency. Either they should both get an option or neither of them should. They both trade before E or F. (I think the latter is correct, but I can see both interpretations)

from 18xx.

physic avatar physic commented on September 26, 2024

Oh. Wait, I think I understand how you have it coded. Because D doesn't have a pair, D is skipped and E and F trade pairs before D would get the option.

from 18xx.

physic avatar physic commented on September 26, 2024

Ugh. I hate how that actually makes sense.

from 18xx.

physic avatar physic commented on September 26, 2024

Okay, So I remember why I didn't like this interpretation. What happens if there are only pairs of shares, when Caro goes to trade? I'll try to reproduce.

from 18xx.

physic avatar physic commented on September 26, 2024

https://gist.github.com/physic/ab59810dc4d6a98009998d65f09299c6

I see that you have handled this case. Caro trades up, and then when Bob goes to trade pairs, there are no shares left. The rules don't acknowledge this possibility or how to handle it, which I suppose is why I assumed players are guaranteed to be allowed to trade their pairs of shares.

from 18xx.

physic avatar physic commented on September 26, 2024

That edge case is vanishingly unlikely, and I suppose your interpretation is as reasonable as any. So I'll let this one go.

from 18xx.

roseundy avatar roseundy commented on September 26, 2024

OK, but I guess I don't see where any "interpretation" is involved here (other parts of the rules, sure). The rules are pretty clear about what order players and corporations are offered a chance to exchange shares. I agree that the "trade up" rule could have been better integrated with the rest of the procedure.

from 18xx.

physic avatar physic commented on September 26, 2024

I'm not saying your interpretation is wrong. But unless there is only one reasonable conclusion, then almost by definition, any conclusion requires interpretation.

The first shareholder with 40% of the combined old Corporations must take the Presidency. First, it does not say "[When it is their turn to exchange shares] they must take the Presidency [unless it has already been claimed]" so one could argue that this line in the rules is violated when this player never takes the Presidency.
Second, given that there are multiple references to 40% being the threshold for taking the Presidency, given that the third bullet point exists, wholly or in part, in order to allow merges to go through where no one has 40%, and given that "claimed" is not clearly defined, this line could be interpreted as meaning that if someone has 40% of the old Corporation, they are under obligation to take the Presidency, and thus it has already been "claimed." That is to say, "If the new Presidency has not been claimed" is intended to mean "If no player had 40% and no player has yet traded up to the Presidency." (This notion about the intent of the third bullet point being only to allow mergers to go through, combined with sloppy or incorrect use of the terms player/shareholder elsewhere in the rules, combined with the fact that the third bullet point is the one place in the rules with $'s instead of L. and was clearly not proofread, are also why I suspect it is intended to apply to all shareholders, but I digress)

Those nuances aside, which I admit are at least somewhat tenuous, it is definitely up to interpretation that in the last edge case I provided, Bob has a pair of old shares and receives $127 and no share. There is no dispensation in the rules for a player being unable to trade in a pair of shares, or for whether or how they should be compensated.

from 18xx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.