Esempio n. 1
0
    public int posAdyacente(int pos, Movimiento.Sentido s, Movimiento.Direccion d)
    {
        int x = Juego.ColumnaDe(pos);
        int y = Juego.FilaDe(pos);

        if (pos < 1 || pos > 32)
        {
            return(0);
        }
        if (s == Movimiento.Sentido.arriba)
        {
            if (d == Movimiento.Direccion.slash)
            {
                return(Juego.XYaPos(x - 1, y + 1));
            }
            if (d == Movimiento.Direccion.backslash)
            {
                return(Juego.XYaPos(x + 1, y + 1));
            }
        }
        if (s == Movimiento.Sentido.abajo)
        {
            if (d == Movimiento.Direccion.slash)
            {
                return(Juego.XYaPos(x + 1, y - 1));
            }
            if (d == Movimiento.Direccion.backslash)
            {
                return(Juego.XYaPos(x - 1, y - 1));
            }
        }
        return(0);
    }
Esempio n. 2
0
 public Movimiento.Sentido opuesto(Movimiento.Sentido s)
 {
     if (s == Movimiento.Sentido.arriba)
     {
         return(Movimiento.Sentido.abajo);
     }
     else
     {
         return(Movimiento.Sentido.arriba);
     }
 }
Esempio n. 3
0
    private void AcomodarSentido()
    {
        int fo = XirguGame.GetInstance().Juego.FilaDe(origen);
        int fd = XirguGame.GetInstance().Juego.FilaDe(destino);

        if (fd < fo)
        {
            this.sent = Sentido.abajo;
        }
        else
        {
            this.sent = Sentido.arriba;
        }
    }
Esempio n. 4
0
 public int PosACazar()
 {
     Movimiento.Sentido sopuesta = opuesto(this.sent);
     return(XirguGame.GetInstance().posAdyacente(this.destino, sopuesta, this.dir));
 }