Mercurial > hg > Members > tatsuki > Alice
view src/alice/test/topology/movement/CheckFishLocation.java @ 93:6601f8854126 working
can KeyInputCodeSegment
author | sugi |
---|---|
date | Tue, 05 Jun 2012 16:33:28 +0900 |
parents | 8e3c1217aad4 |
children | 38f4021353c5 |
line wrap: on
line source
package alice.test.topology.movement; import java.util.regex.Matcher; import java.util.regex.Pattern; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class CheckFishLocation extends CodeSegment{ public Receiver nowX = ids.create(CommandType.PEEK); public Receiver host = ids.create(CommandType.PEEK); MakeFrame frame; MakeObject obj; Pattern pattern = Pattern.compile("^(cli)([0-9]+)$"); public CheckFishLocation(MakeObject MO ,String str){ this.obj = MO; this.nowX.key = str; } @Override public void run(){ String name = host.asString(); Matcher matcher = pattern.matcher(name); matcher.find(); int num = new Integer(matcher.group(2)); float startX = 2*num - 3.0f; float endX = 2*num -0.9f; float x = (float)this.nowX.asInteger()/1000; System.out.println(this.nowX.key+" :" + x); if (startX <= x && x < endX){ obj.setLocation(x - 2*(num-1), 0); if(this.nowX.key!="fish3X") ods.update("parent", this.nowX.key, this.nowX.asInteger()+1); } CheckFishLocation cs = new CheckFishLocation(this.obj,this.nowX.key); cs.nowX.setKey("parent",this.nowX.key,this.nowX.index); cs.host.setKey("local","host"); } }