Wild West - Competitive JavaScript!

Game Rules

  1. General: Wild West is a game played by 2+ players. Every player belongs to a team. The main aim of the game is to eliminate enemy team(s) and survive the fight.
  2. Game flow: The game is played in rounds. Each round, every player performs one of predefined actions. Actions from all players are executed simultaneously. If a certain number (player count * 20) of rounds is played without satisfied victory conditions, the game is called a draw.
  3. Allowed actions are:
    Arm Arm - player increases the amount of ammunition loaded into his gun. At the beginning of the game, there is no ammo loaded. One cannot shoot without at least one bullet in his gun.
    Shoot Shoot - player shoots at one specified target. This decreases the number of bullets in player's gun. It is not possible to shoot with empty gun.
    Block Block - blocking player cannot be hit by enemy shot. This is the only action which defends against (any number of) shooting enemies.
    Dandy Dandy - player demonstrates his mental superiority by doing a comic gesture. Anyone who manages to perform three Dandys during the match (without being shot) is declared a winner.
  4. Victory conditions: the game ends when one of the following is met:
    1. All alive players are from the same team - they win
    2. An alive player managed to perform three Dandys during the match - all such players are winners
    3. All players are dead - draw
    4. The maximum number of rounds have passed - draw
  5. Miscellaneous:
    1. Everyone has only one life: a player is dead after being shot once.
    2. Three Dandys don't have to be played in a row.
    3. It is legal (but pointless) to shoot at dead players.
    4. It is legal (but pointless) to shoot at friendly players (from your team).
    5. Player's gun stores ammo for infinite amount of time and it can store any number of bullets. Therefore, it is possible to do e.g. the following: Arm, Dandy, Arm, Block, Shoot, Shoot.
    6. One player can be hit by multiple enemies in one round. If his action is not Block, he is declared dead.