S.5 Juego tirar dados

 import random


#EJEMPLO 1


def ini_joc () :

    nums_jugadors = int(input("Quants jugadors sou? "))

    

    noms = []

    for i in range(nums_jugadors) :

        noms.append(input("Quin és el vostre nom? "))

        

    rondes= int(input("Quantes rondes voleu jugar? "))

    return nums_jugadors, noms, rondes

nums_jugadors, noms, rondes = ini_joc()


print(f'{nums_jugadors, noms, rondes}')


#EJEMPLO 2


def recompte_gen(nums_jugadors, rondes) :

    puntuació = [] 

    for ronda in range(rondes):

    

        ronda_puntuacions = [0] * nums_jugadors

        puntuació.append(ronda_puntuacions)

    

    return puntuació


# Exemple

resultat = recompte_gen(nums_jugadors,rondes)

print(resultat)


#EJEMPLO 3

def tirada2daus() :

    tirada1= (random.randint(1, 6))

    tirada2= (random.randint(1, 6))

    tirades= tirada1+tirada2

    return tirades

tirar2daus = tirada2daus()

print(tirar2daus)


#EJEMPLO 4


def aposta(nom, rondes):

    resultat = 0

    for ronda in range(rondes):

   

        resultat_tirada = tirada2daus()

        resultat += resultat_tirada

        

        print(f'{nom} ha tret un {resultat_tirada}. Resultat acumulat: {resultat}')

        

        if resultat > 21:

            print(f'{nom} ha perdut amb un total de {resultat}.')

            resultat = 0

            

        else:

            resposta = input(f'{nom}, vols tornar a tirar? (si/no): ')

            if resposta.lower() != 'si':

                break

           

    return resultat



for ronda in range(rondes):

    print(f"\n** Ronda {ronda + 1} **")

    puntuacions_ronda = []

    for nom_jugador in noms:

        resultat_final = aposta(nom_jugador, rondes)

        print(f'{nom_jugador} ha aconseguit un resultat final de {resultat_final}')

        puntuacions_ronda.append(resultat_final)

    

    guanyador_ronda = noms[puntuacions_ronda.index(max(puntuacions_ronda))]

    print(f'Guanyador de la ronda {ronda + 1}: {guanyador_ronda}')



#EJEMPLO 5

def pos_max(llista):

    posicio_maxima = llista.index(max(llista))

    return posicio_maxima


# Ejemplo

puntuacions_finales = [sum(resultat[ronda]) for ronda in range(rondes)]

guanyador = noms[pos_max(puntuacions_finales)] 

print(f'Guanyador del joc: {guanyador}')

    

Comentarios

Entradas populares de este blog