Kółko krzyżyk java - sprawdzanie i blokada

0

Witam.
Zaczynam z kolegą uczyć się programowac w Javie.
Chcemy stworzyć gre kółko krzyzyk.
Mamy następujący problem gra na dwoch graczy chodzi natomiast niepotrafimy zrobic sprawdziania czy zawodnik wygrał oraz blokady zeby gracz nie mogł podawać numerów pola z poza zakresu 3X3. Prosimy o pomoc.

Oto program(Wiem ze moze cos byc nie jasne ale dopiero sie uczymy)

import java.util.Scanner;
import java.util.Random;
//import java.util.String;

public class Gra {

    public static void main(String[] args) {

		int n,i,j,x,z,k,w,p;
		int g1,g2;
		int i1,j1,wi,st;
		//string l;
    	int tab[][];

    	x=0;
    	z=1;
    	k=0;
    	w=0;
    	wi=10;
    	st=0;

    	g1=8;
    	g2=2;

    	Random g=new Random();
    	p=g.nextInt(2+1);

    	System.out.println(p);

    	tab=new int[4][4];
    	System.out.println("-----------------------MENU-----------------------");
    	System.out.println("WYBIERZ TRYB GRY");
    	System.out.println("1) Jeden gracz");
    	System.out.println("2) Dwoch graczy");
    	System.out.println("0) Wyjscie");
		System.out.println("--------------------------------------------------");
		System.out.print(">");
    	Scanner od=new Scanner(System.in);
    	n=od.nextInt();


///////////PLANSZ
    	if(n==2)
    	{
    		for(i=0;i<4;i++)
    		{
    			System.out.println(" ");
    			for(j=0;j<4;j++)
    			{
    				if (j==0)
    				{
    					System.out.print(x+"|");
    					x++;
    				}

    				if ((i==0)&&(z!=4))
    				{
    					System.out.print(z+"|");
    					z++;
    				}

    				if((i!=0)&&(j!=0))
    				{
    				System.out.print(tab[i][j]+"|");
    				}
    			}
    		}

///////////Strzelanie
    		/*for(i1=0;i1<4;i1++)
    			{
    			for(j1=0;j1<4;j1++)
    				{*/
							do{

/////////////////////////////////GRACZ1
    						if(p==1)
    						{
    							System.out.println(" ");
    							System.out.println("Gracz1");
    							System.out.println("Wybierz pole");
    							System.out.print("Kolumna:");
    							k=od.nextInt();
    							System.out.print("Wiersz:");
    							w=od.nextInt();

    							for(i=0;i<4;i++)
    								{
    								for(j=0;j<4;j++)
    									{
    										if((w==j)&&(k==i))
    										{
    											tab[w][k]=g1;
    										}
    									}
    								}

							st++;
    						///////////PLANSZ////////////////
							x=0;
    						z=1;
    						for(i=0;i<4;i++)
    						{
    						System.out.println(" ");
    						for(j=0;j<4;j++)
    						{
    						if (j==0)
    						{
    						System.out.print(x+"|");
    						x++;
    						}

    						if ((i==0)&&(z!=4))
    						{
    						System.out.print(z+"|");
    						z++;
    						}

    						if((i!=0)&&(j!=0))
    						{
    						System.out.print(tab[i][j]+"|");
    						}
    						}
    						}
    						////////////////////////////////

    							////////////////////////
    							System.out.println(" ");
    							System.out.println("Gracz2");
    							System.out.println("Wybierz pole");
    							System.out.print("Kolumna:");
    							k=od.nextInt();
    							System.out.print("Wiersz:");
    							w=od.nextInt();

    							for(i=0;i<4;i++)
    							{
    							for(j=0;j<4;j++)
    							{
    								if((w==j)&&(k==i))
    								{
    								tab[w][k]=g2;
    								}
    							}
    							}

							st++;
    						///////////PLANSZ////////////////
    						x=0;
    						z=1;

    						for(i=0;i<4;i++)
    						{
    						System.out.println(" ");
    						for(j=0;j<4;j++)
    						{
    						if (j==0)
    						{
    						System.out.print(x+"|");
    						x++;
    						}

    						if ((i==0)&&(z!=4))
    						{
    						System.out.print(z+"|");
    						z++;
    						}

    						if((i!=0)&&(j!=0))
    						{
    						System.out.print(tab[i][j]+"|");
    						}
    						}
    						}
    						////////////////////////////////////////////////
    						}
							////////////////////////////////

    						else{
    							System.out.println(" ");
    							System.out.println("Gracz2");
    							System.out.println("Wybierz pole");
    							System.out.print("Kolumna:");
    							k=od.nextInt();
    							System.out.print("Wiersz:");
    							w=od.nextInt();

    							for(i=0;i<4;i++)
    							{
    							for(j=0;j<4;j++)
    							{
    								if((w==j)&&(k==i))
    								{
    								tab[w][k]=g2;
    								}
    							}
    							}

							st++;
    						///////////PLANSZ////////////////
    						x=0;
    						z=1;

    						for(i=0;i<4;i++)
    						{
    						System.out.println(" ");
    						for(j=0;j<4;j++)
    						{
    						if (j==0)
    						{
    						System.out.print(x+"|");
    						x++;
    						}

    						if ((i==0)&&(z!=4))
    						{
    						System.out.print(z+"|");
    						z++;
    						}

    						if((i!=0)&&(j!=0))
    						{
    						System.out.print(tab[i][j]+"|");
    						}
    						}
    						}
    						////////////////////////////////////////////////


    							//////////////////////////
    							x=0;
    							z=1;
    							System.out.println(" ");
    							System.out.println("Gracz1");
    							System.out.println("Wybierz pole");
    							System.out.print("Kolumna:");
    							k=od.nextInt();
    							System.out.print("Wiersz:");
    							w=od.nextInt();

    							for(i=0;i<4;i++)
    							{
    							for(j=0;j<4;j++)
    							{
    							if((w==j)&&(k==i))
    								{
    								tab[w][k]=g1;
    								}
    							}
    							}
								st++;
    							///////////PLANSZ////////////////
    						x=0;
    						z=1;

    						for(i=0;i<4;i++)
    						{
    						System.out.println(" ");
    						for(j=0;j<4;j++)
    						{
    						if (j==0)
    						{
    						System.out.print(x+"|");
    						x++;
    						}

    						if ((i==0)&&(z!=4))
    						{
    						System.out.print(z+"|");
    						z++;
    						}

    						if((i!=0)&&(j!=0))
    						{
    						System.out.print(tab[i][j]+"|");
    						}
    						}
    						}

    						////////////////////////////////

    						}

					System.out.print(st);
    				}
    				while ((g1!=wi)||(g2!=wi)||(st==9));

    }
}
}
0

warunek na to, czy podał pole z zakresu jest banalny: k<3 i w<3.
sprawdzenie czy wygrał: możesz zrobić funkcję: boolean sprawdzCzyWygral(int g, tab[][]), która będzie sprawdzała czy w tablicy jest wygrywająca kombinacja, skoro lubicie ify, to będzie ledwo 3+3+2=8 możliwości:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1