private bool checkTieWithOtherPlayer(Position posicionActual, Player player) { if (posicionActual.row == player.Trayectoria.LastOrDefault().row && posicionActual.column == player.Trayectoria.LastOrDefault().column) { return true; } return false; }
private bool checkCollisionWithOtherPlayerTrayectory(Position posicionActual, Player player) { foreach (Position posicionAnterior in player.Trayectoria) { if (posicionAnterior.row == posicionActual.row && posicionAnterior.column == posicionActual.column) { return true; } } return false; }
private bool checkRepeatedPositionInPlayer(Position posicionActual, Player player) { for (int i = 0; i < player.Trayectoria.Count - 1; i++) { if (player.Trayectoria[i].row == posicionActual.row && player.Trayectoria[i].column == posicionActual.column) { return true; } } return false; }
public void setDirection(Command command, Player player) { Position lastvalue = player.Trayectoria.Last(); Position coordenada = new Position { row = lastvalue.row, column = lastvalue.column }; switch (command.Direction) { case "arriba": coordenada.row = coordenada.row != 0 ? coordenada.row - 1 : (Table.GetLength(0)-1); break; case "abajo": coordenada.row = coordenada.row != (Table.GetLength(0)-1) ? coordenada.row + 1 : 0; break; case "derecha": coordenada.column = coordenada.column != (Table.GetLength(1)-1) ? coordenada.column + 1 : 0; break; case "izquierda": coordenada.column = coordenada.column != 0 ? coordenada.column - 1 : (Table.GetLength(1) - 1); break; } player.Trayectoria.Add(coordenada); }