c语言到底如何从键盘上接受指令并让屏幕上的东西移动呢? 比如说
按w让屏幕上的小点向上移动按s让屏幕上的小点向下移动按a让屏幕上的小点向左移动按d让屏幕上的小点向右移动》》》》》》》》》》》》怎么样才能用vc实现呢(注:不要用coor...
按w让屏幕上的小点向上移动
按s让屏幕上的小点向下移动
按a让屏幕上的小点向左移动
按d让屏幕上的小点向右移动
》》》》》》》》》》》》
怎么样才能用vc实现呢(注:不要用coord这个,最好用switch等判断语句,最好能有一段代码并附有说明)
谢谢哦 谁能教教我 展开
按s让屏幕上的小点向下移动
按a让屏幕上的小点向左移动
按d让屏幕上的小点向右移动
》》》》》》》》》》》》
怎么样才能用vc实现呢(注:不要用coord这个,最好用switch等判断语句,最好能有一段代码并附有说明)
谢谢哦 谁能教教我 展开
展开全部
啊,大家都是同道中人,同病相怜啊
比如一个推箱子游戏,这是我写的啊,看一下部分代码你就知道了
direction=getch();
if(direction=='a')
{
else if((qipan[x][y-1]!='#')&&(qipan[x][y-2]!='#'))
{
if(qipan[x][y-1]=='@')
qipan[x][y-2]=qipan[x][y-1];
qipan[x][y-1]=qipan[x][y];
qipan[x][y]=' ';
y-=1;
}
}
这一段代码就是显示当你按下a时,就会向上走一格
direction=getch();
这一句呢要包含在 #include<conio.h>的头文件里,就是从键盘上获得一个键位值什么的,如果是用上下左右控制,就得是
getch();
direction=getch();
这是为神马?具体你查一下conio.h的头文件就知道了
然后移动就用数组实现就可以,当然,你移动后可能会出现两张地图的情况,就要用到windows.h 头文件里的
system("cls");
这个函数,意思是刷屏,然后就自己弄吧………………
我也是刚开始学C,不足之处还请指教
比如一个推箱子游戏,这是我写的啊,看一下部分代码你就知道了
direction=getch();
if(direction=='a')
{
else if((qipan[x][y-1]!='#')&&(qipan[x][y-2]!='#'))
{
if(qipan[x][y-1]=='@')
qipan[x][y-2]=qipan[x][y-1];
qipan[x][y-1]=qipan[x][y];
qipan[x][y]=' ';
y-=1;
}
}
这一段代码就是显示当你按下a时,就会向上走一格
direction=getch();
这一句呢要包含在 #include<conio.h>的头文件里,就是从键盘上获得一个键位值什么的,如果是用上下左右控制,就得是
getch();
direction=getch();
这是为神马?具体你查一下conio.h的头文件就知道了
然后移动就用数组实现就可以,当然,你移动后可能会出现两张地图的情况,就要用到windows.h 头文件里的
system("cls");
这个函数,意思是刷屏,然后就自己弄吧………………
我也是刚开始学C,不足之处还请指教
展开全部
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
int x=0,y=0,i;
char cmd; // 接受输入
putchar('.'); // 一个小点
while(1)
{
cmd=getch(); // 不带回显的接受输入
if(cmd=='q') break; // 输入wasd,输入q退出
switch(cmd){
case 'w': (x>0?--x:x);break;
case 's': x++;break;
case 'a': (y>0 ? --y:y);break;
case 'd': ++y;break;
default:break;
}
system("cls"); // 清屏
for(i=0;i<x;i++) printf("\n");
for(i=0;i<y;i++) printf(" ");
putchar('.'); // 输出
}
}
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
int x=0,y=0,i;
char cmd; // 接受输入
putchar('.'); // 一个小点
while(1)
{
cmd=getch(); // 不带回显的接受输入
if(cmd=='q') break; // 输入wasd,输入q退出
switch(cmd){
case 'w': (x>0?--x:x);break;
case 's': x++;break;
case 'a': (y>0 ? --y:y);break;
case 'd': ++y;break;
default:break;
}
system("cls"); // 清屏
for(i=0;i<x;i++) printf("\n");
for(i=0;i<y;i++) printf(" ");
putchar('.'); // 输出
}
}
追问
果然能行 那么想要让他自己能够向某一个方向移动直到接收到了改变方向的键盘指令 该怎么样实现呢 另外 高手能加一下你的qq吗
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询