annotate Bacteria.py @ 12:7408ce97c651
Converted class scale.IF to new-style
author |
Daniil Alexeyevsky <me.dendik@gmail.com> |
date |
Tue, 14 Dec 2010 14:50:55 +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 |