Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Zwierze.cpp
- #include "Zwierze.h"
- #include <ctime>
- #include <cstdlib>
- #include "Swiat.h"
- #include "Wilk.h"
- void Zwierze::Akcja()
- {
- // if getzyje ==false
- srand(static_cast<unsigned>(time(nullptr))); // TO DO: losuj od 0 do 7
- int los;
- int x;
- int y;
- do
- {
- los = rand() % 8;
- x = poz_x;
- y = poz_y;
- /*switch (los)
- {
- case 0: //lewy gorny rog
- case 1: //gora
- case 2: // prawy gorny rog
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- }
- */
- } while (x < 0 || y < 0 || x >= wymiar || y >= wymiar);
- if (world->czyZajete(x, y))
- {
- //wywolanie Kolizji
- }
- poz_x = x;
- poz_y = y;
- }
- //osobno metoda rozmnazanie
- void Zwierze::Kolizja(Organizm* atakujacy, Organizm* broniacy)
- {
- // kolizja - domyslnie walka, chyba ze :
- // przy kolizji z organizmem tego samego gatunku nie dochodzi do walki, oba zwierzêta pozostaj¹ na swoich miejscach, ko³o nich pojawia siê trzecie zwierze, tego samego gatunku.
- //WALKA: jeden z organizmów zwyciê¿a, zabijaj¹c (np. wilk) lub odganiaj¹c (np. ¿ó³w) konkurenta. ; Przy równej sile zwyciê¿a organizm, który zaatakowa³
- /*
- ROZMNAZANIE:
- if (atakujacy->getZnak() == broniacy->getZnak())
- {
- // wiemy, ze to sa organizmy tego samego typu
- cout << "Rozmnazanie" << endl;
- int x = atakujacy->getPoz_x();
- int y = atakujacy->getPoz_y();
- int los;
- do
- {
- los = rand() % 8;
- /*switch (los)
- {
- case 0: //lewy gorny rog
- case 1: //gora
- case 2: // prawy gorny rog
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- }
- } while (x < 0 || y < 0 || x >= wymiar || y >= wymiar);
- poz_x = x;
- poz_y = y;
- int sila2 = atakujacy->getSila();
- int inicjatywa2 = atakujacy->getInicjatywa();
- char znak2 = atakujacy->getZnak();
- Zwierze* pointer;
- switch (znak2)
- {
- case 'W':
- //wilk
- pointer = new Wilk(poz_x, poz_y, this->world);
- break;
- //case 'O':
- //owca itd...
- }
- if(pointer)
- this->world->DodajOrganizm(pointer);
- }*/
- if (atakujacy->getSila() >= broniacy->getSila())
- {
- cout << "Zwycieza atakujacy!" << endl;
- broniacy->smierc();
- }
- else if (atakujacy->getSila() < broniacy->getSila())
- {
- cout << "Zwycieza broniacy!" << endl;
- atakujacy->smierc();
- }
- }
- char Zwierze::Rysowanie()
- {
- return getZnak();
- }
- Zwierze::Zwierze(int o_poz_x, int o_poz_y, int o_sila, int o_inicjatywa, char o_znak, Swiat* swiat) : Organizm(o_poz_x, o_poz_y, o_sila, o_inicjatywa, o_znak, swiat)
- {
- }
- Zwierze::~Zwierze()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement