bot7.4.py

Authorputiferio
Submission date2017-01-21 10:45:04.066206
Rating6922
Matches played324
Win rate67.28

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

Source code:

#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)]