Exemplo n.º 1
0
        public static void Main()
        {
            Console.Title = "Labirinto";

            personagem   personagem1 = new personagem();
            cenarioJogo  cenario     = new cenarioJogo();
            SistemaGeral sg          = new SistemaGeral();

            cenario.atualizarTela();
            while (true)
            {
                personagem1.controlarPersonagem();
                sg.setVenceu(personagem1.LocalizacaoXPersonagem, personagem1.LocalizacaoYPersonagem);
            }
        }
        private void moverPersonagemNoAmbiente(int movimentoX, int movimentoY)
        {
            cenarioJogo interacaoCenario = new cenarioJogo();

            int cenarioX = interacaoCenario.Ambiente.GetLength(0);
            int cenarioY = interacaoCenario.Ambiente.GetLength(1);

            char[,] frame = new char[cenarioX, cenarioY];

            interacaoCenario.desenharAmbiente(frame, interacaoCenario.Preenchimento);
            mudarPersonagemDeLugar(frame, interacaoCenario, movimentoX, movimentoY);

            interacaoCenario.Ambiente = frame;
            Console.Clear();
            interacaoCenario.atualizarTela();
        }
        private void mudarPersonagemDeLugar(char[,] frame, cenarioJogo interacaoCenario, int movimentoX, int movimentoY)
        {
            localizacaoXPersonagem += movimentoX;
            localizacaoYPersonagem += movimentoY;

            try
            {
                if (frame[localizacaoXPersonagem, localizacaoYPersonagem] == interacaoCenario.Preenchimento)
                {
                    throw new Exception();
                }
                frame[localizacaoXPersonagem, localizacaoYPersonagem] = visualPersonagem;
            }
            catch
            {
                localizacaoXPersonagem -= movimentoX;
                localizacaoYPersonagem -= movimentoY;
                frame[localizacaoXPersonagem, localizacaoYPersonagem] = visualPersonagem;
            }
        }