Итак, я пытаюсь сделать игру «три в ряд», и до сих пор мне удавалось заставить ее работать, но я немного борюсь за то, чтобы получить победителя, так как мне нужно это проверить. все элементы строки, столбца или диагонали одинаковы.
До сих пор мне удавалось заставить его работать, используя логическое значение, счетчик и a для l oop. Вот пример того, как мой код выглядит
//Code to check the rows horizontally
public void checkH(){
int cont1 = 0;
Boolean winner1 = false;
for(int i=0;i<size;i++){
if(a[0][i]==1 || a[1][i]==1 || a[2][i]==1){
cont1++;
if(cont1==3){
winner1 = true;
}
Итак, как вы можете видеть, что я делаю в этом коде, говорит программе, что если массив в одной из строк равен один и если тот же самый случай случится, когда он пройдет все позиции в строке, то счетчик добавит плюс один, и как только счетчик достигнет 3, логическое значение будет истинным, и будет победитель, но здесь подвох: если, например, двумерный массив выглядит так:
int a[][] = {{1,0,0},
{1,1,0},
{0,0,0}};
, то счетчик по-прежнему достигает трех, даже если они не выровнены. Я знаю, что не указывал такого рода условия в программе, но с этим я борюсь. То, что я хотел бы сделать, - это иметь возможность выполнить это условие с помощью циклов, так что мне не нужно заполнять все это с помощью операторов if. , Заранее спасибо!