



import java.util.Scanner;

class ZahlenSpalten {
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    
        int a = 0;
        int x = 0;
        int y = 0;
        int eingabey = 0;
        int ziely = 0;
        int u = 0;
        int k = 0;
        int[][] meinArray1 = {{1, 2, 3, 4, 5, 0, 0},{2, 3, 4, 5, 1, 0, 0},{3, 4, 5, 1, 2, 0, 0},{4, 5, 1, 2, 3, 0, 0}};
        int[][] meinArray2 = {{1, 3, 4, 2, 1, 0, 0},{1, 2, 3, 1, 4, 0, 0},{3, 4, 3, 5, 5, 0, 0},{2, 5, 5, 4, 2, 0, 0}};
        int[][] meinArray3 = {{3, 3, 4, 2, 4, 0, 0},{5, 5, 1, 3, 4, 0, 0},{1, 4, 1, 2, 3, 0, 0},{5, 5, 2, 1, 2, 0, 0}};
while(k!=4){
        System.out.println("Das Ziel des Spiels ist es in einem 7x4 Spielfeld fünf Spalten mit identischen Zahlen zu füllen. Hierbei können Zahlen nur über identische Zhalen und auf freien Feldern (0) plaziert werden.");
        do {
            System.out.println("Wähle eine Schwierigkeit [1/2/3]");
            u = scanner.nextInt();
            if (u<1 || u>3) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 3 liegen.");
            }
        } while (u<1 || u>3);

if(u==1){
        while(a < 5){   
        for(int i=0; i<4; i++){
            for(int j=0; j<7; j++){
                System.out.print(meinArray1[i][j]+" ");
            }
            System.out.print("\n");
        }
        do {
            System.out.println("Wähle Ausgangs-Spalte [1-7]");
            eingabey = scanner.nextInt();
            if (eingabey < 1 || eingabey > 7) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 7 liegen.");
            }
        } while (eingabey < 1 || eingabey > 7);
        do {
            System.out.println("Wähle Ziel-Spalte [1-7]");
            ziely = scanner.nextInt();
            if (ziely < 1 || ziely > 7) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 7 liegen.");
            }
        } while (ziely < 1 || ziely > 7);
        if(meinArray1[0][eingabey-1]!=0) {
            x = meinArray1[0][eingabey-1];
            y = 0;
        }
        else if(meinArray1[1][eingabey-1]!=0) {
            x = meinArray1[1][eingabey-1];
            y = 1;
        }
        else if(meinArray1[2][eingabey-1]!=0) {
            x = meinArray1[2][eingabey-1];
            y = 2;
        }
        else if(meinArray1[3][eingabey-1]!=0) {
            x = meinArray1[3][eingabey-1];
            y = 3;
	}
            
        if(meinArray1[0][ziely-1]==0) {
            if(meinArray1[1][ziely-1]==0) {
                if(meinArray1[2][ziely-1]==0) {
                    if(meinArray1[3][ziely-1]==0) {
                       meinArray1[3][ziely-1] = x;
                       meinArray1[y][eingabey-1] = 0;
                    }
                    else {
                        if(meinArray1[3][ziely-1]==x) {
                            meinArray1[2][ziely-1] = x;
                            meinArray1[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
                    }
                }
                else {
                    if(meinArray1[2][ziely-1]==x) {
                    meinArray1[1][ziely-1] = x;
                    meinArray1[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
                }
            }
            else {
                if(meinArray1[1][ziely-1]==x) {
                    meinArray1[0][ziely-1] = x;
                    meinArray1[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
        }
        }
        else {
            System.out.println("Hier kann nicht plaziert werden!");
        }
    a = 0;    
for(int i=0; i<6; i++){
    if(meinArray1[0][i] == meinArray1[1][i] && 
       meinArray1[0][i] == meinArray1[2][i] && 
       meinArray1[0][i] == meinArray1[3][i]){
        a++;
    }
}
        }
}
if(u==2){        
    while(a < 5){   
        for(int i=0; i<4; i++){
            for(int j=0; j<7; j++){
                System.out.print(meinArray2[i][j]+" ");
            }
            System.out.print("\n");
        }    
        do {
            System.out.println("Wähle Ausgangs-Spalte [1-7]");
            eingabey = scanner.nextInt();
            if (eingabey < 1 || eingabey > 7) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 7 liegen.");
            }
        } while (eingabey < 1 || eingabey > 7);

        do {
            System.out.println("Wähle Ziel-Spalte [1-7]");
            ziely = scanner.nextInt();
            if (ziely < 1 || ziely > 7) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 7 liegen.");
            }
        } while (ziely < 1 || ziely > 7);
        if(meinArray2[0][eingabey-1]!=0) {
            x = meinArray2[0][eingabey-1];
            y = 0;
        }
        else if(meinArray2[1][eingabey-1]!=0) {
            x = meinArray2[1][eingabey-1];
            y = 1;
        }
        else if(meinArray2[2][eingabey-1]!=0) {
            x = meinArray2[2][eingabey-1];
            y = 2;
        }
        else if(meinArray2[3][eingabey-1]!=0) {
            x = meinArray2[3][eingabey-1];
            y = 3;
	}
            
        if(meinArray2[0][ziely-1]==0) {
            if(meinArray2[1][ziely-1]==0) {
                if(meinArray2[2][ziely-1]==0) {
                    if(meinArray2[3][ziely-1]==0) {
                       meinArray2[3][ziely-1] = x;
                       meinArray2[y][eingabey-1] = 0;
                    }
                    else {
                        if(meinArray2[3][ziely-1]==x) {
                            meinArray2[2][ziely-1] = x;
                            meinArray2[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
                    }
                }
                else {
                    if(meinArray2[2][ziely-1]==x) {
                    meinArray2[1][ziely-1] = x;
                    meinArray2[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
                }
            }
            else {
                if(meinArray2[1][ziely-1]==x) {
                    meinArray2[0][ziely-1] = x;
                    meinArray2[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
        }
        }
        else {
            System.out.println("Hier kann nicht plaziert werden!");
        }
    a = 0;    
for(int i=0; i<6; i++){
    if(meinArray2[0][i] == meinArray2[1][i] && 
       meinArray2[0][i] == meinArray2[2][i] && 
       meinArray2[0][i] == meinArray2[3][i]){
        a++;
    }
}
        }
}
if(u==3){
        while(a < 5){   
        for(int i=0; i<4; i++){
            for(int j=0; j<7; j++){
                System.out.print(meinArray3[i][j]+" ");
            }
            System.out.print("\n");
        } 
        do {
            System.out.println("Wähle Ausgangs-Spalte [1-7]");
            eingabey = scanner.nextInt();
            if (eingabey < 1 || eingabey > 7) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 7 liegen.");
            }
        } while (eingabey < 1 || eingabey > 7);

        do {
            System.out.println("Wähle Ziel-Spalte [1-7]");
            ziely = scanner.nextInt();
            if (ziely < 1 || ziely > 7) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss zwischen 1 und 7 liegen.");
            }
        } while (ziely < 1 || ziely > 7);
        if(meinArray3[0][eingabey-1]!=0) {
            x = meinArray3[0][eingabey-1];
            y = 0;
        }
        else if(meinArray3[1][eingabey-1]!=0) {
            x = meinArray3[1][eingabey-1];
            y = 1;
        }
        else if(meinArray3[2][eingabey-1]!=0) {
            x = meinArray3[2][eingabey-1];
            y = 2;
        }
        else if(meinArray3[3][eingabey-1]!=0) {
            x = meinArray3[3][eingabey-1];
            y = 3;
	}
            
        if(meinArray3[0][ziely-1]==0) {
            if(meinArray3[1][ziely-1]==0) {
                if(meinArray3[2][ziely-1]==0) {
                    if(meinArray3[3][ziely-1]==0) {
                       meinArray3[3][ziely-1] = x;
                       meinArray3[y][eingabey-1] = 0;
                    }
                    else {
                        if(meinArray3[3][ziely-1]==x) {
                            meinArray3[2][ziely-1] = x;
                            meinArray3[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
                    }
                }
                else {
                    if(meinArray3[2][ziely-1]==x) {
                    meinArray3[1][ziely-1] = x;
                    meinArray3[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
                }
            }
            else {
                if(meinArray3[1][ziely-1]==x) {
                    meinArray3[0][ziely-1] = x;
                    meinArray3[y][eingabey-1] = 0;
                }
                else { 
                    System.out.println("Hier kann nicht plaziert werden!");
            }
        }
        }
        else {
            System.out.println("Hier kann nicht plaziert werden!");
        }
    a = 0;    
for(int i=0; i<6; i++){
    if(meinArray3[0][i] == meinArray3[1][i] && 
       meinArray3[0][i] == meinArray3[2][i] && 
       meinArray3[0][i] == meinArray3[3][i]){
        a++;
    }
}
        }
}
if(a==5){
        System.out.println("Du hast gewonnen!");
}
        do {
            System.out.println("Wähle [4] um das Spiel zu beenden, wähle [5] um nochmal zu spielen.");
            k = scanner.nextInt();
            if (k!=4 || k!=5) {
                System.out.println("Ungültige Eingabe! Die Eingabe muss 4 oder 5 sein.");
            }
        } while (k!=4 || k!=5);
}
    }
}