This commit is contained in:
tymek 2026-05-28 22:10:35 +02:00
parent 1eb21960ec
commit ee4d769167

View file

@ -82,7 +82,7 @@ def strzal_z_karabinu():
amo['value'] = magazynek amo['value'] = magazynek
if firerate <= 0 < magazynek and pelny: if firerate <= 0 < magazynek and pelny:
firerate = 5 firerate = 0.1
magazynek -= 1 magazynek -= 1
wspol = canvas.coords(dul) wspol = canvas.coords(dul)
xs = [wspol[i] for i in range(0, len(wspol), 2)] xs = [wspol[i] for i in range(0, len(wspol), 2)]
@ -135,8 +135,8 @@ def stzal_gluwny(event):
def cele_ruch(): def cele_ruch():
global cele global cele
x1, y1, x2, y2, x3, y3, x4, y4 = canvas.coords(dul) x1, y1, x2, y2, x3, y3, x4, y4 = canvas.coords(dul)
celx=int((x1+x2+x3+x4)/4) celx = int((x1 + x2 + x3 + x4) / 4)
cely=int((y1+y2+y3+y4)/4) cely = int((y1 + y2 + y3 + y4) / 4)
for idx, c in enumerate(cele): for idx, c in enumerate(cele):
if c["x1"] < celx: if c["x1"] < celx:
c["l"] = False c["l"] = False
@ -150,8 +150,8 @@ def cele_ruch():
canvas.move(c["id"], 1, 0) canvas.move(c["id"], 1, 0)
c["x1"] += 1 c["x1"] += 1
c["x2"] += 1 c["x2"] += 1
c["ip"].place(x=c["x1"]+2.5,y=c["y1"]-10) c["ip"].place(x=c["x1"] + 2.5, y=c["y1"] - 10)
c["ip"]['value']=c["hp"] c["ip"]['value'] = c["hp"]
def aktualizuj_karabiny(): def aktualizuj_karabiny():
@ -222,7 +222,7 @@ def aktualizuj_karabiny():
if cele_zniszczone == cel_wymagany: if cele_zniszczone == cel_wymagany:
tekst_celu["text"] = "MISJA UKOŃCZONA! ZNISZCZYŁEŚ CELE!" tekst_celu["text"] = "MISJA UKOŃCZONA! ZNISZCZYŁEŚ CELE!"
tekst_celu["foreground"] = "gold" tekst_celu["foreground"] = "gold"
root.after(5000, lambda: tekst_celu.pack_forget()) root.after(5000, lambda: tekst_celu.place_forget())
kamyki_do_usuniecia.sort(reverse=True) kamyki_do_usuniecia.sort(reverse=True)
for idx in kamyki_do_usuniecia: for idx in kamyki_do_usuniecia:
@ -265,6 +265,26 @@ def aktualizuj_karabiny():
karabiny.pop(idx) karabiny.pop(idx)
def misja():
print("X")
global ktura_misja, cele, cele_zniszczone, cel_wymagany
ktura_misja += 1
tekst_celu.place(x=20, y=20)
tekst_celu["text"] = f"misja {ktura_misja}"
cele = []
cele_zniszczone = 0
cel_wymagany = ktura_misja * 5
for i in range(cel_wymagany):
cx = randrange(200, 900)
cy = randrange(200, 600)
wrog_id = canvas.create_polygon(cx, cy, cx + 30, cy, cx + 30, cy + 20, cx, cy + 20, fill="red3", outline="black")
hp_wrog_id = ttk.Progressbar(root, orient="horizontal", length=25, mode="determinate", style="wrog.Horizontal.TProgressbar", maximum=60)
hp_wrog_id.place(x=cx, y=cy - 10)
hp_wrog_id['value'] = 10
cele.append({"id": wrog_id, "x1": cx, "y1": cy, "x2": cx + 30, "y2": cy + 20, "hp": 60, "l": True, "ip": hp_wrog_id})
def aktualizuj_pociski(): def aktualizuj_pociski():
global cele_zniszczone global cele_zniszczone
szerokosc_okna = canvas.winfo_width() szerokosc_okna = canvas.winfo_width()
@ -318,13 +338,15 @@ def aktualizuj_pociski():
canvas.tag_lower(slad_id) canvas.tag_lower(slad_id)
canvas.delete(c["id"]) canvas.delete(c["id"])
c["ip"].place_forget()
cele.pop(idx) cele.pop(idx)
cele_zniszczone += 1 cele_zniszczone += 1
tekst_celu["text"] = f"Cele do zniszczenia: {cele_zniszczone}/{cel_wymagany}" tekst_celu["text"] = f"Cele do zniszczenia: {cele_zniszczone}/{cel_wymagany}"
if cele_zniszczone == cel_wymagany: if cele_zniszczone == cel_wymagany:
tekst_celu["text"] = "MISJA UKOŃCZONA! ZNISZCZYŁEŚ CELE!" tekst_celu["text"] = "MISJA UKOŃCZONA! ZNISZCZYŁEŚ CELE!"
tekst_celu["foreground"] = "gold" tekst_celu["foreground"] = "gold"
root.after(5000, lambda: tekst_celu.place_forget())
root.after(7000, misja)
kamyki_do_usuniecia.sort(reverse=True) kamyki_do_usuniecia.sort(reverse=True)
for idx in kamyki_do_usuniecia: for idx in kamyki_do_usuniecia:
kam = kamycki[idx] kam = kamycki[idx]
@ -457,10 +479,10 @@ def gluwna():
if czekajmagazynek > 0: if czekajmagazynek > 0:
czekajmagazynek = czekajmagazynek - 1 czekajmagazynek = czekajmagazynek - 1
amo['value'] = 40 - (czekajmagazynek / 8) amo['value'] = 160 - (czekajmagazynek / 2)
if czekajmagazynek == 0: if czekajmagazynek == 0:
magazynek = 40 magazynek = 160
pelny = True pelny = True
amo['value'] = magazynek amo['value'] = magazynek
@ -560,7 +582,7 @@ wcisniete_klawisze = {"w": False, "s": False, "a": False, "d": False, "q": False
karabiny = [] karabiny = []
pociski = [] pociski = []
firerate = 0 firerate = 0
magazynek = 40 magazynek = 160
czekajmagazynek = 0 czekajmagazynek = 0
pelny = True pelny = True
@ -568,7 +590,7 @@ style = ttk.Style()
style.theme_use('default') style.theme_use('default')
style.configure("szary.Horizontal.TProgressbar", troughcolor="grey15", background="grey61", thickness=15, borderwidth=1) style.configure("szary.Horizontal.TProgressbar", troughcolor="grey15", background="grey61", thickness=15, borderwidth=1)
style.configure("zielony.Horizontal.TProgressbar", troughcolor="darkgreen", background="green3", thickness=15, borderwidth=1, lightcolor="green3", darkcolor="green3", bordercolor="green4") style.configure("zielony.Horizontal.TProgressbar", troughcolor="darkgreen", background="green3", thickness=15, borderwidth=1, lightcolor="green3", darkcolor="green3", bordercolor="green4")
amo = ttk.Progressbar(root, orient="horizontal", length=300, mode="determinate", style="szary.Horizontal.TProgressbar", maximum=40) amo = ttk.Progressbar(root, orient="horizontal", length=300, mode="determinate", style="szary.Horizontal.TProgressbar", maximum=160)
amo.place(x=400, rely=1.0, y=-50) amo.place(x=400, rely=1.0, y=-50)
amo['value'] = magazynek amo['value'] = magazynek
@ -614,7 +636,7 @@ for tekst in teksty_napisow:
cele = [] cele = []
cele_zniszczone = 0 cele_zniszczone = 0
cel_wymagany = 5 cel_wymagany = 5
ktura_misja = 1
tekst_celu = Label(root, text=f"Cele do zniszczenia: {cele_zniszczone}/{cel_wymagany}", background="darkolivegreen", foreground="white", font=("Arial", 14, "bold")) tekst_celu = Label(root, text=f"Cele do zniszczenia: {cele_zniszczone}/{cel_wymagany}", background="darkolivegreen", foreground="white", font=("Arial", 14, "bold"))
tekst_celu.place(x=20, y=20) tekst_celu.place(x=20, y=20)
style.configure("wrog.Horizontal.TProgressbar", troughcolor="darkgreen", background="green3", borderwidth=0, thickness=6) style.configure("wrog.Horizontal.TProgressbar", troughcolor="darkgreen", background="green3", borderwidth=0, thickness=6)
@ -622,10 +644,10 @@ for i in range(cel_wymagany):
cx = randrange(200, 900) cx = randrange(200, 900)
cy = randrange(200, 600) cy = randrange(200, 600)
wrog_id = canvas.create_polygon(cx, cy, cx + 30, cy, cx + 30, cy + 20, cx, cy + 20, fill="red3", outline="black") wrog_id = canvas.create_polygon(cx, cy, cx + 30, cy, cx + 30, cy + 20, cx, cy + 20, fill="red3", outline="black")
hp_wrog_id = ttk.Progressbar(root, orient="horizontal", length=25, mode="determinate", style="wrog.Horizontal.TProgressbar", maximum=10) hp_wrog_id = ttk.Progressbar(root, orient="horizontal", length=25, mode="determinate", style="wrog.Horizontal.TProgressbar", maximum=60)
hp_wrog_id.place(x=cx, y=cy-10) hp_wrog_id.place(x=cx, y=cy - 10)
hp_wrog_id['value'] = 10 hp_wrog_id['value'] = 10
cele.append({"id": wrog_id, "x1": cx, "y1": cy, "x2": cx + 30, "y2": cy + 20,"hp":10, "l": True,"ip":hp_wrog_id}) cele.append({"id": wrog_id, "x1": cx, "y1": cy, "x2": cx + 30, "y2": cy + 20, "hp": 60, "l": True, "ip": hp_wrog_id})
kamycki = [] kamycki = []
for i in range(60): for i in range(60):