View difference between Paste ID: qGhshwjc and NFN64hTQ
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-
#lista_gier_do_zgadniecia to zmienna do której wstawimy hasło do zgadnięcia
24+
#wylosowane_do_zgadniecia to zmienna do której wstawimy hasło do zgadnięcia
25
lista_gier_do_zgadniecia = []
26-
#lista_wprowadzonych_gier to lista gier które poda użytkownik
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
#Rozszerzenie
35
punkty = 0
36
max_punkty = 0
37-
37+
 
38
 
39
#losujemy hasła do zgadnięcia
40
for i in range(4):
41
    #kwadratowe nawiasy oznaczają tu pozycje w liście, random.randint to losowanie liczby całkowitej od 0 do 3
42
    wylosowana_gra = gry[random.randint(0, 3)]
43
    #append oznacza dołączenie do listy
44-
44+
45
 
46
#warto na tym etapie pokazać do celów testowych wygenerowane hasło
47
print(lista_gier_do_zgadniecia)
48-
48+
49-
49+
 
50
 
51
###STARTER
52-
print("Witaj w grze master mind")
52+
53-
print("Twoim celem jest jak najszybciej odgadnąć 4 gry, które i w jakiej kolejności komputer wylosował gry")
53+
print("Witaj w grze MasterMind")
54
print("Twoim celem jest jak najszybciej odgadnąć 4 gry, które zostały wylosowane przez komputer.")
55
print("Podczas zgadywania ważna jest kolejność gier.")
56
print("Uwaga gry mogą się powtórzyć!!!")
57-
57+
58
print(gry)
59
 
60
#właściwa gra która nie zakończy się dopóki nie podamy prawidłowego zestawu gier
61
while lista_wprowadzonych_gier != lista_gier_do_zgadniecia: 
62
    #za każdym razem jak od nowa podajemy gry musimy wyczyścić listę podanych gier 
63
    lista_wprowadzonych_gier = []
64-
64+
65
    print("Nowa próba")
66
 
67
    # tworzymy pętle która wykona się 4 razy
68
    for i in range(4):
69
        #dzięki input podajemy tytuł kolejnej gry
70
        wpisana_gra = input(f"Podaj grę nr {i+1}: ")
71
        #append dokleja nam grę na koniec listy
72
        lista_wprowadzonych_gier.append(wpisana_gra)
73
        pass
74
    #tworzymy dwa liczniki żeby sprawdzić ile gier było na idealnej pozycji a ile było poprawnych ale na złej pozycji
75-
75+
76
    poprawne_gry = 0
77
 
78
    # sprawdzanie ile trafił idealnie gier
79
    #wykonujemy sprawdzenie wszystkich 4 elementów które podaliśmy
80
    for i in range(4):
81
        #sprawdzamy czy gra którą podaliśmy jest na tej samej pozycji w grach wylosowanych przez komputer
82
        if lista_wprowadzonych_gier[i] == lista_gier_do_zgadniecia[i]:
83
            #jeśli jest to doliczamy ją do gier idealnych
84
            idealne_gry += 1
85
        
86
    poprawne_gry = policz_poprawne_gry(lista_wprowadzonych_gier, lista_gier_do_zgadniecia)
87
    
88
    #Do gier poprawnych zaliczyło nam także gry idealne więc musimy je odjąć żeby nie wprowadzić gracza w błąd
89-
    liczba_prob += 1
89+
90-
90+
91
    ile_razy_zgadywano += 1
92
 
93-
93+
94-
94+
95
 
96
    #wyświetlamy graczowi w jednej lini wszystkie gry jakie podał w tej turze
97
    print(f"Podałeś następujące gry: {lista_wprowadzonych_gier}")
98
    #Jeśli nie wszystkie gry są idealnie ustawione to wyświetlamy informacje o ilości poprawnie umiejscowionych gier
99
    if idealne_gry < 4:
100-
        print(f"niestety nie zgadłeś. Idealnie trafiłeś {idealne_gry} gier oraz ustawiłeś {poprawne_gry} gier poprawnych, ale w złych miejscach")
100+
101-
101+
        print(f"Niestety, nie zgadłeś. Idealnie trafiłeś {idealne_gry} gier oraz ustawiłeś {poprawne_gry} gier poprawnych, ale w złych miejscach")
102
 
103-
print(f"Brawo zgadłeś za {liczba_prob} razem!!!")
103+
104
print(f"Brawo zgadłeś za {ile_razy_zgadywano} razem!!!")
105
# informacja o punktach
106
print(f"Zdobyłeś {punkty}/{max_punkty} punktów")