Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some holds are worth double? #20

Open
adambee32 opened this issue Dec 27, 2014 · 1 comment
Open

Some holds are worth double? #20

adambee32 opened this issue Dec 27, 2014 · 1 comment

Comments

@adambee32
Copy link

Hi-
I havent checked if your code actually has this problem, but based on the table in the readme, it looks like you only have "r", "r2", "b", "b2" and "h" as round results. But there are also some rounds that end in a hold that can be worth double if one player or another wins. For example, if a Red ambassador plays a Blue musician, that round will be worth 2 if Red wins the next round, but only 1 if Blue wins. If two Ambassadors are played in the same round, it's worth double to both players.

Maybe this isn't an issue at all, but just wanted to flag it just in case.
Keep up the good work!
Adam

@jason-curtis
Copy link
Owner

Thanks for pointing this out Adam!
tl;dr: The interpretation of the rules in this library is a little different from your interpretation, but I think it's justified.

First of all, it looks like the two-ambassadors-on-hold situation is dealt with as you described via the way that GameStatus.on_hold_points works: https://github.com/thatneat/brave-rats/blob/master/components/fight.py#L119 and https://github.com/thatneat/brave-rats/blob/master/components/game_status.py#L18 .

The other situation, wherein a Red Ambassador is waylaid by a Blue Musician, is subject to some controversy among the players I've spoken to. The Musician's power is "This round is nullified and put on hold". Without the "nullified and" part, the (Ambassador vs. Musician) round would clearly be worth 2 points if the Ambassador player won the next round. As far as I can tell the instructions aren't entirely clear here, but in the interpretation I settled with for this implementation, the Musician "nullfying" the round means that the opponent's power (in this case, the Ambassador's power) is nullified. In this implementation, the same is true for, for instance, the General - if there is a General vs. Musician fight, the player of the General doesn't get powered up for the next round (see https://github.com/thatneat/brave-rats/blob/master/components/fight.py#L46 ). This interpretation also helps explain why the result of Musician x Prince => On Hold. The Prince's "You win the round" power is nullified.

I've played by both interpretations of the rules and I know people who believe in one or the other. I think either interpretation is valid; I decided to stick with this (musician-nullifies) flavor when implementing the library because it kept things simple. I'd definitely be open to an extension or fork that implemented the other (musician-does-not-nullify-powers) interpretation.

Does this answer your question?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants