Esempio n. 1
0
 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)
Esempio n. 2
0
 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))
Esempio n. 3
0
 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()
Esempio n. 8
0
    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
Esempio n. 10
0
 def set_mlecz(self):
     self.zwierzak = Mlecz(-1, -1, self.swiat)