annotate Bacteria.py @ 14:05518686d7af
Automated merge with ssh://kodomo.fbb.msu.ru/petri_dish
| author |
Yashina Ksenia <ksenia_yashina@kodomo.fbb.msu.ru> |
| date |
Tue, 14 Dec 2010 17:11:15 +0300 |
| parents |
44ab407f134f |
| children |
5cc5069458a9 |
| rev |
line source |
|
Smirnova@2
|
1 from random import* |
|
Smirnova@2
|
2 |
|
Smirnova@2
|
3 class Bacteria (object): |
|
Smirnova@2
|
4 def __init__ (self, position, velocity, lifetime, mutated): |
|
Smirnova@2
|
5 self.position=position |
|
Smirnova@2
|
6 self.velocity=velocity |
|
Smirnova@2
|
7 self.lifetime=lifetime |
|
Smirnova@2
|
8 self.mutated=mutated |
|
Smirnova@2
|
9 |
|
Smirnova@2
|
10 def check_collision (self, bacteria): |
|
Smirnova@2
|
11 for bact in bacteria: |
|
Smirnova@2
|
12 if 0<abs(self.position-bact.position)<3: |
|
Smirnova@2
|
13 return bact |
|
Smirnova@2
|
14 return false |
|
Smirnova@7
|
15 |
|
Smirnova@7
|
16 def move (self, delta_t, radius): |
|
Smirnova@7
|
17 pass |
|
Smirnova@7
|
18 |
|
Smirnova@7
|
19 def collision (self, other, delta_t): |
|
Smirnova@7
|
20 pass |
|
Smirnova@7
|
21 |
|
Smirnova@2
|
22 def reprod (type, env, p_max): |
|
Smirnova@2
|
23 if type=='s': |
|
Smirnova@2
|
24 p=1-p_max*(env/100) |
|
Smirnova@2
|
25 else: |
|
Smirnova@2
|
26 p=p_max*(env/100) |
|
Smirnova@2
|
27 return randrange(0, int(1/p))==0 |
|
Smirnova@2
|
28 |
|
Smirnova@4
|
29 def asexual (self, bacteria, delta_t, radius): |
|
Smirnova@4
|
30 pass |
|
Smirnova@4
|
31 |
|
Smirnova@4
|
32 def sexual (self, other, bacteria, delta_t, radius): |
|
Smirnova@4
|
33 pass |
|
Smirnova@4
|
34 |
|
Smirnova@5
|
35 def find_place_a (self, bacteria): #searches for place for children |
|
Smirnova@4
|
36 pass |
|
Smirnova@4
|
37 |
|
Smirnova@4
|
38 def find_place_s (self, other, bacteria): |
|
Smirnova@4
|
39 pass |