Skip to content

mikesela/roshambono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Roshambono

Roshambono is roshambo (or Rock-Paper-Scissors) with no ties.

Rock beats scissors, scissors beats paper, paper beats rock.

However, if there are is a tie, the player who has played that shape more often wins. If each player has played that shape the same number of times, then the player who has played the shape that beats it more wins. If still tied, then a coin is tossed.

For example, if both players play "Rock", then the player who has played "Rock" more often wins. If both players have played "Rock" the same amount of times, she who played "Paper" more wins.

You can write a robot by implementing the get_play() function in p_robot/player.py:

def get_play(player_id, state) 
    
    return 1 for Rock, 2 for Paper, and 3 for Scissors.

    player_id is an integer representing the id of your current opponent.

    state is an 8 bit unsigned integer representing the
    result of the last hand. 

    if it is 0, it is the first game. 

    otherwise, bits 0 and 1 represent your move,
    bits 2 and 3 represent your opponent's move, 
    bits 4 and 5 represent the number of tiebreakers
    needed to resolve the game, and 
    bit 6 is set if you won, or 0 if you lost.

    for example, if in the last game you played Rock,
    and your opponent played Scissors, state would be:

    (1) | (3 << 2) | (0 << 4) | (1 << 6) = 77

To play first to 100 rock against random:

$ git clone https://github.com/botfights/roshambono.git
$ cd roshambono
$ python roshambono.py play 100 p_rock p_random

Next, edit p_robot/player.py, implement get_play(), then play your robot against the random:

$ python roshambono.py play 100 p_robot p_random

To play a round robin tournament of 100 games each to 1000:

$ python roshambono.py tournament 100 1000 p_robot p_random p_rock p_paper p_scissors

Have fun!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages