View difference between Paste ID: vLsA553D and hn2cYd82
SHOW: | | - or go back to the newest paste.
1
import random
2
def policz_poprawne_gry(lista_podanych_gier, lista_gier_do_zgadniecia):
3
    #poprawne gry
4
    liczba_odgadnietych_gier = 0
5
    #Tworzymy sobie kopie gier które mamy w liście do zgadnięcia żeby nie uszkodzić orginalnej listy
6
    kopia_listy_gier_do_zgadniecia = lista_gier_do_zgadniecia.copy()
7
    #wykonujemy operacje dla każdej gry którą podaliśmy
8
    for gra in lista_podanych_gier:
9
        #jeżeli gra którą podaliśmy znajduje się w liście to zaliczamy ją do poprawnej
10
        if gra in kopia_listy_gier_do_zgadniecia:
11
            #doliczamy ją jako poprawną
12
            liczba_odgadnietych_gier += 1
13
            #sprawdzamy na którym miejscu w liście jest
14
            miejsce_poprawnej_gry = kopia_listy_gier_do_zgadniecia.index(gra)
15
            #usuwanie wystąpienia z kontrolnej listy tak aby nie zaliczyło nam jednej gry dwa razy, zastępujemy jej miejsce "Skreśleniem"
16
            kopia_listy_gier_do_zgadniecia[miejsce_poprawnej_gry] = "/"
17
            pass
18
        pass
19
    return liczba_odgadnietych_gier
20-
20+
 
21-
21+
 
22
#gry to wszystkie nazwy gier z jakich może korzystać program, dzieci mogą podać własne propozycje
23
gry = ["Pokemon", "Fortnite", "Minecraft", "CS"]
24
#wylosowane_do_zgadniecia to zmienna do której wstawimy hasło do zgadnięcia
25
lista_gier_do_zgadniecia = []
26
#podane_gry to lista gier które poda użytkownik
27
lista_wprowadzonych_gier = []
28
###WSZYSTKO POWYŻEJ TO STARTER
29-
29+
 
30-
30+
 
31-
31+
 
32
#licznik tur
33-
liczba_prob = 0 
33+
ile_razy_zgadywano = 0 
34-
34+
 
35
 
36
 
37
#losujemy hasła do zgadnięcia
38
for i in range(4):
39
    #kwadratowe nawiasy oznaczają tu pozycje w liście, random.randint to losowanie liczby całkowitej od 0 do 3
40
    wylosowana_gra = gry[random.randint(0, 3)]
41-
41+
42
    lista_gier_do_zgadniecia.append(wylosowana_gra)
43
 
44
#warto na tym etapie pokazać do celów testowych wygenerowane hasło
45-
45+
46-
46+
47
 
48
 
49-
print("Witaj w grze master mind")
49+
50-
print("Twoim celem jest jak najszybciej odgadnąć 4 gry, które i w jakiej kolejności komputer wylosował gry")
50+
51
print("Witaj w grze MasterMind")
52
print("Twoim celem jest jak najszybciej odgadnąć 4 gry, które zostały wylosowane przez komputer.")
53
print("Podczas zgadywania ważna jest kolejność gier.")
54-
54+
55
print("Oto zestaw gier z jakich korzysta komputer (zwróć uwagę na wielkość liter)")
56
print(gry)
57
 
58
#właściwa gra która nie zakończy się dopóki nie podamy prawidłowego zestawu gier
59
while lista_wprowadzonych_gier != lista_gier_do_zgadniecia: 
60
    #za każdym razem jak od nowa podajemy gry musimy wyczyścić listę podanych gier 
61-
61+
62
    #zaznaczamy nową próbę
63
    print("Nowa próba")
64
 
65
    # tworzymy pętle która wykona się 4 razy
66
    for i in range(4):
67
        #dzięki input podajemy tytuł kolejnej gry
68
        wpisana_gra = input(f"Podaj grę nr {i+1}: ")
69
        #append dokleja nam grę na koniec listy
70
        lista_wprowadzonych_gier.append(wpisana_gra)
71
        pass
72-
72+
73
    idealne_gry = 0
74
    poprawne_gry = 0
75
 
76
    # sprawdzanie ile trafił idealnie gier
77
    #wykonujemy sprawdzenie wszystkich 4 elementów które podaliśmy
78
    for i in range(4):
79
        #sprawdzamy czy gra którą podaliśmy jest na tej samej pozycji w grach wylosowanych przez komputer
80
        if lista_wprowadzonych_gier[i] == lista_gier_do_zgadniecia[i]:
81
            #jeśli jest to doliczamy ją do gier idealnych
82
            idealne_gry += 1
83
        
84
    poprawne_gry = policz_poprawne_gry(lista_wprowadzonych_gier, lista_gier_do_zgadniecia)
85
    
86-
    liczba_prob += 1
86+
87-
87+
88-
88+
89
    ile_razy_zgadywano += 1
90
 
91
    #wyświetlamy graczowi w jednej lini wszystkie gry jakie podał w tej turze
92
    print(f"Podałeś następujące gry: {lista_wprowadzonych_gier}")
93
    #Jeśli nie wszystkie gry są idealnie ustawione to wyświetlamy informacje o ilości poprawnie umiejscowionych gier
94-
        print(f"niestety nie zgadłeś. Idealnie trafiłeś {idealne_gry} gier oraz ustawiłeś {poprawne_gry} gier poprawnych, ale w złych miejscach")
94+
95-
95+
96
        print(f"Niestety, nie zgadłeś. Idealnie trafiłeś {idealne_gry} gier oraz ustawiłeś {poprawne_gry} gier poprawnych, ale w złych miejscach")
97-
print(f"Brawo zgadłeś za {liczba_prob} razem!!!")
97+
 
98
#gratulujemy zwycięstwa
99
print(f"Brawo zgadłeś za {ile_razy_zgadywano} razem!!!")
100