Как задать несколько значений переменной Java, и добавить ее в список?
Я делаю консольную java игру, карта с видом сверху, и на ней есть стены. У каждой стены есть координаты Х и У. Мне нужен список в котором будут храниться координаты этих стен. А потом нужно сравнить координаты стен с координатами игрока. У меня есть нужный мне код на python, но нужно переписать его на Java.
x = 1
y = 5
for i in range(5):
s = (24,34) // координата стены(рандом сам добавлю)
ss.append(s) // все стены
// теперь проверка
if (x,y) in ss:
// координаты игрока и стены совпадают
Помогите, буду очень благодарен!
Ответы (1 шт):
Автор решения: Алексей Р
→ Ссылка
import java.util.*;
public class Main {
static class Coord {
int x;
int y;
public Coord(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return String.format("(x:%s, y:%s)", this.x, this.y);
}
public boolean eq(int x, int y) {
return this.x == x & this.y == y;
}
}
public static void main(String[] args) {
ArrayList<Coord> ss = new ArrayList<>();
Random rand = new Random();
for (int i = 0; i < 5; i++) {
ss.add(new Coord(rand.nextInt(100), rand.nextInt(100)));
}
System.out.println("Координаты стен: " + ss);
int x = ss.get(3).x;
int y = ss.get(3).y;
// теперь проверка
System.out.printf("Ищем координаты: x=%s, y=%s%n", x, y);
boolean coord_eq = false;
for (Coord c : ss) {
if (c.eq(x, y)) {// координаты игрока и стены совпадают?
coord_eq = true;
break;
}
}
System.out.printf("Координаты%sсовпали%n", coord_eq ? " " : " НЕ ");
}
}
Координаты стен: [(x:53, y:79), (x:27, y:78), (x:73, y:5), (x:64, y:61), (x:85, y:61)]
Ищем координаты: x=64, y=61
Координаты совпали