/* Zapoctovy priklad z OOP  Priklad cislo 5
   Miroslav Petrasko 2I2    */

package zapocet;
import zapocet.clasy.*;
import zapocet.util.*;

public class Piskvorky_Main{

	public static Hracie_Pole hrpole;

		public static void main(String[]args){
	        int vyska,sirka,dlzka_p,stlpec,riadok;
	        int hrac,hracc;
	        boolean vyhral;


        System.out.println("#### # #### #  # #   # #### #### #  # #   #");
        System.out.println("#  # # #    # #  #   # #  # #  # # #   # #");
        System.out.println("#### # #### ##   #   # #  # #### ##     #");
        System.out.println("#    #    # # #   # #  #  # # #  # #    # ");
        System.out.println("#    # #### #  #   #   #### #  # #  #   #\n");
        System.out.println("Piskvorky pre dvoch hracov.\nMax vyska,sirka je 10 strvorcekov.\n");

        do{
			  //nacitanie velkosti pola
			String z1=Console.getInput("Zadaj vysku hracieho pola ");
			String z2=Console.getInput("Zadaj sirku hracieho pola ");
			vyska=(Integer.parseInt(z1));
			sirka=(Integer.parseInt(z2));
			System.out.println("\n");

		}while ((vyska<3)||(vyska>10)||(sirka<3)||(sirka>10));


		do {
			  //nacitanie velkosti piskvorky
 		 	String z3=Console.getInput("Dlzka piskvorky ");
 			 dlzka_p=Integer.parseInt(z3);

 		}while((dlzka_p<3)||(dlzka_p>vyska)||(dlzka_p>sirka));

			 //vytvorenie hracieho pola
		hrpole=new Hracie_Pole(vyska,sirka,dlzka_p);
		hrpole.vypisHP();
   		hracc=-1;
   		hrac=-1;
   		vyhral=false;

             //opakovanie tahov
   		do{

			hracc++;
     		if (hracc%2==0) {System.out.println("Nasleduje hrac cislo 1");hrac=0;}
      		if (hracc%2==1) {System.out.println("Nasleduje hrac cislo 2");hrac=1;}

			do{

				String z4=Console.getInput("Zadaj riadok ");
				String z5=Console.getInput("Zadaj stlpec ");
				riadok=(Integer.parseInt(z4));
				stlpec=(Integer.parseInt(z5));

			}while ((riadok<0)||(riadok>vyska-1)||(stlpec<0)||(stlpec>sirka-1)||(!hrpole.getStv()[riadok][stlpec].empty()));

			if (hrac==1) hrpole.getStv()[riadok][stlpec].zmenHodnotu(1);
			if (hrac==0) hrpole.getStv()[riadok][stlpec].zmenHodnotu(0);
			hrpole.vypisHP();
			if (hrpole.jePiskvorka(riadok,stlpec,hrac)) {System.out.println("Hrac "+(hrac+1)+" vyhral");vyhral=true;}


		}while  ((!hrpole.plneHPole())&&(!vyhral));

	}
}
