当前位置: 代码迷 >> C语言 >> 用TC编程怎么响应键盘控制
  详细解决方案

用TC编程怎么响应键盘控制

热度:254   发布时间:2004-11-12 16:29:00.0
用TC编程怎么响应键盘控制

我们老师留了一题,题目是这样的:

先生成一个点,然后按键盘上的方向键,列如按->,点向右运动,每按一下,移动一定的步长,最后形成一直线,上下左右方向都可以.

要求在tubro c 2.0环境下编写,我以前用tc都是在dos下输入输出,不知道用什么函数可以响应键盘控制,请高手指点,最好能推荐几本有关这方面的书,小弟不胜感激!

搜索更多相关的解决方案: 键盘  

----------------解决方案--------------------------------------------------------

bioskey();

kbhit();

getch();

getchar();

。。。。。。

太多了


----------------解决方案--------------------------------------------------------

调用画点函数、读取键盘响应,再次在新位置画点,循环~

楼主有兴趣最好自己试一下。


----------------解决方案--------------------------------------------------------
晕~~~有没有人告诉我在VC下的按键响应?!
----------------解决方案--------------------------------------------------------

getch();

足已!


----------------解决方案--------------------------------------------------------

对不起,原题没有说清楚,应该是这样的:

以原来的点为起点,通过键盘操作拉一条直线出来.直线会随着键盘控制而改变位置.


----------------解决方案--------------------------------------------------------
还有 各位大虾能不能介绍的具体一点,列如在哪些书里能找到这方面的资料,用这些函数要包含什么头文件等等,麻烦各位了.
----------------解决方案--------------------------------------------------------

对不起,原题没有说清楚,确切意思是直线形成以后,再次输入方向键,光标移动,到达新点,与最初的点构成直线,并覆盖原来的直线。

现在键盘响应我已经会了,但是现在又出现了一个新问题,在重新绘制直线的时候,老师建议我们用setwritemode(int mode)函数,mode=0 画线时原来的画线信息被覆盖。但是我发现这个函数没有用,我编了一个比较简单的程序来验证,程序如下: #include "stdio.h" #include "graphics.h" #include "conio.h"

void main() { int gd=DETECT,gm=0; initgraph(&gd,&gm,""); line(100,100,200,200);//直线1 setwritemode(0); line(300,300,400,400);//直线2 getch(); closegraph(); exit(0); } 按照函数定义,直线1被覆盖,应该不出现才对,但是事实却相反,能不能告诉我是哪个地方错了,是不是这个函数用的不对,请指正,谢谢!


----------------解决方案--------------------------------------------------------

模式用错,语法有误。

#include "stdio.h" #include "graphics.h" #include "conio.h"

void main() { int gd=DETECT,gm=0,x=0,y=0; initgraph(&gd,&gm,""); setwritemode(1); while(1) { line(100+x,100+y,200+x,200+y); sleep(1); line(100+x,100+y,200+x,200+y); x++,y++;

} closegraph(); exit(0); }


----------------解决方案--------------------------------------------------------
  相关解决方案