Example #1
0
    private void AcomodarDireccion()
    {
        int co = XirguGame.GetInstance().Juego.ColumnaDe(origen);
        int cd = XirguGame.GetInstance().Juego.ColumnaDe(destino);

        if (cd < co)
        {
            if (sent == Movimiento.Sentido.arriba)
            {
                this.dir = Direccion.slash;
            }
            else
            {
                this.dir = Direccion.backslash;
            }
        }
        if (cd >= co)
        {
            if (sent == Movimiento.Sentido.arriba)
            {
                this.dir = Direccion.backslash;
            }
            else
            {
                this.dir = Direccion.slash;
            }
        }
    }
Example #2
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);
    }
Example #3
0
 public Movimiento.Direccion opuesto(Movimiento.Direccion d)
 {
     if (d == Movimiento.Direccion.slash)
     {
         return(Movimiento.Direccion.backslash);
     }
     else
     {
         return(Movimiento.Direccion.slash);
     }
 }