bias_counter_2

Authorrand
Submission date2013-06-09 17:07:52.488613
Rating3478
Matches played731
Win rate35.16

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

Source code:

import random


beat = {'R':'P', 'S':'R', 'P':'S'}

def counter_bias(my_hist, ap_hist):
    my_counts = map(my_hist.count, 'RPS')
    my_bias_count = max(my_counts)
    my_bias_choice = 'RPS'[my_counts.index(my_bias_count)]
    if my_bias_count > len(my_hist) / 3:
        ap_choice = beat[my_bias_choice]
        return beat[ap_choice]
    else:
        return random.choice('RPS')


# first round; var initialization
if input == '':
    my_hist = ''
    ap_hist = ''
    rounds = 0
    is_looking_for_bias = False


ap_hist += input
if rounds > 30:
    b = ap_hist.count('P')
    if b > 20:
        is_looking_for_bias = True


if is_looking_for_bias:
    output = counter_bias(my_hist, ap_hist)
elif rounds > 30:
    output = random.choice('RPS')
else:
    output = 'R'


my_hist += output
rounds += 1