View difference between Paste ID: qtwS7AAF and 5J2cdALt
SHOW: | | - or go back to the newest paste.
1
import random
2
3
lista_opcji = ["100 punktów za 1", "50 punktów za 5","Punkty za 3 kości"]
4
trzy_kosci = 0
5
liczba_kosci = 5
6
mozliwe_opcje = []
7
wyrzucone_kosci = []
8
punkty = [0,0]
9
punkty_tury = 0
10
gracz = 0
11
def rzut_koscmi(ile_kosci):
12
    wyrzucone_kosci.clear()
13
    for i in range(ile_kosci):
14
        wyrzucone_kosci.append(random.randint(1,6))
15
    pokaz_kosci()
16
    
17
def pokaz_kosci():
18
    print("____________________")
19
    print("Wyniki rzutu koścmi:")
20
    for i in range(len(wyrzucone_kosci)):
21
        print(f"Kość {i+1}: {wyrzucone_kosci[i]} oczek ")
22
23
def mozliwe_punktowania():
24
    mozliwe_opcje.clear()
25
    if 1 in wyrzucone_kosci:
26
        mozliwe_opcje.append(0)
27
    if 5 in wyrzucone_kosci:
28
        mozliwe_opcje.append(1)
29
    if len(wyrzucone_kosci) >= 3:
30
        for i in range(1,7):
31
            if wyrzucone_kosci.count(i) >= 3:
32
                global trzy_kosci
33
                trzy_kosci = i
34
                mozliwe_opcje.append(2)
35
36
def kontynuacja_tury():
37
    global liczba_kosci
38
    while liczba_kosci > 0:
39
        pokaz_kosci()
40
        mozliwe_punktowania()
41
        if len(mozliwe_opcje) >=1:
42
            print("0. Przydziel więcej punktów z tego rzutu")
43
        print("1. Przerzuć niezapunktowane kości, jeśli wykorzystałeś wszystkie to rzuć ponownie wszystkimi")
44
        print("2. Zakończ ture i dopisz punkty")
45
        
46
        wybor = int(input("Podaj wybor:"))
47
        if wybor == 0:
48
            przydziel_punkty()
49
        elif wybor == 1:
50
            if liczba_kosci == 0:
51
                liczba_kosci = 5
52
            return True
53
        elif wybor == 2:
54
            return False
55
56
def przydziel_punkty():
57
    i = 1
58
    for opcja in mozliwe_opcje:
59
        tekst = lista_opcji[opcja]
60
        print(f"{i}. {tekst}")
61
        i += 1
62
63
    wpisany_wybor = 0
64
    while not 0 < wpisany_wybor <= len(mozliwe_opcje):
65
        wpisany_wybor = int(input("Podaj wybor: "))
66
    wpisany_wybor -= 1
67
    global liczba_kosci
68
    global punkty_tury
69
    if mozliwe_opcje[wpisany_wybor] == 0:
70
        liczba_kosci -= 1
71
        punkty_tury += 100
72
        wyrzucone_kosci.remove(1)
73
    elif mozliwe_opcje[wpisany_wybor] == 1:
74
        liczba_kosci -= 1
75
        punkty_tury += 50
76
        wyrzucone_kosci.remove(5)
77
    elif mozliwe_opcje[wpisany_wybor] == 2:
78
        liczba_kosci -= 3
79
        if trzy_kosci == 1:
80
            punkty_tury += 1000
81
        else:
82
            punkty_tury += trzy_kosci*100
83
        for i in range(3):
84
            wyrzucone_kosci.remove(trzy_kosci)
85
      
86
czy_ktos_wygral = False
87
88
while not czy_ktos_wygral:
89
    liczba_kosci = 5
90
    punkty_tury = 0
91
    czy_kontynuowac = True
92
    print(f"Punkty: gracz 1 - {punkty[0]}| gracz 2 - {punkty[1]}")
93
    print(f"Tura Gracza {gracz+1}")
94
    while czy_kontynuowac:
95
        rzut_koscmi(liczba_kosci)
96
        mozliwe_punktowania()
97
        if len(mozliwe_opcje) == 0:
98
            print("Niestety nie możesz zdobyć punktów. Twoja tura kończy się")
99
            punkty_tury = 0
100
            break
101
        else:
102
            przydziel_punkty()
103
        print(f"Punkty zdobyte w tej turze: {punkty_tury}")
104
        czy_kontynuowac = kontynuacja_tury()
105
    punkty[gracz] += punkty_tury
106
    if punkty[gracz] >= 10000:
107
        print("Wygrałeś!!!")
108
        czy_ktos_wygral = True
109
    if gracz == 0:
110
        gracz = 1
111
    else:
112
        gracz = 0
113
114