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); }
public Movimiento.Sentido opuesto(Movimiento.Sentido s) { if (s == Movimiento.Sentido.arriba) { return(Movimiento.Sentido.abajo); } else { return(Movimiento.Sentido.arriba); } }
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; } }
public int PosACazar() { Movimiento.Sentido sopuesta = opuesto(this.sent); return(XirguGame.GetInstance().posAdyacente(this.destino, sopuesta, this.dir)); }