Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/petri_dish/annotate/2df48c61bd42/petri.py
Дата изменения: Unknown
Дата индексирования: Sat Mar 1 02:25:19 2014
Кодировка:
petri_dish: petri.py annotate

petri_dish

annotate petri.py @ 20:2df48c61bd42

now cells can move,reproduce
author Yashina Ksenia <ksenia_yashina@kodomo.fbb.msu.ru>
date Mon, 20 Dec 2010 01:44:18 +0300
parents
children 69a4724e7cac
rev   line source
ksenia_yashina@20 1 class Petri (object):
ksenia_yashina@20 2 def __init__ (self, num=1, bacteria=[], radius=150, delta=5, bact_r=10, full_lifetime=1000):
ksenia_yashina@20 3 self.num=num
ksenia_yashina@20 4 self.bacteria=bacteria
ksenia_yashina@20 5 self.radius=radius
ksenia_yashina@20 6 self.delta=delta
ksenia_yashina@20 7 self.bact_r=bact_r
ksenia_yashina@20 8 self.full_lifetime=full_lifetime
ksenia_yashina@20 9
ksenia_yashina@20 10 def step (self, delta_t, env,a,s):
ksenia_yashina@20 11 for bact in self.bacteria:
ksenia_yashina@20 12 bact.lifetime-=delta_t
ksenia_yashina@20 13 if bact.lifetime <= 0:
ksenia_yashina@20 14 self.bacteria.remove(bact)
ksenia_yashina@20 15 self.num-=1
ksenia_yashina@20 16 continue
ksenia_yashina@20 17 collide=bact.check_collision(self.bacteria,1,self.bact_r,delta_t)
ksenia_yashina@20 18 if not(collide):
ksenia_yashina@20 19 if bact.reprod('a', env, 0.1) and a:
ksenia_yashina@20 20 bact.asexual(self.bacteria, delta_t, self.radius, self.delta, self.bact_r, self.full_lifetime)
ksenia_yashina@20 21 continue
ksenia_yashina@20 22 bact.move(self.bacteria, delta_t, self.radius, self.delta, self.bact_r)
ksenia_yashina@20 23 continue
ksenia_yashina@20 24 if bact.reprod('s', env,1) and s:
ksenia_yashina@20 25 bact.sexual(collide, self.bacteria, delta_t, self.radius, self.delta, self.bact_r, self.full_lifetime)
ksenia_yashina@20 26 continue
ksenia_yashina@20 27 bact.collision(collide, self.bacteria, delta_t, self.radius, self.delta, self.bact_r)