94 lines
2.5 KiB
Python
94 lines
2.5 KiB
Python
from plansza import Plansza
|
|
from rycerz import Rycerz
|
|
from lucznik import Lucznik
|
|
from kusznik import Kusznik
|
|
from piechur import Piechur
|
|
|
|
|
|
jednostki = []
|
|
|
|
|
|
def waliduj_opcje(opcja):
|
|
return 1 <= opcja <= 2
|
|
|
|
|
|
def wprowadz_wspolrzedna(w):
|
|
a = int(input(f'Podaj wspolrzedna {w}: '))
|
|
return a
|
|
|
|
|
|
def waliduj_wspolrzedna(a):
|
|
return 0 <= a <= 4
|
|
|
|
|
|
def wyswietl_jednostki():
|
|
for i in range(len(jednostki)):
|
|
print(f'{i} - {jednostki[i]}')
|
|
|
|
|
|
def waliduj_cel(x):
|
|
return 0 <= x <= (len(jednostki) - 1)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
plansza = Plansza()
|
|
|
|
r1 = Rycerz('Stefan')
|
|
l1 = Lucznik('Agata')
|
|
k1 = Kusznik('Bogumił')
|
|
p1 = Piechur('Łukasz')
|
|
|
|
jednostki = [r1, l1, k1, p1]
|
|
|
|
plansza.dodaj_jednostke(r1, 0, 0)
|
|
plansza.dodaj_jednostke(l1, 0, 1)
|
|
plansza.dodaj_jednostke(k1, 4, 4)
|
|
plansza.dodaj_jednostke(p1, 2, 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():
|
|
for jednostka in jednostki:
|
|
plansza.wyswietl()
|
|
print(f'Tura {jednostka.nazwa} {jednostka.imie}')
|
|
|
|
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
|
|
|
|
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
|
|
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
|