Skip to content

Commit

Permalink
Disambiguate removal logic
Browse files Browse the repository at this point in the history
  • Loading branch information
maxfierrog committed Sep 5, 2024
1 parent ad8da59 commit c48cbe9
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions content/main/assignments/homefun-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ The `zero-by` family is the set of games achievable via the parameterization `N-
* 2 players take alternating turns removing an amount of items in the set `S` from the collection.
* Player 1 starts. The player who takes the last item from the collection wins.

If we do not restrict `S`, it is possible to choose parameters for which a terminal position cannot be reached (e.g., `11-to-0-by-5`). Hence, we will include a new rule in the generic version:

* If a player can remove more items than there are left in the collection, they can remove all remaining items (winning the game in the process).

It is also possible to parameterize this ruleset on player count; we decide how abstract we make a family's parameterization. We motivate this decision by semantics and the available provisions for generic constructs in our programming language of choice.

Ultimately, a game family is the set of games describable by concretizing the parameters of its generic ruleset. The games within a game family are often referred to as "variants" of each other, and games which belong to obvious families are sometimes called "variable."
Expand Down

0 comments on commit c48cbe9

Please sign in to comment.