angerie_boi_9000

AuthorSpencer
Submission date2017-10-26 08:41:56.831910
Rating4147
Matches played326
Win rate39.57

Use rpsrunner.py to play unranked matches on your computer.

Source code:

import random
from time import time
BEATS = { 'R': 'S', 'S': 'P', 'P': 'R' }
BACKWARDS = { 'S': 'R', 'P': 'S', 'R': 'P' }
OPTIONS = ['R', 'P', 'S']
player_last = []
bot_last = []

random.seed(time())

def random_play():
    rand_n = random.randint(1, 17)
    if rand_n <= 5:
        return 'R'
    elif rand_n <= 10:
        return 'S'
    else:
        return 'P' # slightly more likely

    #python 3
    #return random.choices(OPTIONS, weights = [5, 7, 5])[0]

player_last.append(input) 

output = None

# First move of game
if len(bot_last) == 0:
    # Choose random, favoring P
    output = random_play()

else:
    # If the player won, they'll stick
    if BEATS[player_last[-1]] == bot_last[-1]:
        output = BACKWARDS[player_last[-1]]

    # If bot won, choose what beats bot's last move
    else: #BEATS[bot_last[-1]] == player_last[-1]:
        output = BACKWARDS[bot_last[-1]]

    # If it ties, play what beats the last play
    #else: see last condition

bot_last.append(output)