package szereplo;
import jatek.*;
public class SzilardMozgoSzereplo extends MozgoSzereplo {

    public void bal(int[][] terkep) {
        if(balSzabad(terkep)) super.bal(terkep);
    }
    public void fel(int[][] terkep) {
        if(felSzabad(terkep)) super.fel(terkep);
    }
    public void jobb(int[][] terkep) {
        if(jobbSzabad(terkep)) super.jobb(terkep);
    }
    public void le(int[][] terkep) {
        if(leSzabad(terkep)) super.le(terkep);
    }
    public boolean balSzabad(int[][] terkep) {
        if(terkep[x-1][y]==Utveszto.FAL) return false;
        return true;
    }
    public boolean felSzabad(int[][] terkep) {
        if(terkep[x][y-1]==Utveszto.FAL) return false;
        return true;
    }
    public boolean jobbSzabad(int[][] terkep) {
        if(terkep[x+1][y]==Utveszto.FAL) return false;
        return true;
    }
    public boolean leSzabad(int[][] terkep) {
        if(terkep[x][y+1]==Utveszto.FAL) return false;
        return true;
    }
    public boolean eloreSzabad(int[][] terkep) {
        switch (irany) {
            case 0: if (balSzabad(terkep)) return true; break;
            case 1: if (felSzabad(terkep)) return true; break;
            case 2: if (jobbSzabad(terkep)) return true; break;
            case 3: if (leSzabad(terkep)) return true; break;
        }
        return false;
    }
    public boolean jobbraSzabad(int[][] terkep) {
        SzilardMozgoSzereplo nez=new SzilardMozgoSzereplo(this);
        nez.jobbra();
        if (nez.eloreSzabad(terkep)) return true;
        return false;
    }
    public boolean balraSzabad(int[][] terkep) {
        SzilardMozgoSzereplo nez=new SzilardMozgoSzereplo(this);
        nez.balra();
        if (nez.eloreSzabad(terkep)) return true;
        return false;
    }
    public SzilardMozgoSzereplo(SzilardMozgoSzereplo sms) {
        super(sms);
    }
    public SzilardMozgoSzereplo(int szint) {
        x=(int)(Math.random()*(szint-2))*2+4;
        y=(int)(Math.random()*(szint-2))*2+4;
        irany=(int)(Math.random()*4);
        lepes=0;
    }
}
