comparison src/main/java/alice/test/topology/aquarium/AutoIncrement.java @ 345:8f71c3e6f11d

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