Cześć, próbuję napisać grę typy kółko i krzyżyk w której to gracz ustala ile "O" lub "X" jest potrzebne do osiągnięcia zwycięstwa. na tę chwilę mam napisane funkcje które sprawdzają czy któryś gracz wygrał w pionie lub poziomie, ale funkcje są sprawdzane od pozycji "0.0", a chciałbym wprowadzić funkcję która będzie sprawdzać od pozycji którą ostatnio wpisał gracz. np: jest plansza 10na10 pól, wygrywa się mając 3 takie same znaki obok siebie, gracz wybiera pole 5.5, w tym momencie chciałbym aby funkcja sprawdzającaczy zostały spełnione warunki wygranej zaczynała swoje działanie właśnie od pozycji 5.5. Próbowałem kilku sposobów ale za każdym razem program nie działał jak chciałem, dlatego wklejam kod który w pełni działa.
w kodzie chciałbym aby funkcja "sprawdzGdziekolwiek" tak wszystko działało jak opisałem powyzej.

będę wdzięczny za każdą pomoc,
pozdrawiam

`import java.util.Scanner;

public class TIcTacToe {
public static void main(String[] args) {
System.out.println("Witaj w grze, podaj wymair planszy:");

    int wymiar = new Scanner(System.in).nextInt();
    // nie dziala int zasada = new Scanner(System.in).nextInt();
    char obecnySymbol = 'X';
    char[][] plansza = new char[wymiar][wymiar];

    boolean czyKontynuowac = true;
    while (czyKontynuowac) {
        TIcTacToe.drukujPlansze(plansza);
        boolean ruchPoprawny = wykonajRuch(plansza, obecnySymbol);
        if(ruchPoprawny) {
            boolean wygranaWiersze = sprawdzWiersze(plansza, obecnySymbol);
            boolean wygranaKolumny = sprawdzKolumny(plansza, obecnySymbol);
            boolean wygranaGdziekolwiek = sprawdzSkos1(plansza, obecnySymbol);
           
              if(wygranaWiersze || wygranaKolumny || wygranaGdziekolwiek){
                System.out.println("gratuluje, wygrałeś " + obecnySymbol);
                czyKontynuowac = false;
            }
            // operator trynarny
            obecnySymbol = obecnySymbol == 'X' ? 'O' : 'X';
        /*if(obecnySymbol == 'X') {
            obecnySymbol = 'O';
        } else {obecnySymbol = 'X'; */
        }
        }

    }
    public static boolean sprawdzWiersze(char[][] plansza, char symbol){
    int wymiar = plansza.length;

    for(int wiersz = 0; wiersz<wymiar; wiersz++){
        boolean wygrana = true;
        for(int kolumna = 0;kolumna<wymiar; kolumna++){
            if(plansza[wiersz][kolumna]!=symbol){
                //for(int pole =0; pole< zasada; pole++){
                wygrana = false;
                break;
            }
        }
        if (wygrana){return true;}
    }
    return false;
    }
public static boolean sprawdzKolumny(char[][] plansza, char symbol){
    int wymiar = plansza.length;
    for(int kolumna = 0; kolumna<wymiar; kolumna++){
        boolean wygrana = true;
        for(int wiersz = 0;wiersz<wymiar; wiersz++){
            if(plansza[wiersz][kolumna]!=symbol){
                wygrana = false;
                break;
            }
        }
        if (wygrana){return true;}
    }
    return false;
}
public static boolean sprawdzGdziekolwiek(char[][] plansza, char symbol) {
    int wymiar = 3;
    for (tutaj nie wiem co wpisać) {
        boolean wygrana = true;
        for (tutaj rónież) {
            if (plansza[wiersz][kolumna] != symbol) {
                wygrana = false;
                break;
            }
        }
        if (wygrana) {return true;}
    }
    return false;
}
    public static boolean wykonajRuch(char[][] plansza, char symbol){

            System.out.println(symbol + " Twój ruch");
            System.out.println("Podaj indeks wiersza");

            int wiersz = new Scanner(System.in).nextInt();
            try{
                System.out.println(plansza[wiersz]);}
            catch(ArrayIndexOutOfBoundsException e){
                System.out.println("podeles indeks poza plansza");
                return false;
            }
             System.out.println("Podaj indeks kolumny");
            int kolumna = new Scanner(System.in).nextInt();
            if(kolumna>=0 && kolumna<plansza.length)
                System.out.println(plansza[kolumna]);
            else {System.out.println("podeles indeks poza plansza");
            return false;}
            /*try{
            System.out.println(plansza[kolumna]);}
             catch(ArrayIndexOutOfBoundsException e){
            System.out.println("podeles indeks poza plansza");
            return false;
        } */
            boolean ruchPoprawny = plansza[wiersz][kolumna] == 0;
            if (!ruchPoprawny) {
                System.out.println("Ruch niepoprawny");
                return false;
            }
            plansza[wiersz][kolumna] = symbol;
            return true;
        }




public static void drukujPlansze(char[][] plansza) {
    int wymiar = plansza.length;
    System.out.print("\t");
    //plansza drukujaca naglowki kolumn
    for (int i = 0; i < wymiar; i++) {
        System.out.print(i + "\t");
    }
    System.out.println();
    for (int wiersz = 0; wiersz < plansza.length; wiersz++) {
        System.out.print(wiersz + "\t");
        for (int kolumna = 0; kolumna < plansza[wiersz].length; kolumna++) {
            System.out.print(plansza[wiersz][kolumna] + "\t");
        }
        System.out.println();
    }
}

}
`