доработанный код занятия.
У меня такое чувство что я сделал лютый костыль, потому что при развороте программы на весь экран работает не так как надо.Если у кого есть идеи как это исправить - пишите, буда рад.
код вставлять в класс танк
import java.awt.Graphics;
import java.util.Random;
public class Tank {
private double x;
private double y;
private boolean bot = true;
private int vx = 1;
private int vy = 0;
private double speed = 0.1;
private static int hp = 100;
protected void changeDirection() {
int[] vxArray = {0, 1, 0, -1};
int[] vyArray = {-1, 0, 1, 0};
Random r = new Random();
int index = r.nextInt(4);
vx = vxArray[index];
vy = vyArray[index];
}
protected void destroy() {
hp = 0;
vx = 0;
vy = 0;
}
protected void spawn() {
hp = 100;
vx = 0;
vy = 0;
x = 365;
y = 255;
}
protected void ai() {
if (x >= 730 || x <= 0 ||y >= 510 ||y <= 0) {
destroy();
vx = 0;
vy = 0;
}
else{
double d = Math.random();
if (d < 0.01) {
changeDirection();
}
}
}
public Tank(int x, int y) {
this.x = x;
this.y = y;
}
public void update() {
if (bot) {
ai();
}
double dx = speed * vx;
double dy = speed * vy;
x = x + dx;
y = y + dy;
}
public void up() {
vy = -1;
vx = 0;
}
public void down() {
vy = 1;
vx = 0;
}
public void right() {
vy = 0;
vx = 1;
}
public void left() {
vy = 0;
vx = -1;
}
public void stop() {
vy = 0;
vx = 0;
}
public void paint(Graphics g) {
g.fillRect((int)x, (int)y, 50, 50);
}
}
Артем, хотелось бы глянуть проект целиком.
По имеющемуся фрагменту (класс Танк) не можем составить полное впечатление о проделанной работе.
ниче не понятно, я джаву вообще не понимаю
Печалька.