Add move of unit
This commit is contained in:
parent
cbca7f2b57
commit
93f8fd98de
25
plansza.py
25
plansza.py
@ -15,22 +15,28 @@ class Plansza:
|
||||
self._initialized = True
|
||||
|
||||
def dodaj_jednostke(self, jednostka, x, y):
|
||||
x -= 1
|
||||
y -= 1
|
||||
if self.czy_zajete(x, y):
|
||||
print('Nie mozna dodać jednostki na tym polu')
|
||||
else:
|
||||
self.pole[x][y] = jednostka
|
||||
self.wyswietl()
|
||||
|
||||
def usun_jednostke(self, x, y):
|
||||
x -= 1
|
||||
y -= 1
|
||||
if self.czy_zajete(x, y):
|
||||
self.pole[x][y] = 'O'
|
||||
else:
|
||||
print('To pole juz jest puste')
|
||||
self.wyswietl()
|
||||
|
||||
def rusz_jednostke(self, jednostka, x, y):
|
||||
x1, y1 = self.znajdz(jednostka)
|
||||
if self.czy_zajete(x, y):
|
||||
print('Nie mozna ruszyc jednostki na to pole - pole zajete')
|
||||
else:
|
||||
dystans = self.sprawdz_dystans(x1, y1, x, y)
|
||||
if dystans <= jednostka.szybkosc_ruchu:
|
||||
self.dodaj_jednostke(jednostka, x, y)
|
||||
self.usun_jednostke(x1, y1)
|
||||
else:
|
||||
print('Nie mozna ruszyc jednostki na to pole - za duzy dystans')
|
||||
|
||||
def czy_zajete(self, x, y):
|
||||
if self.pole[x][y] == 'O':
|
||||
@ -55,14 +61,17 @@ class Plansza:
|
||||
x1, y1 = self.znajdz(atakujacy)
|
||||
x2, y2 = self.znajdz(cel)
|
||||
|
||||
dystans = math.sqrt(math.pow(math.fabs(x1 - x2), 2) + math.pow(math.fabs(y1- y2), 2))
|
||||
dystans = round(dystans, 0)
|
||||
dystans = self.sprawdz_dystans(x1, y1, x2, y2)
|
||||
|
||||
if atakujacy.zasieg_ataku >= dystans:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def sprawdz_dystans(self, x1, y1, x2, y2):
|
||||
dystans = math.sqrt(math.pow(math.fabs(x1 - x2), 2) + math.pow(math.fabs(y1 - y2), 2))
|
||||
return round(dystans, 0)
|
||||
|
||||
def oblicz_obrazenia(self, atakujacy, cel):
|
||||
obrazenia = atakujacy.sila_ataku
|
||||
return obrazenia
|
||||
|
Loading…
Reference in New Issue
Block a user