def dodaj_organizm(self, x, y, nazwa): if nazwa == "Cyberowca": self.__plansza[y][x] = Cyberowca(self, x, y) elif nazwa == "Czlowiek": self.__plansza[y][x] = Czlowiek(self, x, y) if nazwa == "Wilk": self.__plansza[y][x] = Wilk(self, x, y) elif nazwa == "Owca": self.__plansza[y][x] = Owca(self, x, y) elif nazwa == "Lis": self.__plansza[y][x] = Lis(self, x, y) elif nazwa == "Zolw": self.__plansza[y][x] = Zolw(self, x, y) elif nazwa == "Antylopa": self.__plansza[y][x] = Antylopa(self, x, y) elif nazwa == "Trawa": self.__plansza[y][x] = Trawa(self, x, y) elif nazwa == "Mlecz": self.__plansza[y][x] = Mlecz(self, x, y) elif nazwa == "Guarana": self.__plansza[y][x] = Guarana(self, x, y) elif nazwa == "Jagoda": self.__plansza[y][x] = Wilcza_jagoda(self, x, y) elif nazwa == "Barszcz": self.__plansza[y][x] = Barszcz_sosnowskiego(self, x, y) self.__barszcz.append(self.__plansza[y][x]) if (self.__plansza[y][x] != None): self.__ruch.append(self.__plansza[y][x]) self.__powiadomienia.powiadomienia_pojedyncze( self.__plansza[y][x].get_nazwa(), POWIADOMIENIA_ENUM.NARODZINY)
def ustawOrgPocz(self): #dopisz nowo dodane organizmy tutaj for typ in range(Pole.SIZE - 1): if typ == Pole.CZLOWIEK: self.organizmyPoczatkowe.append(Czlowiek( 0, 0, self.tura, self)) elif typ == Pole.TRAWA: self.organizmyPoczatkowe.append(Trawa(0, 0, self.tura, self)) elif typ == Pole.OWCA: self.organizmyPoczatkowe.append(Owca(0, 0, self.tura, self)) elif typ == Pole.WILK: self.organizmyPoczatkowe.append(Wilk(0, 0, self.tura, self)) elif typ == Pole.LIS: self.organizmyPoczatkowe.append(Lis(0, 0, self.tura, self)) elif typ == Pole.ZOLW: self.organizmyPoczatkowe.append(Zolw(0, 0, self.tura, self)) elif typ == Pole.ANTYLOPA: self.organizmyPoczatkowe.append(Antylopa( 0, 0, self.tura, self)) elif typ == Pole.MLECZ: self.organizmyPoczatkowe.append(Mlecz(0, 0, self.tura, self)) elif typ == Pole.GUARANA: self.organizmyPoczatkowe.append(Guarana(0, 0, self.tura, self)) elif typ == Pole.WILCZE_JAG: self.organizmyPoczatkowe.append( WilczeJagody(0, 0, self.tura, self)) elif typ == Pole.BARSZCZ: self.organizmyPoczatkowe.append( BarszczSosnowskiego(0, 0, self.tura, self))
def wczytaj(self): i = 1 while i < self.ilosc_org: if self.vec[i].getSymbol() != 'C': self.usunOrganizm(self.vec[i]) else: i = i + 1 self.T.delete(1.0, END) self.dodajDoRaport("Wczytano Zapis Gry\n") plik = open('D:\save.txt', 'r') try: i = 0 n = int(linecache.getline('D:\save.txt', i + 1)) while i < 4 * n: symbol = linecache.getline('D:\save.txt', i + 2) ssila = linecache.getline('D:\save.txt', i + 3) sX = linecache.getline('D:\save.txt', i + 4) sY = linecache.getline('D:\save.txt', i + 5) sila = int(ssila) X = int(sX) Y = int(sY) if symbol == 'C\n': self.vec[0].setSila(sila) self.przeniesOrganizm(self.vec[0].get_pozX(), self.vec[0].get_pozY(), X, Y) self.vec[0].set_pozX(X) self.vec[0].set_pozY(Y) elif symbol == 'Antylope\n': self.dodajOrganizm(Antylopa(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) elif symbol == 'Barszcz\n': self.dodajOrganizm(BarszczSosnowskiego(X, Y, self), self) elif symbol == 'Cyber_Owce\n': self.dodajOrganizm(CyberOwca(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) elif symbol == 'Guarane\n': self.dodajOrganizm(Guarana(X, Y, self), self) elif symbol == 'Lisa\n': self.dodajOrganizm(Lis(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) elif symbol == 'Mlecza\n': self.dodajOrganizm(Mlecz(X, Y, self), self) elif symbol == 'Owce\n': self.dodajOrganizm(Owca(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) elif symbol == 'Trawe\n': self.dodajOrganizm(Trawa(X, Y, self), self) elif symbol == 'Wilcze_Jagody\n': self.dodajOrganizm(WilczeJagody(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) elif symbol == 'Wilka\n': self.dodajOrganizm(Wilk(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) elif symbol == 'Zolwia\n': self.dodajOrganizm(Zolw(X, Y, self), self) self.vec[self.ilosc_org - 1].setSila(sila) i = i + 4 finally: plik.close()
def umiescOrganizmy(self): wilk = Wilk(self) owca = Owca(self) trawa = Trawa(self) guarana = Guarana(self) mlecz = Mlecz(self) jagody = Wilcze_Jagody(self) barszcz = Barszcz_Sosnowskiego(self) cyber = Cyber_owca(self) zolw = Zolw(self) lis = Lis(self) wilk2 = Wilk(self) wilk3 = Wilk(self) owca2 = Owca(self) owca3 = Owca(self) antylopa = Antylopa(self) czlowiek = Czlowiek(self) self.rysuj_plansze()
def dodajZwierze(self): zn = 'W' x, y = 10, 10 button = self.sender() name = button.objectName().split(",", 1) y, x = name y = int(y) x = int(x) zn, ok = QtGui.QInputDialog.getText( self, "Wysokosc", """Podaj znak odpowiadajacy danemu zwierzeciu""") if (self.getPlansza(y, x) == ' '): tmp = None if (zn == 'A'): tmp = Antylopa(self) elif (zn == 'C'): tmp = Cyber_owca(self) elif (zn == 'L'): tmp = Lis(self) elif (zn == 'O'): tmp = Owca(self) elif (zn == 'W'): tmp = Wilk(self) elif (zn == 'Z'): tmp = Zolw(self) elif (zn == 'T'): tmp = Trawa(self) elif (zn == 'M'): tmp = Mlecz(self) elif (zn == 'G'): tmp = Guarana(self) elif (zn == 'J'): tmp = Wilcze_Jagody(self) elif (zn == 'B'): tmp = Barszcz_Sosnowskiego(self) if (tmp is not None): self.dodajDoPlanszy(tmp.getPolozenie_y(), tmp.getPolozenie_x(), ' ') tmp.setPolozenie_x(x) tmp.setPolozenie_y(y) tmp.setDelay(True) self.dodajDoPlanszy(tmp.getPolozenie_y(), tmp.getPolozenie_x(), tmp.getSymbol()) self.rysuj_plansze()
self.close() self.Open = Plansza(obiekt) self.Open.show() self.repaint() def cos(self, plansza1, plansza2): plansza1 = plansza2 if __name__ == '__main__': app = QApplication(sys.argv) s = Swiat(20, 20) ex = Plansza(s) s.dodaj_organizm_z_losowaniem(CyberOwca(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Antylopa(s, Polozenie())) s.dodaj_organizm_z_losowaniem(BarszczSosnowskiego(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Czlowiek(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Guarana(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Lis(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Mlecz(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Owca(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Trawa(s, Polozenie())) s.dodaj_organizm_z_losowaniem(WilczeJagody(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Wilk(s, Polozenie())) s.dodaj_organizm_z_losowaniem(Zolw(s, Polozenie())) ex.repaint() sys.exit(app.exec_())
def wczytajSwiat(self): s1 = None isFile = False i = 0 moc_specjalna = 0 cooldown = False liczba_tur_mocy = 0 liczba_tur_cooldown = 0 tmp = None with open("swiat.txt", 'r') as file: isFile = True for line in file: line_split = line.split(" ") if (i == 0): wysokosc, szerokosc, numer_tury, znak_nowej_lini = line_split s1 = Swiat(int(wysokosc), int(szerokosc)) s1.setNumerTury(int(numer_tury)) else: znak = line_split[0] polozenie_y = int(line_split[1]) polozenie_x = int(line_split[2]) sila = int(line_split[3]) if (znak == 'Y'): moc_specjalna = int(line_split[4]) cooldown = line_split[5] liczba_tur_mocy = int(line_split[6]) liczba_tur_cooldown = int(line_split[7]) if (znak == 'A'): tmp = Antylopa(s1) elif (znak == 'C'): tmp = Cyber_owca(s1) elif (znak == 'L'): tmp = Lis(s1) elif (znak == 'O'): tmp = Owca(s1) elif (znak == 'W'): tmp = Wilk(s1) elif (znak == 'Z'): tmp = Zolw(s1) elif (znak == 'T'): tmp = Trawa(s1) elif (znak == 'M'): tmp = Mlecz(s1) elif (znak == 'G'): tmp = Guarana(s1) elif (znak == 'J'): tmp = Wilcze_Jagody(s1) elif (znak == 'B'): tmp = Barszcz_Sosnowskiego(s1) elif (znak == 'Y'): tmp = Czlowiek(s1) if (tmp is not None): if (tmp.getSymbol() == 'Y'): tmp.setCooldown(cooldown) tmp.setLiczbaTurCooldown(liczba_tur_cooldown) tmp.setLiczbaTurMocy(liczba_tur_mocy) tmp.setMocSpecjalna(moc_specjalna) s1.dodajDoPlanszy(tmp.getPolozenie_y(), tmp.getPolozenie_x(), ' ') tmp.setPolozenie_y(polozenie_y) tmp.setPolozenie_x(polozenie_x) tmp.setSila(sila) s1.dodajDoPlanszy(tmp.getPolozenie_y(), tmp.getPolozenie_x(), tmp.getSymbol()) i += 1 if (isFile): self.close() s1.rysuj_plansze()
def __init__(self): bNowaTura = Button(self.okno, command=self.wykonajTure, text="Nowa Tura", bg="cornflower blue") bNowaTura.place(x=480, y=380, width=100, height=50) for x in range(19): for y in range(19): self.buttons[y][x] = Button(self.okno, bg="blue") self.buttons[y][x].place(x=20 + x * 20, y=20 + y * 20, width=20) self.buttons[y][x].config(bg="orange") self.popup.add_command(label="Antylopa", command=lambda: self.dodajOrganizm( Antylopa(self.newX, self.newY, self), self)) self.popup.add_command( label="Barszcz", command=lambda: self.dodajOrganizm( BarszczSosnowskiego(self.newX, self.newY, self), self)) self.popup.add_command( label="Cyber Owca", command=lambda: self.dodajOrganizm( CyberOwca(self.newX, self.newY, self), self)) self.popup.add_command(label="Guarana", command=lambda: self.dodajOrganizm( Guarana(self.newX, self.newY, self), self)) self.popup.add_command(label="Lis", command=lambda: self.dodajOrganizm( Lis(self.newX, self.newY, self), self)) self.popup.add_command(label="Mlecz", command=lambda: self.dodajOrganizm( Mlecz(self.newX, self.newY, self), self)) self.popup.add_command(label="Owca", command=lambda: self.dodajOrganizm( Owca(self.newX, self.newY, self), self)) self.popup.add_command(label="Trawa", command=lambda: self.dodajOrganizm( Trawa(self.newX, self.newY, self), self)) self.popup.add_command( label="W.Jagody", command=lambda: self.dodajOrganizm( WilczeJagody(self.newX, self.newY, self), self)) self.popup.add_command(label="Wilk", command=lambda: self.dodajOrganizm( Wilk(self.newX, self.newY, self), self)) self.popup.add_command(label="Żółw", command=lambda: self.dodajOrganizm( Zolw(self.newX, self.newY, self), self)) self.dodajOrganizm(Czlowiek(6, 6, self), self) self.dodajOrganizm(Antylopa(10, 15, self), self) self.dodajOrganizm(Antylopa(1, 15, self), self) self.dodajOrganizm(BarszczSosnowskiego(8, 15, self), self) self.dodajOrganizm(BarszczSosnowskiego(10, 13, self), self) self.dodajOrganizm(CyberOwca(10, 6, self), self) self.dodajOrganizm(WilczeJagody(12, 4, self), self) self.dodajOrganizm(Trawa(15, 15, self), self) self.dodajOrganizm(Owca(13, 8, self), self) self.dodajOrganizm(Owca(16, 8, self), self) self.dodajOrganizm(Wilk(13, 7, self), self) self.dodajOrganizm(Wilk(1, 3, self), self) self.dodajOrganizm(Zolw(15, 11, self), self) self.dodajOrganizm(Zolw(16, 12, self), self) self.okno.bind("<Key>", self.kier) self.okno.bind("<Button-1>", self.printXY) self.okno.mainloop()
def akcja(self, zasieg=1): szansa = random.randint(0, 19) if (szansa == 0): wysokosc = self.swiat.getWysokosc() szerokosc = self.swiat.getSzerokosc() mozliwe_kierunki = [0, 0, 0, 0, 0, 0, 0, 0] for i in range(0, 8): mozliwe_kierunki[i] = 0 if (self.polozenie_y + 1 < wysokosc and self.swiat.getPlansza( self.polozenie_y + 1, self.polozenie_x) == ' '): mozliwe_kierunki[0] = 1 if (self.polozenie_y - 1 >= 0 and self.swiat.getPlansza( self.polozenie_y - 1, self.polozenie_x) == ' '): mozliwe_kierunki[1] = 1 if (self.polozenie_x - 1 >= 0 and self.swiat.getPlansza( self.polozenie_y, self.polozenie_x - 1) == ' '): mozliwe_kierunki[2] = 1 if (self.polozenie_x + 1 < szerokosc and self.swiat.getPlansza( self.polozenie_y, self.polozenie_x + 1) == ' '): mozliwe_kierunki[3] = 1 if (self.polozenie_y - 1 >= 0 and self.polozenie_x - 1 >= 0 and self.swiat.getPlansza( self.polozenie_y - 1, self.polozenie_x - 1) == ' '): mozliwe_kierunki[4] = 1 if (self.polozenie_y + 1 < wysokosc and self.polozenie_x + 1 < szerokosc and self.swiat.getPlansza(self.polozenie_y + 1, self.polozenie_x + 1) == ' '): mozliwe_kierunki[5] = 1 if (self.polozenie_y - 1 >= 0 and self.polozenie_x + 1 < szerokosc and self.swiat.getPlansza(self.polozenie_y - 1, self.polozenie_x + 1) == ' '): mozliwe_kierunki[6] = 1 if (self.polozenie_y + 1 < wysokosc and self.polozenie_x - 1 >= 0 and self.swiat.getPlansza( self.polozenie_y + 1, self.polozenie_x - 1) == ' '): mozliwe_kierunki[7] = 1 ile = 0 for i in range(0, 8): if (mozliwe_kierunki[i] == 1): ile += 1 if (self.swiat.getIloscOrganizmow() >= self.swiat.getSzerokosc() * self.swiat.getWysokosc() or ile == 0): return else: random1 = random.randint(0, 7) while (mozliwe_kierunki[random1] != 1): random1 = random.randint(0, 7) if (random1 == 0): polozenie_x_dziecko = self.polozenie_x polozenie_y_dziecko = self.polozenie_y + 1 elif (random1 == 1): polozenie_y_dziecko = self.polozenie_y - 1 polozenie_x_dziecko = self.polozenie_x elif (random1 == 2): polozenie_y_dziecko = self.polozenie_y polozenie_x_dziecko = self.polozenie_x - 1 elif (random1 == 3): polozenie_y_dziecko = self.polozenie_y polozenie_x_dziecko = self.polozenie_x + 1 elif (random1 == 4): polozenie_y_dziecko = self.polozenie_y - 1 polozenie_x_dziecko = self.polozenie_x - 1 elif (random1 == 5): polozenie_y_dziecko = self.polozenie_y + 1 polozenie_x_dziecko = self.polozenie_x + 1 elif (random1 == 6): polozenie_y_dziecko = self.polozenie_y - 1 polozenie_x_dziecko = self.polozenie_x + 1 else: polozenie_y_dziecko = self.polozenie_y + 1 polozenie_x_dziecko = self.polozenie_x - 1 from Trawa import Trawa from Mlecz import Mlecz from Guarana import Guarana from Wilcze_Jagody import Wilcze_Jagody from Barszcz_Sosnowskiego import Barszcz_Sosnowskiego tmp = None zn = self.getSymbol() if (zn == 'T'): tmp = Trawa(self.swiat) elif (zn == 'M'): tmp = Mlecz(self.swiat) elif (zn == 'G'): tmp = Guarana(self.swiat) elif (zn == 'J'): tmp = Wilcze_Jagody(self.swiat) elif (zn == 'B'): tmp = Barszcz_Sosnowskiego(self.swiat) self.swiat.dodajDoPlanszy(tmp.getPolozenie_y(), tmp.getPolozenie_x(), ' ') tmp.setPolozenie_x(polozenie_x_dziecko) tmp.setPolozenie_y(polozenie_y_dziecko) tmp.setDelay(True) self.swiat.dodajDoPlanszy(tmp.getPolozenie_y(), tmp.getPolozenie_x(), tmp.getSymbol()) self.swiat.dodajWiadomosc(self.getNazwa()) self.swiat.dodajWiadomosc(" wlasnie sie rozprzestrzenil \n") else: return
def set_mlecz(self): self.zwierzak = Mlecz(-1, -1, self.swiat)