annotate src/main/java/alice/test/topology/aquarium/AutoIncrement.java @ 419:aefbe41fcf12 dispose

change tab to space
author sugi
date Tue, 15 Jul 2014 16:00:22 +0900
parents 8f71c3e6f11d
children 15eeb439830c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.test.topology.aquarium;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import alice.codesegment.CodeSegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4 import alice.datasegment.CommandType;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5 import alice.datasegment.Receiver;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7 public class AutoIncrement extends CodeSegment {
419
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
8
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
9 private Receiver position = ids.create(CommandType.PEEK);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
10 private Receiver number = ids.create(CommandType.PEEK);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
11 private static final float MIN = -1.3f;
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
12
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
13 public AutoIncrement(String key, int index) {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
14 this.number.setKey("maxsize");
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
15 this.position.setKey(key, index);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
16 }
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
17
419
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
18 @Override
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
19 public void run() {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
20 float max = this.number.asInteger() * 2 - 1 + 0.3f;
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
21 FishPoint fp = this.position.asClass(FishPoint.class);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
22 if (fp.getX() + 0.01 > max) {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
23 fp.setXYZ(MIN, fp.getY(), fp.getZ());
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
24 } else if (fp.getX() + 0.01 < MIN) {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
25 fp.setXYZ(max, fp.getY(), fp.getZ());
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
26 }
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
27 else {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
28 fp.setXYZ(fp.getX() + 0.01f, fp.getY(), fp.getZ());
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
29 }
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
30
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
31 ods.update(position.key, fp);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
32 synchronized (this) {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
33 try {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
34 // TODO
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
35 // Waiting should be done in Alice kernel
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
36 // ids.create(CommandType.WAIT);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
37
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
38 wait(20);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
39 } catch (InterruptedException e) {
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
40 e.printStackTrace();
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
41 }
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
42 }
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
43
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
44 new AutoIncrement(this.position.key, this.position.index);
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
45 }
aefbe41fcf12 change tab to space
sugi
parents: 345
diff changeset
46
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
47 }