我正在创建一个模拟结肠蚁的程序,我想在随机游走中创建一个与之匹配的小点,我的前提是该点不会偏离我理解的初始位置,或者存在错误没有出现错误消息
public class Ant extends JFrame
{
static int x = 20;
static int y = 60;
int rad = 15;
Ant()
{
setVisible(true);
setSize(500, 500);
setResizable(false);
}
public void move(int x , int y)
{
double randomDouble = Math.random();
randomDouble = randomDouble * 4 + 1;
int randomInt = (int) randomDouble;
switch(randomInt) {
case 1 :
x+=1;
case 2 :
x-=1;
case 3 :
y+=1;
case 4 :
y-=1;
}
repaint();
}
public void paint(Graphics g)
{
super.paint(g);
g.fillOval(x, y, rad, rad);
}
public static void main(String[] args)
{
Ant a = new Ant();
while(true)
{
a.move(x,y);
a.repaint();
try {
Thread.sleep(100);
}catch(Exception e)
{
}
}
}
}
您的move
方法不会更改类变量(静态变量),但会更改局部变量。一种简单的方法是按照以下步骤修改您的代码:
步骤1:从move
方法中删除局部变量,例如:
public void move() {
...
}
步骤2:在不传递任何变量的情况下调用它:
a.move();