# -*- coding: utf-8 -*-
#!/usr/bin/python
import random
class Dardos():
def __init__(self):
self.jugador1=''
self.jugador2=''
self.tirada=0
self.puntaje={'double_bull':50,'single_bull':25,'triple_20':60,'double_20':40,'single_20':20,'triple_19':57,'double_19':38,'single_19':19,'triple_18':54,'double_18':36,'single_18':18,'triple_17':51,'double_17':34,'single_17':17,'triple_16':48,'double_16':32,'single_16':16,'triple_15':45,'double_15':30,'single_15':15,'triple_14':42,'double_14':28,'single_14':14,'triple_13':39,'double_13':26,'single_13':13,'triple_12':36,'double_12':24,'single_12':12,'triple_11':33,'double_11':22,'single_11':11,'triple_10':30,'double_10':20,'single_10':10,'triple_9':27,'double_9':18,'single_9':9,'triple_8':24,'double_8':16,'single_8':8,'triple_7':21,'double_7':14,'single_7':7,'triple_6':18,'double_6':12,'single_6':6,'triple_5':15,'double_5':10,'single_5':5,'triple_4':12,'double_4':8,'single_4':4,'triple_3':9,'double_3':6,'single_3':3,'triple_2':6,'double_2':4,'single_2':2,'triple_1':3,'double_1':2,'single_1':1,}
self.turno1=False
self.turno2=False
self.puntos_tirada1=0
self.puntos_tirada2=0
self.puntos_acumulados1=0
self.puntos_acumulados2=0
self.t1=501
self.t2=501
def puntuacion(self):#turno de cada jugador que consta de trés tiradas cada uno restando a los 501
if self.turno1==True:
tiradas=0
while tiradas<3:
lista=[]
self.suma_tirada=0
for i in self.puntaje:
lista.append(i)
self.puntos=random.choice(lista)
if self.puntos in self.puntaje:
print( '{}: {}---> {}'.format(self.jugador1,self.puntos,self.puntaje[self.puntos]))
self.suma_tirada+=self.puntaje[self.puntos]
tiradas+=1
self.puntos_tirada1=self.t1-self.suma_tirada
print('en estas 3 tiradas {} ha conseguido {} puntos'.format(self.jugador1,self.puntos_tirada1))
self.t1=self.puntos_tirada1
else:
tiradas=0
while tiradas<3:
lista=[]
self.suma_tirada=0
for i in self.puntaje:
lista.append(i)
self.puntos=random.choice(lista)
if self.puntos in self.puntaje:
print( '{}: {}---> {}'.format(self.jugador2,self.puntos,self.puntaje[self.puntos]))
self.suma_tirada+=self.puntaje[self.puntos]
tiradas+=1
self.puntos_tirada2=self.t2-self.suma_tirada
print('en estas 3 tiradas {} ha conseguido {} puntos'.format(self.jugador2,self.puntos_tirada2))
self.t2=self.puntos_tirada2
def nombrar_jugadores(self):#funcion que da nombre a los jugadores
self.jugador1=input('Nombre jugadir 1: ')
self.jugador2=input('Nombre jugadir 2: ')
def turno(self):#Cambia de jugador cada trés tiradas
if self.turno1==True:
self.puntos_acumulados1-=self.puntos_tirada1
#print(self.puntos_tirada1)
self.turno1=False
elif self.turno1==False:
self.puntos_acumulados2-=self.puntos_tirada2
#print(self.puntos_tirada2)
self.turno1=True
def partida(self):#empieza la partida, he puesto un ciclo while de 20 turnos y tres tiradas cada uno pero se puede poner hasta que acabe a cero o menos turnos o como quieras
self.tiempo=0
d.nombrar_jugadores()
while self.tiempo<20:
d.puntuacion()
d.turno()
d.puntuacion()
self.tiempo+=1
if self.puntos_tirada1>self.puntos_tirada2:
print('{} ha ganado!!! con {} puntos'.format(self.jugador2,self.puntos_tirada2))
else:
print('{} ha ganado!!! con {} puntos'.format(self.jugador1,self.puntos_tirada1))
d=Dardos()
d.partida()