コード例 #1
0
 def Kolizja(self, wrog: Organizm, atakujacy):
     if (self.sila > wrog.sila):
         self.swiat.mapa[self.pozycjax][self.pozycjay] = Ziemia(
             self.swiat, self.pozycjax, self.pozycjay)
         self.Usuniecie()
     wrog.swiat.mapa[wrog.pozycjax][wrog.pozycjay] = Ziemia(
         wrog.swiat, wrog.pozycjax, wrog.pozycjay)
     wrog.Usuniecie()
コード例 #2
0
 def Wczytaj(self):
     plik = open("zapis.txt", 'r')
     self.__lista.clear()
     self.__usun.clear()
     self.__oczekujace.clear()
     self.dlugosc = int(plik.readline())
     self.szerokosc = int(plik.readline())
     self.mapa = [[Ziemia(self, i, j) for i in range(self.dlugosc)]
                  for j in range(self.szerokosc)]
     self.iloscTur = int(plik.readline())
     dlugosc = int(plik.readline())
     for i in range(dlugosc):
         literka = plik.readline()
         pozycjax = int(plik.readline())
         pozycjay = int(plik.readline())
         sila = int(plik.readline())
         if literka[0] == 'C':
             moc = int(plik.readline())
             self.czlowiek = Czlowiek(pozycjax, pozycjay, self)
             self.czlowiek.sila = sila
             self.czlowiek.moc = moc
             self.DodMapa(pozycjax, pozycjay, self.czlowiek)
         else:
             self.WczytajOrganizm(literka[0], pozycjax, pozycjay, sila)
     self.__window.WypiszPlansze()
コード例 #3
0
 def Akcja(self):
     tab = self.swiat.GetSasiadow(self)
     for point in tab:
         if point.x != -1:
             if self.swiat.mapa[point.x][point.y].CzyZwierze():
                 self.swiat.mapa[point.x][point.y].Usuniecie()
                 self.swiat.mapa[point.x][point.y] = Ziemia(
                     self.swiat, point.x, point.y)
     super(BarszczSosnowskiego, self).Akcja()
コード例 #4
0
 def Kolizja(self, wrog: Organizm, atakujacy):
     if wrog.literka == self.literka:
         tab = self.swiat.GetSasiadow(self)
         for punkt in tab:
             if (punkt.x >= 0):
                 if (isinstance(self.swiat.mapa[punkt.x][punkt.y], Ziemia)):
                     self.ZrobDziecko(punkt.x, punkt.y)
                     return
         if (atakujacy):
             wrog.Kolizja(self, False)
     elif wrog.CzyOdbil(self):
         return
     elif atakujacy == False and self.sila <= wrog.sila:
         return
     else:
         pozycjax = wrog.pozycjax
         pozycjay = wrog.pozycjay
         if wrog.CzyZwial() and atakujacy:
             self.swiat.mapa[self.pozycjax][self.pozycjay] = Ziemia(self.swiat, self.pozycjax, self.pozycjay)
             self.pozycjax = pozycjax
             self.pozycjay = pozycjay
             self.swiat.mapa[self.pozycjax][self.pozycjay] = self
         elif self.CzyZwial():
             return
         else:
             if self.sila > wrog.sila:
                 wrog.Kolizja(self, False)
                 self.swiat.mapa[self.pozycjax][self.pozycjay] = Ziemia(self.swiat, self.pozycjax, self.pozycjay)
                 if atakujacy:
                     self.pozycjax = pozycjax
                     self.pozycjay = pozycjay
                     self.swiat.mapa[self.pozycjax][self.pozycjay] = self
                 wrog.Usuniecie()
             elif self.sila == wrog.sila:
                 if (atakujacy):
                     wrog.Kolizja(self, False)
                     self.swiat.mapa[self.pozycjax][self.pozycjay] = Ziemia(self.swiat, self.pozycjax,
                                                                            self.pozycjay)
                     self.pozycjax = pozycjax
                     self.pozycjay = pozycjay
                     self.swiat.mapa[self.pozycjax][self.pozycjay] = self
                     wrog.Usuniecie()
             else:
                 wrog.Kolizja(self, False)
コード例 #5
0
 def __init__(self, dlugosc, szerokosc):
     self.__iloscTur = 0
     self.dlugosc = dlugosc
     self.szerokosc = szerokosc
     self.mapa = [[Ziemia(self, i, j) for i in range(self.dlugosc)]
                  for j in range(self.szerokosc)]
     self.__window = Aplikacja()
     self.__lista = []
     self.__oczekujace = []
     self.__usun = []
     self.__czlowiek = None
コード例 #6
0
 def Akcja(self):
     punkt = self.CzyAkcja()
     if punkt.x == -1:
         return
     elif isinstance(self.swiat.mapa[punkt.x][punkt.y], Ziemia):
         self.swiat.mapa[self.pozycjax][self.pozycjay] = Ziemia(self.swiat, self.pozycjax, self.pozycjay)
         self.pozycjay = punkt.y
         self.pozycjax = punkt.x
         self.swiat.mapa[self.pozycjax][self.pozycjay] = self
     else:
         self.Kolizja(self.swiat.mapa[punkt.x][punkt.y], True)
コード例 #7
0
 def CzyZwial(self):
     if random.randint(0, 1) == 0:
         tab = self.swiat.GetSasiadow(self)
         if (len(tab) == 0):
             return False
         while len(tab) > 0:
             punkt = random.choice(tab)
             tab.remove(punkt)
             if isinstance(self.swiat.mapa[punkt.x][punkt.y], Ziemia):
                 self.swiat.mapa[self.pozycjax][self.pozycjay] = Ziemia(self.swiat, self.pozycjax, self.pozycjay)
                 self.pozycjax = punkt.x
                 self.pozycjay = punkt.y
                 self.swiat.mapa[self.pozycjax][self.pozycjay] = self
                 return True
         return False
コード例 #8
0
 def SpalWszystko(self):
     tab = self.swiat.GetSasiadow(self)
     for point in tab:
         if point.x != -1 and not isinstance(self.swiat.mapa[point.x][point.y], Ziemia):
             self.swiat.mapa[point.x][point.y].Usuniecie()
             self.swiat.mapa[point.x][point.y] = Ziemia(self.swiat, point.x, point.y)