Prześlij pliki do ''
Klasa Plant z ktorej bedziemy robic roslinki
This commit is contained in:
parent
7928edc2e8
commit
ab368e4d2d
60
plant.py
Normal file
60
plant.py
Normal file
@ -0,0 +1,60 @@
|
||||
from abc import abc, abstractmethod
|
||||
|
||||
class Plant:
|
||||
|
||||
#tworzymy jakas rosline co ma nazwe, id ID powiedzmy ze buraki będą miały 1, marchewki 2 itd. gleby powiedzmy tez damy 4 i beda mialy id 5-8
|
||||
def __init__(self, name, ID):
|
||||
super().__init__()
|
||||
self._soil = -1 #jak tworzymy rosline to nie bedzie ona miala gleby
|
||||
self._name = name #to nazwa rosliny będzie np. burak1
|
||||
self._id = ID #id rosliny buraki bedą miały 1, i po tym inne obiekty beda rozpoznawac ten obiekt
|
||||
|
||||
#to jest jakbysmy usuneli obiekt zabezpieczenie, zeby gleba pozniej była wolna
|
||||
def __del__(self):
|
||||
self.leave_soil()
|
||||
|
||||
#to sie drukuje jak zapytamy o stworzony obiekt
|
||||
def __str__(self):
|
||||
return 'Plant: %s , Soil: %s , Status: %s' % (self._name, self._soil, self._collect())
|
||||
|
||||
#metoda abstrakcyjna, kazda roslina ma inny czas rosniecia wiec pass
|
||||
@abstractmethod
|
||||
def collect(self):
|
||||
pass
|
||||
|
||||
#nadajemy współrzędne roślince
|
||||
def add_coordinates(self, x, y):
|
||||
self._x = x
|
||||
self._y = y
|
||||
|
||||
#pobieramy współrzędne roślinki
|
||||
def get_coordinates(self):
|
||||
return self._x, self._y
|
||||
|
||||
#pobieramy id roślinki
|
||||
def get_id(self):
|
||||
return self._id
|
||||
|
||||
#dodajemy glebe
|
||||
def add_soil(self, soil):
|
||||
self._soil = soil
|
||||
|
||||
#zwraca czy roslinka znajduje sie w ziemii obecnie - jak nie ma gleby to znaczy ze nie jest zasadzona jeszcze albo już.
|
||||
def have_soil(self):
|
||||
return self._soil is not -1
|
||||
|
||||
#pobieramy jaka ma glebe, gleba tutaj będzie obiektem
|
||||
def get_soil(self):
|
||||
return self._soil
|
||||
|
||||
#to w przypadku jak bedziemy wyciagac z ziemii roslinke
|
||||
def leave_soil(self):
|
||||
if self.have_soil():
|
||||
a = self.get_soil()
|
||||
a.plant.remove(self) #to bedzie metoda w klasie Soil, bedzie usuwac roslinke z gleby
|
||||
self._soil = -1
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user