关于java线程

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:05:59
想请教高手一些算法的问题,就是假如一个怪物在一个像素为300*300的范围内移动,怪物可以在这个范围内来回的移动但是不超出这个范围,遇到壁还会返回,无限制的循环,请教下高手这个算法应该怎么写?

不知道你的怪物长什么样子,用个点来模仿一下。

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;

public class BounceThread {
public static void main(String[] args) {
JFrame frame = new BounceFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

class BallRunnable implements Runnable {
public BallRunnable(Ball aBall, Component aComponent) {
ball = aBall;
component = aComponent;
}

public void run() {
try {
for(int i=1;i<=STEPS;i++) {
ball.move(component.getBounds());
component.repaint();
Thread.sleep(DELAY);
}
} catch(InterruptedException e) {
e.printStackTrace();
}
}

private Ball ball;
private Component component;
public static final int STEPS = 1000;
public static final int