| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:请教高手一道题目
取消只看楼主 加入收藏
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
 问题点数:0 回复次数:3 
请教高手一道题目

怎么样才能绕过墙啊 为什么移动到边框不能继续移动呢? #include <stdio.h> #include <bios.h> #include <conio.h> #define UP 0x4800 #define DOWN 0x5000 #define LEFT 0x4b00 #define RIGHT 0x4d00 void drawMap() { int i,j; char a[21][21]; for(i=0;i<21;i++) { for(j=0;j<21;j++) { if(i==j) a[i][j]='#'; else a[i][j]=' '; printf("%c",a[i][j]); } printf("\n"); } } struct move_point { int x, y;/*该点的位置,包括x坐标和y坐标*/ }man; main() {

int key=0; man.x=12; man.y=24;

do { clrscr(); /*输出一个空格,把先前的字符擦去*/ drawMap(); gotoxy(man.x, man.y);

printf("%c\b", 2); /*输出ASCII码值为2的"笑脸”字符*/

while (bioskey(1) == 0);/*等待按键*/

key = bioskey(0);/*把接收的按键的键盘码赋给变量key*/ switch (key) /*对变量key的值进行判断*/ { case UP: /*如果按的是向上键*/ man.y=man.y-1; break; /*让物体向上运动,并退出switch*/

case DOWN: /*如果按的是向下键*/ man.y=man.y+1; break; /*让物体向下运动,并退出switch*/

case LEFT: /*向左键*/ man.x=man.x-1; break;/*向左运动*/

case RIGHT: /*向右键*/ man.x=man.x+1; break;/*向右运动*/ default: break;/*其他按键则忽略处理*/

} }while(man.x!=man.y); clrscr(); printf("you lost !"); getch(); }

搜索更多相关主题的帖子: define include 
2005-08-30 17:36
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
改成while (1)
为什么移动到边框不能继续移动呢?

2005-08-31 12:21
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
没有高手指点指点吗?

2005-09-01 12:32
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
thanks very much .

2005-09-01 17:52
快速回复:请教高手一道题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016333 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved