import java.util.*;

import taslar.At;
import taslar.Fil;
import taslar.Kale;
import taslar.Piyon;
import taslar.Sah;
import taslar.Vezir;

public class Board {

	public final int SATIR = 8;
	public final int HARFLER = 8;
	
	
	Scanner input = new Scanner(System.in);
	
	//-- ChessBoard sınınfının örneklenmesi (gui)
	ChessBoard board = new ChessBoard();
	
	//-- hamleler ile ilgili bilgileri tutacak dizinin örneklenmesi
	char[][] T = new char[SATIR][HARFLER];	
	
	//-- Siyah renkler büyük harfle, beyaz renkler küçük harfle tutuluyor.
	Sah sSah = new Sah('S', 's');
	Sah bSah = new Sah('s', 'b');
	
	Vezir sVez = new Vezir('V','s');	
	Vezir bVez = new Vezir('v','b');
	
	Kale sKale = new Kale('K','s');
	Kale sKale2 = new Kale('L','s');	
	Kale bKale = new Kale('k','b');
	Kale bKale2 = new Kale('l','b');
	
	Fil sFil = new Fil('F','s');
	Fil sFil2 = new Fil('I','s');
	Fil bFil = new Fil('f','b');
	Fil bFil2 = new Fil('i','b');
	
	At sAt = new At('T', 's');
	At bAt = new At('t', 'b');
	At sAt2 = new At('U', 's');
	At bAt2 = new At('u', 'b');
	
	Piyon bp1 = new Piyon('p','b');
	Piyon bp2 = new Piyon('r', 'b');
	Piyon bp3 = new Piyon('q','b');
	Piyon bp4 = new Piyon('w', 'b');
	Piyon bp5 = new Piyon('y','b');
	Piyon bp6 = new Piyon('z', 'b');
	Piyon bp7 = new Piyon('e','b');
	Piyon bp8 = new Piyon('g', 'b');
	
	Piyon sp1 = new Piyon('P','s');
	Piyon sp2 = new Piyon('R', 's');
	Piyon sp3 = new Piyon('Q','s');
	Piyon sp4 = new Piyon('W', 's');
	Piyon sp5 = new Piyon('Y','s');
	Piyon sp6 = new Piyon('Z', 's');
	Piyon sp7 = new Piyon('E','s');
	Piyon sp8 = new Piyon('G', 's');
	
	int hedefSutun = 0,  hedefSatir = 0, tasSutun = 0, tasSatir = 0;
	public boolean dogruHamle = true, gecerliHamle = true, tasYe = false;
	public String promoteIsmi;
	
	public void hamleOku() {
		
		do {
			
			String hamle = input.nextLine();
			dogruHamle = true;
			
			if(hamle.equalsIgnoreCase("LongLiveLinux!")) {
				cheatOn();
			} 
			//taş sütun
			String tasSutun_String = hamle.substring(0,1);
			
			if(tasSutun_String.equalsIgnoreCase("a")) {
				tasSutun = 0;
			} else if(tasSutun_String.equalsIgnoreCase("b")) {
				tasSutun = 1;
			} else if(tasSutun_String.equalsIgnoreCase("c")) {
				tasSutun = 2;
			} else if(tasSutun_String.equalsIgnoreCase("d")) {
				tasSutun = 3;
			} else if(tasSutun_String.equalsIgnoreCase("e")) {
				tasSutun = 4;
			} else if(tasSutun_String.equalsIgnoreCase("f")) {
				tasSutun = 5;
			} else if(tasSutun_String.equalsIgnoreCase("g")) {
				tasSutun = 6;
			} else if(tasSutun_String.equalsIgnoreCase("h")) {
				tasSutun = 7;
			} else {
				dogruHamle = false;
			}
			
			//taş satır
			String tasSatir_String = hamle.substring(1,2);
			
			if(tasSatir_String.equalsIgnoreCase("8")) {
				tasSatir = 0;
			} else if(tasSatir_String.equalsIgnoreCase("7")) {
				tasSatir = 1;
			} else if(tasSatir_String.equalsIgnoreCase("6")) {
				tasSatir = 2;
			} else if(tasSatir_String.equalsIgnoreCase("5")) {
				tasSatir = 3;
			} else if(tasSatir_String.equalsIgnoreCase("4")) {
				tasSatir = 4;
			} else if(tasSatir_String.equalsIgnoreCase("3")) {
				tasSatir = 5;
			} else if(tasSatir_String.equalsIgnoreCase("2")) {
				tasSatir = 6;
			} else if(tasSatir_String.equalsIgnoreCase("1")) {
				tasSatir = 7;
			} else {
				dogruHamle = false;
			}

			if(T[tasSatir][tasSutun] == '0') {
				dogruHamle = false;
			}
			
			if(turn.equalsIgnoreCase("Beyaz")) {
				Character beyaz = T[tasSatir][tasSutun];
				if(beyaz.hashCode()<91) {
					dogruHamle = false;
				}
			} else {
				Character siyah = T[tasSatir][tasSutun];
				if(siyah.hashCode()>91) {
					dogruHamle = false;
				}
			}
			
			//hedef sütun 
			String hedefSutun_String = hamle.substring(3,4);
			
			if(hedefSutun_String.equalsIgnoreCase("a")) {
				hedefSutun = 0;
			} else if(hedefSutun_String.equalsIgnoreCase("b")) {
				hedefSutun = 1;			
			} else if(hedefSutun_String.equalsIgnoreCase("c")) {
				hedefSutun = 2;
			} else if(hedefSutun_String.equalsIgnoreCase("d")) {
				hedefSutun = 3;
			} else if(hedefSutun_String.equalsIgnoreCase("e")) {
				hedefSutun = 4;
			} else if(hedefSutun_String.equalsIgnoreCase("f")) {
				hedefSutun = 5;
			} else if(hedefSutun_String.equalsIgnoreCase("g")) {
				hedefSutun = 6;
			} else if(hedefSutun_String.equalsIgnoreCase("h")) {
				hedefSutun = 7;
			} else {
				dogruHamle = false;
			}
			
			//hedef satır
			String hedefSatir_String = hamle.substring(4,5);
			
			if(hedefSatir_String.equalsIgnoreCase("8")) {
				hedefSatir = 0;
			} else if(hedefSatir_String.equalsIgnoreCase("7")) {
				hedefSatir = 1;
			} else if(hedefSatir_String.equalsIgnoreCase("6")) {
				hedefSatir = 2;
			} else if(hedefSatir_String.equalsIgnoreCase("5")) {
				hedefSatir = 3;
			} else if(hedefSatir_String.equalsIgnoreCase("4")) {
				hedefSatir = 4;
			} else if(hedefSatir_String.equalsIgnoreCase("3")) {
				hedefSatir = 5;
			} else if(hedefSatir_String.equalsIgnoreCase("2")) {
				hedefSatir = 6;
			} else if(hedefSatir_String.equalsIgnoreCase("1")) {
				hedefSatir = 7;
			} else {
				dogruHamle = false;
			}
			
		
			
			if(hamle.length()>6) {
				//-- PROMOTE
				if((hedefSatir == 0)||(hedefSatir==7)) { 
					promoteIsmi = hamle.substring(6,hamle.length());
				}
			}
			
			Character tas = T[tasSatir][tasSutun];
			Character hedef = T[hedefSatir][hedefSutun];
			if(tas.hashCode()>91 && (hedef.hashCode()<91 && hedef.hashCode()>55)) {
				// System.out.println("Taş ye");
				tasYe = true;
			} else if((tas.hashCode()<91 && tas.hashCode()>55) && hedef.hashCode()>91) {
				// System.out.println("Taş ye");
				tasYe = true;
			}		
			
			if(dogruHamle == false) {
				if(hamle.equalsIgnoreCase("longlivelinux!")) {
					System.out.println("çok yaşa!");
				} else {
					System.out.println("Hatalı hamle");
				}
				System.out.println(turn+"ın hamlesi: " );
				hamleOku();			
			}
			
			
			
		} while(dogruHamle == false);
		
	} //-- hamle oku burada bitti.

	

	//-- taşı oynatıcak metod.
	public void tasOyna() {
		do {
			
			gecerliHamle = true;
			if(T[tasSatir][tasSutun] == 'v') { //beyaz vezir
				if(bVez.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bVez.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'v';
				} else {
					gecerliHamle = false;
				}
				
			} else if(T[tasSatir][tasSutun] == 'V') { //siyah Vezir
				
				if(sVez.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sVez.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'V';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'S') { //siyah Sah
				
				if(sVez.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sSah.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'S';					
				} else {
					gecerliHamle = false;
				}
			}else if(T[tasSatir][tasSutun] == 's') { //beyaz Sah
				
				if(sVez.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bSah.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 's';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'k') { //beyaz Kale
				
				if(bKale.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bKale.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'k';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'K') { //siyah Kale
				
				if(sKale.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sKale.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'K';					
				} else {
					gecerliHamle = false;
				}
				
			} else if(T[tasSatir][tasSutun] == 'l') { //beyaz Kale2			
				if(bKale2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bKale2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'l';					
				} else {
					gecerliHamle = false;
				}
				
			} else if(T[tasSatir][tasSutun] == 'L') { //siyah Kale2		
				if(sKale2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sKale2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'L';					
				} else {
					gecerliHamle = false;
				}
				
			} else if(T[tasSatir][tasSutun] == 'F') { //siyah Fil
				if(sFil.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sFil.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'F';					
				} else {
					gecerliHamle = false;
				}
				
			} else if(T[tasSatir][tasSutun] == 'I') { //siyah Fil2	
				if(sFil2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sFil2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'I';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'f') { //beyaz Fil
				if(bFil.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bFil.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'f';					
				} else {
					gecerliHamle = false;
				}
				
			} else if(T[tasSatir][tasSutun] == 'i') { //beyaz Fil2	
				if(bFil2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bFil2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'i';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 't') { //beyaz At	
				if(bAt.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bAt.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 't';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'T') { //siyah At	
				if(sAt.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sAt.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'T';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'u') { //beyaz At2	
				if(bAt2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bAt2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'u';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'U') { //siyah At2	
				if(sAt2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					sAt2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'U';					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'p') { //beyaz Piyon1
				if(bp1.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp1.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'p';
					if(hedefSatir == 0) {
						if(bp1.promoted != true) {
							bp1.setTasIsim(promoteIsmi);
							bp1.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'r') { //beyaz Piyon2	
				if(bp2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'r';
					if(hedefSatir == 0) {
						if(bp2.promoted != true) {
							bp2.setTasIsim(promoteIsmi);
							bp2.promoteEt(promoteIsmi);
						}
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'q') { //beyaz Piyon3
				if(bp3.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp3.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'q';
					if(hedefSatir == 0) {
						if(bp3.promoted != true) {
							bp3.setTasIsim(promoteIsmi);
							bp3.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'w') { //beyaz Piyon4
				if(bp4.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp4.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'w';
					if(hedefSatir == 0) {
						if(bp4.promoted != true) {
							bp4.setTasIsim(promoteIsmi);
							bp4.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'y') { //beyaz Piyon5
				if(bp5.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp5.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'y';
					if(hedefSatir == 0) {
						if(bp5.promoted != true) {
							bp5.setTasIsim(promoteIsmi);
							bp5.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'z') { //beyaz Piyon6
				if(bp6.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp6.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'z';
					if(hedefSatir == 0) {
						if(bp6.promoted != true) {
							bp6.setTasIsim(promoteIsmi);
							bp6.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'e') { //beyaz Piyon7
				if(bp7.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp7.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'e';
					if(hedefSatir == 0) {
						if(bp7.promoted != true) {
							bp7.setTasIsim(promoteIsmi);
							bp7.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'g') { //beyaz Piyon8
				if(bp8.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir,hedefSutun);
					bp8.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'g';
					if(hedefSatir == 0) {
						if(bp8.promoted != true) {
							bp8.setTasIsim(promoteIsmi);
							bp8.promoteEt(promoteIsmi);
						}
					} 

				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'P') { //siyah Piyon1
				if(sp1.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp1.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'P';					
					if(hedefSatir == 7) {
						if(sp1.promoted != true) {
							sp1.setTasIsim(promoteIsmi);
							sp1.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'R') { //siyah Piyon2
				if(sp2.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp2.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'R';					
					if(hedefSatir == 7) {
						if(sp2.promoted != true) {
							sp2.setTasIsim(promoteIsmi);
							sp2.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'Q') { //siyah Piyon3
				if(sp3.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp3.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'Q';					
					if(hedefSatir == 7) {
						if(sp3.promoted != true) {
							sp3.setTasIsim(promoteIsmi);
							sp3.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'W') { //siyah Piyon4
				if(sp4.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp4.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'W';					
					if(hedefSatir == 7) {
						if(sp4.promoted != true) {
							sp4.setTasIsim(promoteIsmi);
							sp4.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'Y') { //siyah Piyon5
				if(sp5.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp5.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'Y';					
					if(hedefSatir == 7) {
						if(sp5.promoted != true) {
							sp5.setTasIsim(promoteIsmi);
							sp5.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'Z') { //siyah Piyon6
				if(sp6.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp6.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'Z';					
					if(hedefSatir == 7) {
						if(sp6.promoted != true) {
							sp6.setTasIsim(promoteIsmi);
							sp6.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'E') { //siyah Piyon7
				if(sp7.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp7.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'E';					
					if(hedefSatir == 7) {
						if(sp7.promoted != true) {
							sp7.setTasIsim(promoteIsmi);
							sp7.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			} else if(T[tasSatir][tasSutun] == 'G') { //siyah Piyon8
				if(sp8.checkMove(T, hedefSatir, hedefSutun) == true) {
					if(tasYe==true) tasYe(hedefSatir, hedefSutun);
					sp8.setPosition(hedefSatir, hedefSutun);
					T[hedefSatir][hedefSutun] = 'G';					
					if(hedefSatir == 7) {
						if(sp8.promoted != true) {
							sp8.setTasIsim(promoteIsmi);
							sp8.promoteEt(promoteIsmi);
						}						
					} 					
				} else {
					gecerliHamle = false;
				}
			}
			
			//-- HAMLELERİN GEÇERLİLİĞİNİ KONTROL ETME BİTTİ

			
			if((tasYe==true)&&(gecerliHamle==false)) {
				//-#! debug System.out.println("ordan o taşı yiyemessin öyle!");
				tasYe=false;
			} 
			
			if(gecerliHamle == false) {
				System.out.println("Yanlış hamle girdiniz");
				displayTahta();	
				step();
			}
			
			
		} while(gecerliHamle = false);
	}
	
	//-- Array'i ayarlıyor
	public void updateArray() {
		for(int i = 0; i<SATIR; i++) {
			for(int j = 0; j<HARFLER; j++) {
				T[i][j] = '0';
				if(sSah.alive==true) T[sSah.konumSatir][sSah.konumSutun] = sSah.isim;
				if(bSah.alive==true) T[bSah.konumSatir][bSah.konumSutun] = bSah.isim;
				if(sVez.alive==true) T[sVez.konumSatir][sVez.konumSutun] = sVez.isim;
				if(bVez.alive==true) T[bVez.konumSatir][bVez.konumSutun] = bVez.isim;				
				if(sKale.alive==true) T[sKale.konumSatir][sKale.konumSutun] = sKale.isim;
				if(bKale.alive==true) T[bKale.konumSatir][bKale.konumSutun] = bKale.isim;
				if(sKale2.alive==true) T[sKale2.konumSatir][sKale2.konumSutun] = sKale2.isim;
				if(bKale2.alive==true) T[bKale2.konumSatir][bKale2.konumSutun] = bKale2.isim;
				if(sFil.alive==true) T[sFil.konumSatir][sFil.konumSutun] = sFil.isim;
				if(sFil2.alive==true) T[sFil2.konumSatir][sFil2.konumSutun] = sFil2.isim;
				if(bFil.alive==true) T[bFil.konumSatir][bFil.konumSutun] = bFil.isim;
				if(bFil2.alive==true) T[bFil2.konumSatir][bFil2.konumSutun] = bFil2.isim;
				if(bAt.alive==true) T[bAt.konumSatir][bAt.konumSutun] = bAt.isim;
				if(sAt.alive==true) T[sAt.konumSatir][sAt.konumSutun] = sAt.isim;
				if(bAt2.alive==true) T[bAt2.konumSatir][bAt2.konumSutun] = bAt2.isim;
				if(sAt2.alive==true) T[sAt2.konumSatir][sAt2.konumSutun] = sAt2.isim;
				
				if(bp1.alive==true) T[bp1.konumSatir][bp1.konumSutun] = bp1.isim;
				if(bp2.alive==true) T[bp2.konumSatir][bp2.konumSutun] = bp2.isim;
				if(bp3.alive==true) T[bp3.konumSatir][bp3.konumSutun] = bp3.isim;
				if(bp4.alive==true) T[bp4.konumSatir][bp4.konumSutun] = bp4.isim;
				if(bp5.alive==true) T[bp5.konumSatir][bp5.konumSutun] = bp5.isim;
				if(bp6.alive==true) T[bp6.konumSatir][bp6.konumSutun] = bp6.isim;
				if(bp7.alive==true) T[bp7.konumSatir][bp7.konumSutun] = bp7.isim;
				if(bp8.alive==true) T[bp8.konumSatir][bp8.konumSutun] = bp8.isim;

				if(sp1.alive==true) T[sp1.konumSatir][sp1.konumSutun] = sp1.isim;
				if(sp2.alive==true) T[sp2.konumSatir][sp2.konumSutun] = sp2.isim;
				if(sp3.alive==true) T[sp3.konumSatir][sp3.konumSutun] = sp3.isim;
				if(sp4.alive==true) T[sp4.konumSatir][sp4.konumSutun] = sp4.isim;
				if(sp5.alive==true) T[sp5.konumSatir][sp5.konumSutun] = sp5.isim;
				if(sp6.alive==true) T[sp6.konumSatir][sp6.konumSutun] = sp6.isim;
				if(sp7.alive==true) T[sp7.konumSatir][sp7.konumSutun] = sp7.isim;
				if(sp8.alive==true) T[sp8.konumSatir][sp8.konumSutun] = sp8.isim;
				//-#! debug System.out.print(T[i][j]+" ");
			}
			//-#! debug System.out.println(" ");
			
		}
	}

	

	
	// sıra belirliyor
	String turn = "Beyaz";
	public String changeTurn() {
		if (turn.equals("Beyaz")) {
			turn = "Siyah";
		} else {
			turn = "Beyaz";
		}
		return turn;
	}
	
	public void cheatOn() {
		if(turn.equalsIgnoreCase("beyaz")) {
			bp1.setTasIsim("vezir");
			bp2.setTasIsim("vezir");
			bp3.setTasIsim("vezir");
			bp4.setTasIsim("vezir");
			bp5.setTasIsim("vezir");
			bp6.setTasIsim("vezir");
			bp7.setTasIsim("vezir");
			bp8.setTasIsim("vezir");
		} else {
			sp1.setTasIsim("vezir");
			sp2.setTasIsim("vezir");
			sp3.setTasIsim("vezir");
			sp4.setTasIsim("vezir");
			sp5.setTasIsim("vezir");
			sp6.setTasIsim("vezir");
			sp7.setTasIsim("vezir");
			sp8.setTasIsim("vezir");
		}
		
		cleanTahta();
		displayTahta();
	}
	
	public void tasYe(int hSa, int hSu) {
			
			if(T[hSa][hSu]=='K') { //siyah kale
				sKale.alive = false;
			} else if(T[hSa][hSu]=='L') { //siyah kale2
				sKale2.alive = false;
			} else if(T[hSa][hSu]=='k') { //beyaz kale
				bKale.alive = false;
			} else if(T[hSa][hSu]=='l') { //beyaz kale2
				bKale2.alive = false;
			} else if(T[hSa][hSu]=='V') { //siyah vezir
				sVez.alive = false;
			} else if(T[hSa][hSu]=='v') { //beyaz vezir
				bVez.alive = false;
			} else if(T[hSa][hSu]=='S') { //siyah sah
				sSah.alive = false;
			} else if(T[hSa][hSu]=='s') { //beyaz sah
				bSah.alive = false;
			} else if(T[hSa][hSu]=='f') { //beyaz fil1
				bFil.alive = false;
			} else if(T[hSa][hSu]=='i') { //beyaz fil2
				bFil2.alive = false;
			} else if(T[hSa][hSu]=='F') { //siyah fil1
				sFil.alive = false;
			} else if(T[hSa][hSu]=='I') { //siyah fil2
				sFil2.alive = false;
			} else if(T[hSa][hSu]=='t') { //beyaz at
				bAt.alive = false;
			} else if(T[hSa][hSu]=='T') { //siyah at
				sAt.alive = false;
			} else if(T[hSa][hSu]=='u') { //beyaz at2
				bAt2.alive = false;
			} else if(T[hSa][hSu]=='U') { //siyah at2
				sAt2.alive = false;
			} else if(T[hSa][hSu]=='p') { //beyaz piyon1
				bp1.alive = false;
			} else if(T[hSa][hSu]=='r') { //beyaz piyon2
				bp2.alive = false;
			} else if(T[hSa][hSu]=='q') { //beyaz piyon3
				bp3.alive = false;
			} else if(T[hSa][hSu]=='w') { //beyaz piyon4
				bp4.alive = false;
			} else if(T[hSa][hSu]=='y') { //beyaz piyon5
				bp5.alive = false;
			} else if(T[hSa][hSu]=='z') { //beyaz piyon6
				bp6.alive = false;
			} else if(T[hSa][hSu]=='e') { //beyaz piyon7
				bp7.alive = false;
			} else if(T[hSa][hSu]=='g') { //beyaz piyon8
				bp8.alive = false;
			} else if(T[hSa][hSu]=='P') { //siyah piyon1
				sp1.alive = false;
			} else if(T[hSa][hSu]=='R') { //siyah piyon2
				sp2.alive = false;
			} else if(T[hSa][hSu]=='Q') { //siyah piyon3
				sp3.alive = false;
			} else if(T[hSa][hSu]=='W') { //siyah piyon4
				sp4.alive = false;
			} else if(T[hSa][hSu]=='Y') { //siyah piyon5
				sp5.alive = false;
			} else if(T[hSa][hSu]=='Z') { //siyah piyon6
				sp6.alive = false;
			} else if(T[hSa][hSu]=='E') { //siyah piyon7
				sp7.alive = false;
			} else if(T[hSa][hSu]=='G') { //siyah piyon8
				sp8.alive = false;
			}
			
		//-#! debug System.out.println("Yedim! ");
	}
	
	//-- Tahtaya taşları çiziyor
	public void displayTahta() {
		if(gecerliHamle==false) cleanTahta();
		
		if(sSah.alive==true) board.putIcon(sSah.konumSatir, sSah.konumSutun, "sah", 's');		
		if(bSah.alive==true) board.putIcon(bSah.konumSatir, bSah.konumSutun, "sah", 'b');		 
		if(sVez.alive==true) board.putIcon(sVez.konumSatir, sVez.konumSutun, "vezir", 's');		
		if(bVez.alive==true) board.putIcon(bVez.konumSatir, bVez.konumSutun, "vezir", 'b');
		if(sKale.alive==true) board.putIcon(sKale.konumSatir, sKale.konumSutun, "kale", 's');
		if(sKale2.alive==true) board.putIcon(sKale2.konumSatir, sKale2.konumSutun, "kale", 's');
		if(bKale.alive==true) board.putIcon(bKale.konumSatir, bKale.konumSutun, "kale", 'b');
		if(bKale2.alive==true)board.putIcon(bKale2.konumSatir, bKale2.konumSutun, "kale", 'b');	
		if(sFil.alive==true) board.putIcon(sFil.konumSatir, sFil.konumSutun, "fil", 's');
		if(sFil2.alive==true)board.putIcon(sFil2.konumSatir, sFil2.konumSutun, "fil", 's');			
		if(bFil.alive==true) board.putIcon(bFil.konumSatir, bFil.konumSutun, "fil", 'b');
		if(bFil2.alive==true)board.putIcon(bFil2.konumSatir, bFil2.konumSutun, "fil", 'b');
		if(bAt.alive==true)board.putIcon(bAt.konumSatir, bAt.konumSutun, "at", 'b');
		if(sAt.alive==true)board.putIcon(sAt.konumSatir, sAt.konumSutun, "at", 's');
		if(bAt2.alive==true)board.putIcon(bAt2.konumSatir, bAt2.konumSutun, "at", 'b');
		if(sAt2.alive==true)board.putIcon(sAt2.konumSatir, sAt2.konumSutun, "at", 's');
		
		if(bp1.alive==true) board.putIcon(bp1.konumSatir, bp1.konumSutun, bp1.getTasIsim(), 'b');
		if(bp2.alive==true) board.putIcon(bp2.konumSatir, bp2.konumSutun, bp2.getTasIsim(), 'b');
		if(bp3.alive==true) board.putIcon(bp3.konumSatir, bp3.konumSutun, bp3.getTasIsim(), 'b');
		if(bp4.alive==true) board.putIcon(bp4.konumSatir, bp4.konumSutun, bp4.getTasIsim(), 'b');
		if(bp5.alive==true) board.putIcon(bp5.konumSatir, bp5.konumSutun, bp5.getTasIsim(), 'b');
		if(bp6.alive==true) board.putIcon(bp6.konumSatir, bp6.konumSutun, bp6.getTasIsim(), 'b');
		if(bp7.alive==true) board.putIcon(bp7.konumSatir, bp7.konumSutun, bp7.getTasIsim(), 'b');
		if(bp8.alive==true) board.putIcon(bp8.konumSatir, bp8.konumSutun, bp8.getTasIsim(), 'b');

		if(sp1.alive==true) board.putIcon(sp1.konumSatir, sp1.konumSutun, sp1.getTasIsim(), 's');
		if(sp2.alive==true) board.putIcon(sp2.konumSatir, sp2.konumSutun, sp2.getTasIsim(), 's');
		if(sp3.alive==true) board.putIcon(sp3.konumSatir, sp3.konumSutun, sp3.getTasIsim(), 's');
		if(sp4.alive==true) board.putIcon(sp4.konumSatir, sp4.konumSutun, sp4.getTasIsim(), 's');
		if(sp5.alive==true) board.putIcon(sp5.konumSatir, sp5.konumSutun, sp5.getTasIsim(), 's');
		if(sp6.alive==true) board.putIcon(sp6.konumSatir, sp6.konumSutun, sp6.getTasIsim(), 's');
		if(sp7.alive==true) board.putIcon(sp7.konumSatir, sp7.konumSutun, sp7.getTasIsim(), 's');
		if(sp8.alive==true) board.putIcon(sp8.konumSatir, sp8.konumSutun, sp8.getTasIsim(), 's');
	}
	
	//-- Tahtadaki taşları siliyor
	public void cleanTahta() {	
		board.removeIcon(sSah.konumSatir, sSah.konumSutun, "sah", 's');
		board.removeIcon(bSah.konumSatir, bSah.konumSutun, "sah", 'b');
		board.removeIcon(sVez.konumSatir, sVez.konumSutun, "vezir", 's');
		board.removeIcon(bVez.konumSatir, bVez.konumSutun, "vezir", 'b');
		board.removeIcon(sKale.konumSatir, sKale.konumSutun, "kale", 's');
		board.removeIcon(bKale.konumSatir, bKale.konumSutun, "kale", 'b');
		board.removeIcon(sKale2.konumSatir, sKale2.konumSutun, "kale", 's');
		board.removeIcon(bKale2.konumSatir, bKale2.konumSutun, "kale", 'b');
		board.removeIcon(sFil.konumSatir, sFil.konumSutun, "fil", 's');
		board.removeIcon(sFil2.konumSatir, sFil2.konumSutun, "fil", 's');
		board.removeIcon(bFil.konumSatir, bFil.konumSutun, "fil", 'b');
		board.removeIcon(bFil2.konumSatir, bFil2.konumSutun, "fil", 'b');
		board.removeIcon(bAt.konumSatir, bAt.konumSutun, "at", 'b');
		board.removeIcon(sAt.konumSatir, sAt.konumSutun, "at", 's');
		board.removeIcon(bAt2.konumSatir, bAt2.konumSutun, "at", 'b');
		board.removeIcon(sAt2.konumSatir, sAt2.konumSutun, "at", 's');
		
		
		board.removeIcon(bp1.konumSatir, bp1.konumSutun, "piyon", 'b');
		board.removeIcon(bp2.konumSatir, bp2.konumSutun, "piyon", 'b');
		board.removeIcon(bp3.konumSatir, bp3.konumSutun, "piyon", 'b');
		board.removeIcon(bp4.konumSatir, bp4.konumSutun, "piyon", 'b');
		board.removeIcon(bp5.konumSatir, bp5.konumSutun, "piyon", 'b');
		board.removeIcon(bp6.konumSatir, bp6.konumSutun, "piyon", 'b');
		board.removeIcon(bp7.konumSatir, bp7.konumSutun, "piyon", 'b');
		board.removeIcon(bp8.konumSatir, bp8.konumSutun, "piyon", 'b');
		
		board.removeIcon(sp1.konumSatir, sp1.konumSutun, "piyon", 's');
		board.removeIcon(sp2.konumSatir, sp2.konumSutun, "piyon", 's');
		board.removeIcon(sp3.konumSatir, sp3.konumSutun, "piyon", 's');
		board.removeIcon(sp4.konumSatir, sp4.konumSutun, "piyon", 's');
		board.removeIcon(sp5.konumSatir, sp5.konumSutun, "piyon", 's');
		board.removeIcon(sp6.konumSatir, sp6.konumSutun, "piyon", 's');
		board.removeIcon(sp7.konumSatir, sp7.konumSutun, "piyon", 's');
		board.removeIcon(sp8.konumSatir, sp8.konumSutun, "piyon", 's');
	}
	
	public void step() {	
		System.out.print(turn + "ın hamlesi: ");				
		hamleOku();
		cleanTahta();
		tasOyna();		
		displayTahta();		
	}
	
}
