#include <bits/stdc++.h>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
首先,需要有合适的头文件
void gotoxy(int x, int y) {
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
}
然后需要有能随便移动到坐标(x,y)的子函数
a=getch();
最后需要知道以上这行代码是能实时获取控制者的指令
以下是完整代码:
#include <bits/stdc++.h>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
using namespace std;
void gotoxy(int x, int y) {
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
}
int main(){
cout<<"可在屏幕上移动"<<endl;
cout<<"上下左右键 控制方向";
_sleep(1000);
system("cls");
int x=5,y=5;
gotoxy(5,5);
cout<<"o";
char a;
while(a=getch()){
if(a==72){
system("cls");
gotoxy(x,y-1);
y--;
cout<<"o";
}else if(a==80){
system("cls");
gotoxy(x,y+1);
y++;
cout<<"o";
}else if(a==75){
system("cls");
gotoxy(x-1,y);
x--;
cout<<"o";
}else if(a==77){
system("cls");
gotoxy(x+1,y);
x++;
cout<<"o";
}
}
return 0;
}