Логическая настольная игра на java
Программа должна распечатать заданные значения в массиве array1 и вывести второй массив как true или false.
Array1 представляет собой настольную игру, в которой персонажи могут стоять в разных положениях. Целые числа показывают, насколько опасно стоять на каждой позиции.
Если персонаж находится в int 3, он должен быть объявлен мертвым.
Если вы добавите значения каждого соседа(не включая текущую позицию) и общее значение будет равно 15, он также будет объявлен мертвым.
Таким образом, если текущая позиция равна 2, а общее значение каждого соседа меньше 15, персонаж живет. Соседи, отсутствующие на краю массива, должны быть засчитаны как 0.
Как мне напечатать это так же, как array1, но с логическими значениями T или F?
Что я уже пробовал:
import java.util.Arrays; public class uppg10{ public static void main(String[] args){ int [][] array1 = {{1,1,2,3,3}, {2,1,1,2,3}, {3,2,2,1,2}, {3,3,3,3,3}}; Boolean [][] array2; int rows = array1.length; int cols = array1[0].length; array2 = new Boolean[rows][cols]; for (int row=0; row<rows; row++) { for (int col=0; col<cols; col++) { System.out.print(String.format("%4d", array1[row][col])); if ( ( (col+1) % cols ==0) && (col > 0)) System.out.println(); } } } }
Richard MacCutchan
Каковы критерии для объявления чего-то истинным или ложным?
Helin1
Для True: целое число должно быть меньше 3, а добавленное значение всех соседей в массиве должно быть меньше 15
Richard MacCutchan
Тогда вопрос такой же, как и для живых или мертвых. Вычислите значения для массива 1 и установите True или False в array2 соответственно.