我做了一个控制台版的“移动的小人”
c++编译器均能编译
#include<iostream>
#include<windows.h>
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;
}
|