C语言怎么做推箱子的移动
按WASD移动人物怎么做?用C语言以一个2维数组做地图,按WASD键进行数组的改变,比如://1是墙,2是人,3是箱,4是洞,9是空白intamap1[5][5]={{1...
按WASD移动人物怎么做?
用C语言
以一个2维数组做地图,按WASD键进行数组的改变,比如:
//1是墙,2是人,3是箱,4是洞,9是空白
int amap1[5][5]={
{1,1,1,1,1},
{1,2,1,1,1},
{1,3,3,4,1},
{1,4,1,1,1},
{1,1,1,1,1},
};要达到按S,2会下移,2原来的位置变成9, 展开
用C语言
以一个2维数组做地图,按WASD键进行数组的改变,比如:
//1是墙,2是人,3是箱,4是洞,9是空白
int amap1[5][5]={
{1,1,1,1,1},
{1,2,1,1,1},
{1,3,3,4,1},
{1,4,1,1,1},
{1,1,1,1,1},
};要达到按S,2会下移,2原来的位置变成9, 展开
2个回答
展开全部
#include "stdio.h"
#include <conio.h>
#include "Windows.h"
void gotoxy(int x, int y) {
system("cls");
COORD cr;
cr.X = x;
cr.Y = y;
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(handle, cr);
printf("*");
}
int main() {
static int x = 10, y = 10;
gotoxy(x, y);
char c;
while(1) {
c = getch();
switch(c) {
case 'w':
case 'W':
y--;
gotoxy(x, y);
break;
case 'a':
case 'A':
x--;
gotoxy(x, y);
break;
case 's':
case 'S':
y++;
gotoxy(x, y);
break;
case 'd':
case 'D':
x++;
gotoxy(x, y);
break;
default:
break;
}
}
}
我只是给你举个简单的例子,你应该能明白这个程序了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询