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 |