josh 45611181de updates pushing while Blobs moving
git-svn-id: svn://anubis/gvsu@98 45c1a28c-8058-47b2-ae61-ca45b979098e
2008-04-13 20:21:06 +00:00

67 lines
1.8 KiB
Java

import java.util.*;
public class Shot extends GameItem implements Cloneable
{
public static final double DEFAULT_RADIUS = 0.03;
public static final double SHOT_DURATION = 3.0;
public static final double SHOT_DAMAGE = 0.27;
public long createTime;
public Integer id;
public Shot(Integer id, long createTime, double x, double y)
{
this.id = id;
this.createTime = createTime;
this.radius = DEFAULT_RADIUS;
this.x = x;
this.y = y;
this.dx = 0;
this.dy = 0;
}
public Shot clone()
{
Shot s = new Shot(id, createTime, x, y);
s.dx = dx;
s.dy = dy;
return s;
}
public boolean equals(Shot other)
{
return this.createTime == other.createTime &&
this.radius == other.radius &&
this.x == other.x &&
this.y == other.y &&
this.dx == other.dx &&
this.dy == other.dy;
}
public String toString()
{
return String.format("%d:%.3f:%.3f:%.3f:%.3f:%.3f",
id, radius, x, y, dx, dy);
}
public void fromString(String s)
{
StringTokenizer st = new StringTokenizer(s, ":");
Vector<String> tokens = new Vector<String>();
while (st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
String[] arr = tokens.toArray(new String[1]);
if (arr.length != 6)
return;
id = Integer.parseInt(arr[0]);
radius = Double.parseDouble(arr[1]);
x = Double.parseDouble(arr[2]);
y = Double.parseDouble(arr[3]);
dx = Double.parseDouble(arr[4]);
dy = Double.parseDouble(arr[5]);
}
}