Bat. Width, Keys. Up, Keys.Down, 0, ClientSize. Height);
Видно, что пользователь (Игрок 2) перемещает ракетку вверх при помощи клавиши Keys. Up, а вниз – Keys.Down.
По второму режиму игры (Игрок 1 против Компьютера в роли Игрока 2), в методе-конструкторе Form1 комментируем приведённую выше строку и раскомментируем строку:
_player2 = new Bat (pictureBox2, ClientSize. Width – 30 —
Bat. Width, 0, ClientSize. Height);
Теперь Компьютер (в роли Игрока 2) будет перемещать правую ракетку по вертикали снизу вверх и сверху вниз и отбивать ракеткой мяч, чтобы не пропустить его мимо ракетки в правые ворота.
Победителем считается игрок, который за отведённое на игру время большее число раз поразил ворота соперника.
В данной игре также была поставлена и решена математическая задача о перемещении объекта в замкнутом пространстве, сформулированная в предыдущей главе с большим количеством допущений.
1. После запуска игры появляется форма Form1, на клиентской области которой слева находится ракетка Игрока 1, справа – ракетка Игрока 2 (по первому режиму игры) или Компьютера в роли Игрока 2 (по второму режиму игры). Вверху находится табло для подсчёта очков (в виде двух элементов управления Label); в начале игры счёт 0:0, рис. 13.1.
Две ракетки и мяч разработаны на основе элемента управления PictureBox.
Мяч произвольным образом прыгает в пределах 4-х границ формы, отскакивая от границ формы и двух ракеток. После каждого такого отскока мы слышим звук добавленного в проект файла beep. wav. Левая граница формы – это ворота Игрока 1, а правая граница формы – это ворота Игрока 2 (или Компьютера в роли Игрока 2).
Рис. 13.1. Перед началом игры (слева – ракетка Игрока 1, справа – ракетка Игрока 2).
2. В задачу пользователя в роли Игрока 2 (по первому режиму игры, заданному по умолчанию) входит – перемещать правую ракетку по вертикали снизу вверх и сверху вниз таким образом, чтобы отбить мяч и не дать мячу коснуться правой границы формы, так как после каждого такого касания (пропущенного в ворота мяча) Игроку 1 начисляется 1 очко за забитый гол. И Игрок 2, и Компьютер в роли Игрока 2 стараются ракеткой отбить мяч таким образом, чтобы забить его в ворота Игрока 1.
Левая ракетка Игрока 1 старается отбить мяч и не дать мячу коснуться левой границы формы, так как после каждого такого касания (пропущенного в ворота мяча) пользователю в роли Игрока 2 (или Компьютеру в роли Игрока 2) начисляется 1 очко за забитый гол.