Author | putiferio |
Submission date | 2017-01-21 10:45:04.066206 |
Rating | 6979 |
Matches played | 396 |
Win rate | 67.93 |
Use rpsrunner.py to play unranked matches on your computer.
#email: putiferio61@gmail.com
import random
mosse="RPS"
if not input:
mappa={"R":0,"P":1,"S":2}
inversa={0:"R",1:"P",2:"S"}
risultato={"RR":0,"RP":1,"RS":-1,"PR":-1,"PP":0,"PS":1,"SR":1,"SP":-1,"SS":0}
listagiocate=""
output =mosse[random.randint(0,2)]
vincita1=1.
vincita2=1.
vincita3=1.
vincita4=1.
n=0
else:
n=n+1
ultima=input+output
listagiocate=listagiocate+input+output+"-"
if n>3:
vincita1=.9*vincita1+risultato[input+output1]
vincita2=.9*vincita2
vincita3=.9*vincita3
vincita4=.9*vincita4
if flag==1:
vincita2=vincita2+risultato[input+output2]
vincita3=vincita3+risultato[input+output3]
vincita4=vincita4+risultato[input+output4]
if len(listagiocate)>72:
listagiocate=listagiocate[3:]
output1=inversa[(mappa[input]+1)%3]
output2=output1
output3=output1
output4=output1
listarunning=listagiocate[:-3]
if n>2:
flag=0
k=listarunning.rfind(ultima)
if k>0:
output2=inversa[(mappa[listagiocate[k+3]]+1)%3]
output3=inversa[(mappa[listagiocate[k+3]]+2)%3]
output4=inversa[(mappa[listagiocate[k+4]]+2)%3]
flag=1
if vincita1>vincita2:
output12=output1
max12=vincita1
else:
output12=output2
max12=vincita2
if vincita3>vincita4:
output34=output3
max34=vincita3
else:
output34=output4
max34=vincita4
if max12>max34:
output=output12
max=max12
else:
output=output34
max=max34
if max<0:
output=mosse[random.randint(0,2)]
if random.randint(1,10)>1:
output=mosse[random.randint(0,2)]