Author | AntiDog |
Submission date | 2018-08-08 13:01:01.204970 |
Rating | 2084 |
Matches played | 277 |
Win rate | 22.74 |
Use rpsrunner.py to play unranked matches on your computer.
import random
#pick_by_winrate
output = ""
if input == "":
output = "P"
oponentmoves = ""
lastIn = "P"
wins = {}
else:
def beats(x,y):
if x == "R":
if y == "S": return True
if x == "P":
if y == "R": return True
if x == "S":
if y == "P": return True
return False
if last != "" and lastIn != "":
if beats(last, lastIn):
if lastIn+last in wins:
wins[lastIn+last] += 1
else:
wins[lastIn+last] = 1
#if beats(input, lastIn):
# if lastIn+last in wins:
# wins[lastIn+last] -= 1
# else:
# wins[lastIn+last] = -1
r = 0
p = 0
s = 0
for w in wins:
if len(w) < 2:
continue
if w[0] == input:
if w[1] == "R":
r += wins[w]
if w[1] == "P":
p += wins[w]
if w[1] == "S":
s += wins[w]
if r > p and r > s and r >0:
output = "P"
elif p > s and p > r and p >0:
output = "S"
elif s > p and s > r and s >0:
output = "R"
if output == "":
output = random.choice(["R","P","S"])
lastIn = input
last = output