Architecture Kata "City-Country-River"

Write a program that allows several players to play Stadt-Land-Fluss.

The game

The "playing field" is a table in the following form:

CityCountryRiver...Points
LondonLebanonLena 25
JacksonvilleJapanJennisei 30
    50

The table contains several columns for categories. Each row corresponds to a round of the game

During each round of the game, players try to find a term for each category that begins with a specific letter of the alphabet. The letter is randomly determined by the game and may not be used more than once per game.

The number of rounds per game is limited (e.g. 10) and is determined at the start of the game.

A round ends as soon as the first player has found a term for each category and calls "Stop", or after a predetermined period of time (e.g. 60 seconds).

The points for each round are calculated as the sum of the points per category:

  • Solo: if a player is the only one with a term in the category, they receive 20 points in this category.
  • Unique: if a player's term is unique in the category, they receive 10 points.
  • Double: for a term that was also used by another player in the category, the player receives 5 points.
  • Without: without a term in the category, the player receives 0 points in this category.

The total score of a player is the sum of his points from the individual rounds.

The winner is the player with the highest total score.

The program

The program is designed to make it easy for players to play city-country-river when they are sitting together.

A player can start the game and receives a unique game ID. The game ID can be used by other players to join the game. Alternatively, the initiator of the game can invite the other players by email. To do this, he enters the email addresses of the other players in the program.

Before the game ID is generated, the game must be configured:

  • Which categories should be used? Default values: city, country, river, name, animal, profession
  • Which timeout should be used? Standard: none, each round continues until a player calls "Stop".
  • How many rounds should be played?

As soon as all players are in the game, the initiator can start the first round. The program displays the letter with which the category terms must begin.

Players can end a round or the round stops automatically when the timeout is reached, if one has been set.

Points cannot be awarded automatically, as the content of individual entries in the categories may not be correct. The players must therefore agree on the correctness and unambiguousness and then award their points. Fairness is required here 😉

However, the total points per round and the total score are calculated automatically.

Once the points have been awarded, the next round can begin.

The game ends after the predetermined number of rounds. Alternatively, it can be interrupted at any time.

Variation

To award points for a round, the solutions of all players are presented to the other players for assessment. Each player then silently marks the terms as Solo, Unique, Double or Invalid. The assessment results are then evaluated by the program and the scores are calculated.

In the event of a conflict, if an entry has been rated differently by players, this entry will be submitted to the initiator of the game for clarification.

 

 

 

 

 

en_USEnglish