Update
This commit is contained in:
parent
f2ba8c96a2
commit
582b86edd1
@ -1,4 +1,4 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC
|
||||||
|
|
||||||
|
|
||||||
class Jednostka(ABC):
|
class Jednostka(ABC):
|
||||||
|
108
main.py
108
main.py
@ -8,6 +8,15 @@ from piechur import Piechur
|
|||||||
jednostki = []
|
jednostki = []
|
||||||
|
|
||||||
|
|
||||||
|
def wiecej_niz_jeden_zywy():
|
||||||
|
licznik = 0
|
||||||
|
for i in jednostki:
|
||||||
|
if i.czy_zyje():
|
||||||
|
licznik += 1
|
||||||
|
|
||||||
|
return licznik > 1
|
||||||
|
|
||||||
|
|
||||||
def waliduj_opcje(opcja):
|
def waliduj_opcje(opcja):
|
||||||
return 1 <= opcja <= 2
|
return 1 <= opcja <= 2
|
||||||
|
|
||||||
@ -30,64 +39,71 @@ def waliduj_cel(x):
|
|||||||
return 0 <= x <= (len(jednostki) - 1)
|
return 0 <= x <= (len(jednostki) - 1)
|
||||||
|
|
||||||
|
|
||||||
|
def wybierz_opcje():
|
||||||
|
opcja = -1
|
||||||
|
wybrano_opcje = False
|
||||||
|
while True:
|
||||||
|
print('Wybierz opcje: ')
|
||||||
|
print(f'1. Ruch')
|
||||||
|
print(f'2. Atak')
|
||||||
|
opcja = int(input('Wprowadz opcje:'))
|
||||||
|
wybrano_opcje = waliduj_opcje(opcja)
|
||||||
|
|
||||||
|
if wybrano_opcje:
|
||||||
|
break
|
||||||
|
return opcja
|
||||||
|
|
||||||
|
|
||||||
|
def wykonaj_ruch():
|
||||||
|
wykonano_ruch = False
|
||||||
|
while True:
|
||||||
|
x = wprowadz_wspolrzedna('x')
|
||||||
|
y = wprowadz_wspolrzedna('y')
|
||||||
|
if waliduj_wspolrzedna(x) and waliduj_wspolrzedna(y):
|
||||||
|
wykonano_ruch = plansza.rusz_jednostke(jednostka, x, y)
|
||||||
|
else:
|
||||||
|
print('Ups! Nieprawidlowe wspolrzedne. Podaj jeszcze raz')
|
||||||
|
|
||||||
|
if wykonano_ruch:
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
def wykonaj_atak():
|
||||||
|
wykonano_ruch = False
|
||||||
|
while True:
|
||||||
|
wyswietl_jednostki()
|
||||||
|
indeks_celu = int(input('Kogo atakujesz?'))
|
||||||
|
|
||||||
|
if waliduj_cel(indeks_celu):
|
||||||
|
wykonano_ruch = plansza.wykonaj_atak(jednostka, jednostki[indeks_celu])
|
||||||
|
else:
|
||||||
|
print('Ups! Nieprawidłowy cel. Podaj jeszcze raz')
|
||||||
|
|
||||||
|
if wykonano_ruch:
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
plansza = Plansza()
|
plansza = Plansza()
|
||||||
|
|
||||||
r1 = Rycerz('Stefan')
|
r1 = Rycerz('Lukasz')
|
||||||
l1 = Lucznik('Agata')
|
l1 = Lucznik('Sebastian')
|
||||||
k1 = Kusznik('Bogumił')
|
|
||||||
p1 = Piechur('Łukasz')
|
|
||||||
|
|
||||||
jednostki = [r1, l1, k1, p1]
|
jednostki = [r1, l1]
|
||||||
|
|
||||||
plansza.dodaj_jednostke(r1, 0, 0)
|
plansza.dodaj_jednostke(r1, 0, 0)
|
||||||
plansza.dodaj_jednostke(l1, 0, 1)
|
plansza.dodaj_jednostke(l1, 4, 4)
|
||||||
plansza.dodaj_jednostke(k1, 4, 4)
|
|
||||||
plansza.dodaj_jednostke(p1, 2, 4)
|
|
||||||
|
|
||||||
print('Jednostki zostaly rozstawiona. Niech rozpocznie sie walka')
|
print('Jednostki zostaly rozstawiona. Niech rozpocznie sie walka')
|
||||||
while r1.czy_zyje() or l1.czy_zyje() or k1.czy_zyje() or p1.czy_zyje():
|
while wiecej_niz_jeden_zywy():
|
||||||
for jednostka in jednostki:
|
for jednostka in jednostki:
|
||||||
plansza.wyswietl()
|
plansza.wyswietl()
|
||||||
print(f'Tura {jednostka.nazwa} {jednostka.imie}')
|
print(f'Tura {jednostka.nazwa} {jednostka.imie}')
|
||||||
|
jednostka.wyswietl_stan()
|
||||||
|
|
||||||
opcja = 0
|
opcja = wybierz_opcje()
|
||||||
wybrano_opcje = False
|
|
||||||
wybrano_cel = False
|
|
||||||
wykonano_ruch = False
|
|
||||||
|
|
||||||
while True:
|
|
||||||
print(f'1. Ruch')
|
|
||||||
print(f'2. Atak')
|
|
||||||
print('Wybierz opcje: ')
|
|
||||||
opcja = int(input('Wprowadz opcje:'))
|
|
||||||
wybrano_opcje = waliduj_opcje(opcja)
|
|
||||||
|
|
||||||
if wybrano_opcje:
|
|
||||||
break
|
|
||||||
|
|
||||||
if opcja == 1:
|
if opcja == 1:
|
||||||
while True:
|
wykonaj_ruch()
|
||||||
x = wprowadz_wspolrzedna('x')
|
|
||||||
y = wprowadz_wspolrzedna('y')
|
|
||||||
if waliduj_wspolrzedna(x) and waliduj_wspolrzedna(y):
|
|
||||||
wykonano_ruch = plansza.rusz_jednostke(jednostka, x, y)
|
|
||||||
plansza.wyswietl()
|
|
||||||
else:
|
|
||||||
print('Ups! Nieprawidlowe wspolrzedne. Podaj jeszcze raz')
|
|
||||||
|
|
||||||
if wykonano_ruch:
|
|
||||||
break
|
|
||||||
elif opcja == 2:
|
elif opcja == 2:
|
||||||
x = -1
|
wykonaj_atak()
|
||||||
while True:
|
|
||||||
wyswietl_jednostki()
|
|
||||||
x = int(input('Kogo atakujesz?'))
|
|
||||||
|
|
||||||
if waliduj_cel(x):
|
|
||||||
wykonano_ruch = plansza.wykonaj_atak(jednostka, jednostki[x])
|
|
||||||
else:
|
|
||||||
print('Ups! Nieprawidłowy cel. Podaj jeszcze raz')
|
|
||||||
|
|
||||||
if wykonano_ruch:
|
|
||||||
break
|
|
||||||
|
Loading…
Reference in New Issue
Block a user