Mercurial > hg > Members > tatsuki > Alice
view src/alice/test/topology/aquarium/CheckMyName.java @ 262:ba55adb8a042
fixed bug
author | sugi |
---|---|
date | Tue, 23 Jul 2013 14:13:14 +0900 |
parents | ccce30f84380 |
children | 23e53aaa8720 |
line wrap: on
line source
package alice.test.topology.aquarium; import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class CheckMyName extends CodeSegment { private Receiver host = ids.create(CommandType.PEEK); private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$"); private String key = "fish"; public CheckMyName(){ host.setKey("host"); } @Override public void run(){ String name = host.asString(); Matcher matcher = pattern.matcher(name); matcher.find(); String type = matcher.group(1); int num = new Integer(matcher.group(2)); ods.put("host_num", num*2); MakeFrame frame = new MakeFrame(name,num*2); ods.put("num", 1); if (type.equals("cli")){ System.out.println("cli"+num); new TakeMynum(); }else if (type.equals("node")){ System.out.println("node"+num); if (num != 0){ new TakeMynum(); } else { new SendMaxsize(0); } } new CheckLocalIndex("maxsize",0); ods.update(key, new FishPoint(-0.1f,-0.1f)); new SetLocation(new MakeObject(frame), key, 0); new CheckLocalIndex(key,1); for (int i = 0; i < 3 ; i++){ key = "fish"+i; if (num == 0) new AutoIncrement(key,0); ods.update(key, new FishPoint((float)Math.random(), (float)Math.random(), (float)Math.random())); new SetLocation(new MakeObject(frame), key, 0); new CheckLocalIndex(key,1); } for (int i = 3; i < 6 ; i++){ key = "fish"+i; if (num == 1) new AutoIncrement(key,0); Random rnd = new Random(); int tmp = rnd.nextInt(3); int rand = tmp + 1; ods.update(key, new FishPoint( (float)rand, -(float)Math.random(), -(float)Math.random())); new SetLocation(new MakeObject(frame), key, 0); new CheckLocalIndex(key,1); } for (int i = 6; i < 9 ; i++){ key = "fish"+i; if (num == 2) new AutoIncrement(key,0); Random rnd = new Random(); int tmp = rnd.nextInt(3); int rand = tmp + 3; ods.update(key, new FishPoint( (float)rand, (float)Math.random(), -(float)Math.random())); new SetLocation(new MakeObject(frame), key, 0); new CheckLocalIndex(key,1); } for (int i = 9; i < 12 ; i++){ key = "fish"+i; if (num == 3) new AutoIncrement(key,0); Random rnd = new Random(); int tmp = rnd.nextInt(3); int rand = tmp + 5; ods.update(key, new FishPoint( (float)rand, -(float)Math.random(), (float)Math.random())); new SetLocation(new MakeObject(frame), key, 0); new CheckLocalIndex(key,1); } } }