Как обработать нажатие кнопки на клавиатуре - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Пытаюсь написать игру ханойские башни Механика игры: над штырями бегает квадратик (объект класса Arrow, класс Arrow, класс Arrow в свою очередь унаследован от класса Control), текущее положение квадратика определяет текущий штырь. По нажатию кнопок вправо/влево на клавиатуре квадратик должен "перепрыгивать" в другое положение. Он, как ни странно не перепрыгивает, иначе я не обратился бы к вам. Помогите найти ошибку. Вот код класса Arrow и связанный с ним код в форме
class Arrow:Control
    {
        int currentpos;
        Point [] pos = new Point [3];
        
        public Arrow()
        {
            Meth();
            this.Width = 7;
            this.Height = 7;
            this.BackColor = Color.Navy;
            this.Location = pos[2];
        }
        public void NextPos()
        {
            currentpos++;
            currentpos = currentpos % 3;
            this.Location = pos[currentpos];
        }
        public void PrevPos()
        {
            currentpos--;
            currentpos = currentpos % 3;
            this.Location = pos[currentpos];
        }
        public void Meth()
        {
            pos[0] = new Point(100, 50);
            pos[1] = new Point(300, 50);
            pos[2] = new Point(500, 50);
        }
    }
public partial class Form1 : Form
    {
        Arrow a = new Arrow();
private void Form1_Load(object sender, EventArgs e)
        {
            this.Controls.Add(a);
            a.Show();
        }
private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Right)
            {
                a.NextPos();
            }
            if (e.KeyCode == Keys.Left)
            {
                a.PrevPos();
            }
        }
}

Решение задачи: «Как обработать нажатие кнопки на клавиатуре»

textual
Листинг программы
currentpos++;
currentpos = currentpos % 3;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы