我做了一个控制台版的“移动的小人”
c++编译器均能编译
#include#include using namespace std; long long x, y, y_x, y_y; void color(int c) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c); return; } void ycgb() { CONSOLE_CURSOR_INFO cursor; cursor.bVisible = FALSE; cursor.dwSize = sizeof(cursor); HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorInfo(handle, &cursor); return; } void ydgb(long long h, long long l) { COORD pos = { l,h }; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut, pos); return; } int main() { system("mode con cols=100 lines=40"); color(240); ycgb(); system("cls"); y_x = x = 20, y_y = y = 50; while (1) { ydgb(x - 2, y); cout << 'o'; y_x = x; y_y = y; if (GetKeyState('A') < 0 && y > 0) { y--; } if (GetKeyState('D') < 0 && y < 99) { y++; } if (GetKeyState('W') < 0 && x > 2) { x--; } if (GetKeyState('S') < 0 && x < 41) { x++; } Sleep(30); ydgb(y_x - 2, y_y); cout << " "; } return 0; }



