Ir ao conteúdo

Posts recomendados

Postado

  boa tarde ,  gostaria de usar o joystick para controlar os movimentos dessa lacraia  de um jogo de teste no console do C Sharp ,  agradeço quem puder me ajudar nessa tarefa :nesse código bem simples .:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace LAcraIA_15
{
    internal class Program
    {

        static void Main(string[] args)
        {
            ConsoleKeyInfo a;
            Random rand = new Random();
            int[] vet = { 20, 5, 21, 5, 22, 5, 23, 5, 24, 5, 25, 5, 26, 5, 27, 5 };
            int Tam = vet.Length;
            int L = vet[15];
            int C = vet[14];
            int p = 1;
            int v = 0;
            int dir = 0;
            int m = 0; // não moveu
            Console.CursorVisible = false; // Hide the cursor
            Console.BackgroundColor = ConsoleColor.White;
            Console.Clear(); // Limpa a tela do console
            do
            {
                // Console.Clear(); // Limpa a tela do console
                Console.SetCursorPosition(C, L);
                Console.WriteLine(" ");
                if (p == 0) // p "passos" andados
                {
                    v = rand.Next(100);
                    p = 8;
                }
                p--;
                if (v < 13 && dir != 4 && vet[1] > 1)
                {
                    vet[1] -= 1; // lina pc
                    dir = 0;
                    m = 1;
                }
                else
                {
                    if (v < 25 && dir != 5 && vet[1] > 1 && vet[0] > 1)
                    {
                        vet[1] -= 1; // linha pc
                        vet[0] -= 1; // coluna pE
                        dir = 1;
                        m = 1;
                    }
                    else
                    {
                        if (v < 38 && dir != 6 && vet[0] > 1)
                        {
                            vet[0] -= 1; // coluna pE
                            dir = 2;
                            m = 1;
                        }
                        else
                        {
                            if (v < 51 && dir != 7 && vet[1] < 30 && vet[0] > 1)
                            {
                                vet[1] += 1; // linha pB
                                vet[0] -= 1; // coluna pE
                                dir = 3;
                                m = 1;
                            }
                            else
                            {
                                if (v < 63 && dir != 8 && vet[1] < 30)
                                {
                                    vet[1] += 1; // linha pB
                                    dir = 4;
                                    m = 1;
                                }
                                else
                                {
                                    if (v < 75 && dir != 1 && vet[1] < 30 && vet[0] < 118)
                                    {
                                        vet[1] += 1; // linha pB
                                        vet[0] += 1; // coluna pD
                                        dir = 5;
                                        m = 1;
                                    }
                                    else
                                    {
                                        if (v < 87 && dir != 2 && vet[0] < 118)
                                        {
                                            vet[0] += 1; // coluna pD
                                            dir = 6;
                                            m = 1;
                                        }
                                        else
                                        {
                                            if (dir != 3 && vet[1] > 1 && vet[0] < 118)
                                            {
                                                vet[1] -= 1; // linha pc
                                                vet[0] += 1; // coluna pD
                                                dir = 7;
                                                m = 1;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if (m == 1) // moveu cabeça Delete o Rabo
                {
                    L = vet[15];
                    C = vet[14];
                    for (int f = Tam - 2; f >= 0; f -= 2)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.SetCursorPosition(vet[f], vet[f + 1]);// fora de faixa na tela
                        Console.Write("#");
                        Console.ForegroundColor = ConsoleColor.Black;
                        if (f > 1) Console.Write("\b#");
                        if (f > 1)
                        {
                            vet[f + 0] = vet[f - 2]; // ColunA
                            vet[f + 1] = vet[f - 1]; // LinhA
                        }
                    }
                    m = 0;
                    Thread.Sleep(20);
                }
                if (Console.KeyAvailable) // semelhante ao kbhit() da conio.h do c/c+
                {
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.Gray;
                    var key = Console.ReadKey(intercept: true).Key; // semelhante ao getch() da conio.h do C / C++
                    Console.WriteLine($"Você pressionou: {key} ( " + (int)key + " )");
                    if (key == ConsoleKey.Escape)
                    {
                        Console.WriteLine("\n\nSaindo Do Programa  . . . !\n\n\n");
                        Environment.Exit(0);
                    }
                }
            } while (Tam != 0);
        }
    }
}

 

 

lacraaia.jpg.2b1bcfad565246c0355b9b97d9a5baef.jpg

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...