package taslar;


public class Fil {
	public boolean alive = true;
	public boolean sonuc;
	public String tasIsim = "kale";
	public char isim;
	public char renk;
	public int konumSatir, konumSutun;
	
	public Fil(char is, char re) {
		this.isim = is;
		this.renk = re;
	}
	
	public void setPosition(int x, int y) {
		this.konumSatir = x;
		this.konumSutun = y;
	}
	
	public boolean checkMove(char[][] T, int x, int y) {
		Character hedefChar = T[x][y];
		sonuc = true;
		if((this.renk == 'b') && (hedefChar.hashCode()>95)) {
			sonuc = false;
		} else if((this.renk == 's') && (hedefChar.hashCode() < 95) && (hedefChar.hashCode()>50)) {
			sonuc = false;
		}
	
		//-- çapraz test için 2 int;
		int a = Math.abs(konumSatir - x);
		int b = Math.abs(konumSutun - y);
		//-- hareket sınırları
		if(a!=b) {
			sonuc = false; //-- bu kısımında fil ile aynı olması lazım) {
		}
		
		//-- sağ alt çapraza kontrol
		if((konumSutun-y)<0 && (konumSatir-x)<0) { 
			for(int i = 1; i<a; i++) {
				if(T[konumSatir+i][konumSutun+i]!='0') {
					sonuc = false;
				}
			}
		}
		//-- sol üst çapraza kontrol
		else if((konumSutun-y)>0 && (konumSatir-x)>0) {
			for(int i = 1; i<a; i++) {
				if(T[konumSatir-i][konumSutun-i]!='0') {
					sonuc = false;
				}
			}
		}

		//-- sağ üst çapraza kontrol
		else if((konumSatir-x)>0 && (konumSutun-y)<0) {
			for(int i = 1; i<a; i++) {
				if(T[konumSatir-i][konumSutun+i]!='0') {
					sonuc = false;
				}
			}
		}

		//-- sol alt çapraza
		else if((konumSatir-x)<0 && (konumSutun-y)>0) {
			for(int i = 1; i<a; i++) {
				if(T[konumSatir+i][konumSutun-i]!='0') {
					sonuc = false;
				}
			}
		}
				
	return sonuc;
	}
	
}
