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):
|
||||
|
108
main.py
108
main.py
@ -8,6 +8,15 @@ from piechur import Piechur
|
||||
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):
|
||||
return 1 <= opcja <= 2
|
||||
|
||||
@ -30,64 +39,71 @@ def waliduj_cel(x):
|
||||
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__':
|
||||
plansza = Plansza()
|
||||
|
||||
r1 = Rycerz('Stefan')
|
||||
l1 = Lucznik('Agata')
|
||||
k1 = Kusznik('Bogumił')
|
||||
p1 = Piechur('Łukasz')
|
||||
r1 = Rycerz('Lukasz')
|
||||
l1 = Lucznik('Sebastian')
|
||||
|
||||
jednostki = [r1, l1, k1, p1]
|
||||
jednostki = [r1, l1]
|
||||
|
||||
plansza.dodaj_jednostke(r1, 0, 0)
|
||||
plansza.dodaj_jednostke(l1, 0, 1)
|
||||
plansza.dodaj_jednostke(k1, 4, 4)
|
||||
plansza.dodaj_jednostke(p1, 2, 4)
|
||||
plansza.dodaj_jednostke(l1, 4, 4)
|
||||
|
||||
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:
|
||||
plansza.wyswietl()
|
||||
print(f'Tura {jednostka.nazwa} {jednostka.imie}')
|
||||
jednostka.wyswietl_stan()
|
||||
|
||||
opcja = 0
|
||||
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
|
||||
opcja = wybierz_opcje()
|
||||
|
||||
if opcja == 1:
|
||||
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)
|
||||
plansza.wyswietl()
|
||||
else:
|
||||
print('Ups! Nieprawidlowe wspolrzedne. Podaj jeszcze raz')
|
||||
|
||||
if wykonano_ruch:
|
||||
break
|
||||
wykonaj_ruch()
|
||||
elif opcja == 2:
|
||||
x = -1
|
||||
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
|
||||
wykonaj_atak()
|
||||
|
Loading…
Reference in New Issue
Block a user