Группа Мир Java Мир Java Артм 11 месяцев назад

доработанный код занятия.

218 просмотров

У меня такое чувство что я сделал лютый костыль, потому что при развороте программы на весь экран работает не так как надо.Если у кого есть идеи как это исправить - пишите, буда рад.

код вставлять в класс танк

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);

}

}

Максим Стрельцов
Максим Стрельцов
11 месяцев назад
+1

Артем, хотелось бы глянуть проект целиком. 

По имеющемуся фрагменту (класс Танк) не можем составить полное впечатление о проделанной работе. 

#
Юша
Юша
11 месяцев назад
0

ниче не понятно, я джаву вообще не понимаю

#
LordPanker
LordPanker
11 месяцев назад
0

Печалька.