예제 #1
0
        private bool checkTieWithOtherPlayer(Position posicionActual, Player player)
        {
            if (posicionActual.row == player.Trayectoria.LastOrDefault().row && posicionActual.column == player.Trayectoria.LastOrDefault().column)
            {
                return true;
            }

            return false;
        }
예제 #2
0
        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;
        }
예제 #3
0
        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;
        }
예제 #4
0
        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);
        }