Описание игры и намётки архитектуры
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Gameplay description
|
||||
|
||||
Main gameplay cycle is a match of classical `fool` card
|
||||
game described here as follows.
|
||||
|
||||
Card is considered `open` when players can see its front face and
|
||||
know its suit and value. Otherwise card is considered `closed`.
|
||||
|
||||
Game is played with standard 36-card deck.
|
||||
|
||||
For now we will form gameplay with two players, game user and computer opponent (bot).
|
||||
|
||||
Every player is drawn 6 cards. One card from the rest is laid
|
||||
open on the table and denotes a trump suit. Cards with the same suit as
|
||||
trump suit card are called trumps. Rest of the cards are
|
||||
shuffled and form the deck.
|
||||
|
||||
Players make moves in turns. First move is made by player with lowest
|
||||
card of trump suit in his hand. If there's a tie (e.g. no player has trumps),
|
||||
player with the lowest card in his hand makes first move. If there's a
|
||||
tie, first move is done by random player.
|
||||
|
||||
To make a move player (call him attacking player) chooses one card from his hand and
|
||||
lays it open on the table. The next player in clockwise order (we will call him
|
||||
defending player) must beat this card. To do so, he chooses from this hand
|
||||
a card of same suit and greater value, or a trump. If defending player needs
|
||||
to beat a trump, this could be done with a trump only. All cards which are to be
|
||||
beaten by defending players we call `attacking cards`.
|
||||
|
||||
All players (including attacking players) can add cards to the attack. Only
|
||||
cards with same value as any card laying on the table (initially added for
|
||||
attack or used by defending player) can be added.
|
||||
|
||||
* In any move there could be not more than 6 attacking cards (5 cards if it is the first move
|
||||
of the game).
|
||||
* There should not be more attacking cards than card amount in defending player's
|
||||
hand.
|
||||
* Cards can be added to attack at any time by any player except defending player.
|
||||
|
||||
If defending player beats all attacking cards and no one wishes to add more,
|
||||
the turn end and all cards from attack are discarded. Then, every player (starting
|
||||
from attacking player, then in clockwise order except defending player and defending
|
||||
player the last) draws cards from deck until they had 6 cards on hand (or the deck is empty).
|
||||
The card denoting trump suit is considered last card of the deck in this process.
|
||||
|
||||
After drawing cards move is passed to next player in clockwise order.
|
||||
When a player has no cards left (after drawing phase) he leaves the game (all other
|
||||
players continue play). When only one player is left he is considered loser of the
|
||||
game.
|
||||
|
||||
# Bot logic
|
||||
|
||||
## Basic bot
|
||||
|
||||
When in need to make move, choose non-trump card with least value among all in hand.
|
||||
If there is none, choose trump with least value.
|
||||
|
||||
When choosing what to add to attack, add all eligible non-trump cards. Add trump cards
|
||||
only when the deck is empty and you have only trump cards in your hands.
|
||||
|
||||
When defending always choose suitable card with least value. Prefer defending with non-trumps
|
||||
first, use trumps only when necessary.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user