Как поправить программу — змейка?

Всем привет.
Прочитав книгу, решил повторить проект - программа змейка, только на c#. Делаю по этому уроку https://itproger.com/course/cpp-snake . Почему не работает такая конструкция?

Объявлено так:
public enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN };
   public eDirection dir;


Вызываю так:
static void Input()
        {
            if (Console.KeyAvailable)
            {
                var keyInfo = Console.ReadKey();
                switch (keyInfo.KeyChar)
                {
                    case 'a':
                        dir = LEFT;
                        break;
                    case 'd':
                        dir = RIGHT;
                        break;
                    case 'w':
                        dir = UP;
                        break;
                    case 's':
                        dir = DOWN;
                    case 'x':
                        gameOver = true;
                        break;
                }
            }

        }


Получаю ошибку:
Severity Code Description Project File Line Suppression State
Error CS0120 An object reference is required for the non-static field, method, or property 'Program.dir'

Как поправить?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
ayazer
@ayazer
Sr. Software Engineer
1) статический метод не может изменять локальную переменную. переменная тогда тоже должна быть статической
2)
dir = LEFT;
->
dir = eDirection .LEFT;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы