private void VirarParaEsquerda() { switch (DirecaoAtual) { case eDirecao.Norte: { DirecaoAtual = eDirecao.Oeste; break; } case eDirecao.Oeste: { DirecaoAtual = eDirecao.Sul; break; } case eDirecao.Sul: { DirecaoAtual = eDirecao.Leste; break; } case eDirecao.Leste: { DirecaoAtual = eDirecao.Norte; break; } default: break; } }
static void Setup() { Direcao = eDirecao.Direita; Heigth = 25; Width = 25; GameOver = false; Pontos = 3; Aleatorio = new Random(); Cabeca = new Cell(ConsoleColor.Green, (Width / 2), (Heigth / 2)); Fruta = new Cell(ConsoleColor.Red, Aleatorio.Next(1, Width), Aleatorio.Next(1, Heigth)); Corpo = new List <Cell>(); }
static void tTeclas() { while (!GameOver) { switch (Console.ReadKey().Key) { case ConsoleKey.UpArrow: if (Direcao != eDirecao.Baixo) { Direcao = eDirecao.Cima; } break; case ConsoleKey.DownArrow: if (Direcao != eDirecao.Cima) { Direcao = eDirecao.Baixo; } break; case ConsoleKey.LeftArrow: if (Direcao != eDirecao.Direita) { Direcao = eDirecao.Esquerda; } break; case ConsoleKey.RightArrow: if (Direcao != eDirecao.Esquerda) { Direcao = eDirecao.Direita; } break; default: break; } } }
public void IniciarPercurso(PosicaoXY posicaoInicial, eDirecao direcaoAtual) { try { if (posicaoInicial == null) { throw new Exception("É necessário informar a posição inicial da sonda."); } if (posicaoInicial.X > Planalto.PosicaoX() || posicaoInicial.Y > Planalto.PosicaoY()) { throw new Exception("Posição fora do planalto"); } PosicaoAtual = posicaoInicial; DirecaoAtual = direcaoAtual; } catch (Exception ex) { throw; } }