diff src/alice/test/topology/movement/CheckFishLocation.java @ 91:19f3bd33277d working

add KeyInput
author sugi
date Tue, 05 Jun 2012 00:35:58 +0900
parents
children 8e3c1217aad4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/test/topology/movement/CheckFishLocation.java	Tue Jun 05 00:35:58 2012 +0900
@@ -0,0 +1,48 @@
+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]+)$");
+	String myKey;
+	
+	public CheckFishLocation(MakeObject MO ,String str){
+		this.obj = MO;
+		this.myKey = 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(myKey+": " + x);
+		if (startX <= x && x < endX){
+			obj.setLocation(x - 2*(num-1), 0.1f*num);
+			ods.update("parent", myKey, this.nowX.asInteger()+1);
+		}
+				
+		CheckFishLocation cs = new CheckFishLocation(this.obj,this.myKey);
+		cs.nowX.setKey("parent",myKey,this.nowX.index);
+		cs.host.setKey("local","host");
+						
+	}
+	
+
+}