codeFlowType:
codeWrite
codeFlowLang:
C++
Передвижение персонажа с помощью клавиш W A S D
Вот простой пример кода на C++, который реализует передвижение персонажа с использованием клавиш W, A, S, D. В данном примере мы используем консольный ввод для обработки нажатий клавиш.
#include <iostream>
#include <conio.h> // Для _kbhit() и _getch()
using namespace std;
struct Position {
int x, y;
};
void displayPosition(const Position& pos) {
cout << "Текущая позиция персонажа: (" << pos.x << ", " << pos.y << ")\n";
}
int main() {
Position player = {0, 0}; // Изначальная позиция персонажа
cout << "Управление персонажем с помощью клавиш W, A, S, D:\n";
cout << "W - вверх, A - влево, S - вниз, D - вправо, Q - выход из игры.\n";
while (true) {
if (_kbhit()) { // Проверяем, была ли нажата клавиша
char ch = _getch(); // Получаем нажатую клавишу
switch (ch) {
case 'w':
case 'W':
player.y++; // Двигаемся вверх
break;
case 'a':
case 'A':
player.x--; // Двигаемся влево
break;
case 's':
case 'S':
player.y--; // Двигаемся вниз
break;
case 'd':
case 'D':
player.x++; // Двигаемся вправо
break;
case 'q':
case 'Q':
cout << "Выход из игры.\n";
return 0; // Выход из программы
}
displayPosition(player); // Показываем текущую позицию
}
}
return 0;
}
Position, в которой хранятся координаты персонажа._kbhit() и _getch(), что позволяет реагировать на нажатие клавиш без ожидания нажатия клавиши Enter.<conio.h>, который не поддерживается в стандартных компиляторах для Linux или macOS.