📄 keepaway.java
字号:
package sim.app.keepaway;import java.awt.*;import sim.engine.*;import sim.field.continuous.*;import ec.util.*;import sim.util.*;import java.io.*;public /*strictfp*/ class Keepaway extends SimState { /** @todo handle realocation of grids when these two are changed */ public double xMin = 0; public double xMax = 100; public double yMin = 0; public double yMax = 100; public Continuous2D fieldEnvironment; /** Creates a Keepaway simulation with the given random number seed. */ public Keepaway(long seed) { this(seed, 100, 100); } public Keepaway(long seed, int width, int height) { super(new MersenneTwisterFast(seed), new Schedule(2)); xMax = width; yMax = height; createGrids(); } void createGrids() { fieldEnvironment = new Continuous2D(25, (xMax - xMin), (yMax - yMin)); } /** Resets and starts a simulation */ public void start() { super.start(); // clear out the schedule createGrids(); Bot b; Vector2D loc = new Vector2D(0, 0); // bot 1-1 loc.x = random.nextDouble()*xMax; loc.y = random.nextDouble()*yMax; b = new Bot(loc.x, loc.y, Color.red); b.cap = 0.65; fieldEnvironment.setObjectLocation(b, new Double2D(loc.x, loc.y)); schedule.scheduleRepeating(b); // bot 2-1 loc.x = random.nextDouble()*xMax; loc.y = random.nextDouble()*yMax; b = new Bot(loc.x, loc.y, Color.blue); b.cap = 0.5; fieldEnvironment.setObjectLocation(b, new Double2D(loc.x, loc.y)); schedule.scheduleRepeating(b); // bot 2-2 loc.x = random.nextDouble()*xMax; loc.y = random.nextDouble()*yMax; b = new Bot(loc.x, loc.y, Color.blue); b.cap = 0.5; fieldEnvironment.setObjectLocation(b, new Double2D(loc.x, loc.y)); schedule.scheduleRepeating(b); // bot 2-3 loc.x = random.nextDouble()*xMax; loc.y = random.nextDouble()*yMax; b = new Bot(loc.x, loc.y, Color.blue); b.cap = 0.5; fieldEnvironment.setObjectLocation(b, new Double2D(loc.x, loc.y)); schedule.scheduleRepeating(b); // ball Ball ba; loc.x = random.nextDouble()*xMax; loc.y = random.nextDouble()*yMax; ba = new Ball(loc.x, loc.y); fieldEnvironment.setObjectLocation(ba, new Double2D(loc.x, loc.y)); schedule.scheduleRepeating(ba); } public static void main(String[] args) { doLoop(Keepaway.class, args); System.exit(0); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -