Gra Snake problem

0

Ucze się C# i aby lepiej przyswoić wiedze pisze gre w Snake'a mam tylko jeden problem. Nie wiem jak zrobic aby wąż cały czas się poruszal i nie czekał na wcisnięty klawisz w którą strona ma skręcać. Ma ktoś może pomysł jak to zrobic??

0

Jakbyś wrzucił kawałek kodu, to byłoby łatwiej...

0
bool napisał(a)

Ma ktoś może pomysł jak to zrobic??

Użyć pętli.

0
 public void Action(Snake sk)
        {
            ConsoleKeyInfo cki;
            int move=2;
            int x, y;
            x = sk[0].GetCoordinate.x;
            y = sk[0].GetCoordinate.y;
            cki = Console.ReadKey(true);
            if (cki.Key == ConsoleKey.UpArrow)
            {
                x--;
                move = sk.MoveUp(DisplayBoard[x, y]);
            }
            else if (cki.Key == ConsoleKey.DownArrow)
            {
                x++;
                move = sk.MoveDown(DisplayBoard[x, y]);
            }
            else if (cki.Key == ConsoleKey.LeftArrow)
            {
                y--;
                move = sk.MoveLeft(DisplayBoard[x, y]);
            }
            else if (cki.Key == ConsoleKey.RightArrow)
            {
                y++;
                move = sk.MoveRight(DisplayBoard[x, y]);
            }

            try
            {
                if (move == 1)
                {
                    this.SetSnake(sk);
                }
                if (move == 0)
                {
                    this.SetSnake(sk);
                }
                if (move == -1)
                {

                }
                else
                {
                    this.SetSnake(sk);
                }
            }
           
        }
W main mam w petli
while (true)
            {
                br.Action(sk);
                br.PrintBoard();
            }
1
cki = Console.ReadKey(true);
...ify

Oto yest zuo! Popraw na

if (Console.KeyAvailable) 
{cki = Console.ReadKey(true);
...ify}

Btw. Mam nadzieję że masz szybki refleks? :D
(zrozumiesz jak uruchomisz :] )

1
  1. Czym się różni to rozwiązanie od mojego? 0_o Dokładnie tą samą funkcję podałem...

  2. Trzeba było poszukać wcześniej a nie pisać na forum :P

0

ja na laborce (1,5h) musialem kiedys napisac weza w oparciu o kontrolki panel, do tego kazdy segment musial miec nieco inny odcien, tak ze caly waz sprawial wrazenie gradientowanego :) przy uzyciu timera
oczywiscie jedzonko i cala logika byla

ale polecam sprobuj porobic sobie laborki z tej stronki http://www.mini.pw.edu.pl/~mossakow/courses/pwsw2/index.html
laborki sa tak pomyslane zeby zmusily do przecwiczenia odpowiednich elementow/funkcji .net
niektore latwe nie sa, ale walcz :)

0

Dzieki za przykłady. Jestes z MiNI?

0

juz na szczescie czas przeszly jest bardziej stosowny :)
ale, tak, konczylem ten wydzial

1 użytkowników online, w tym zalogowanych: 0, gości: 1