当前位置: 代码迷 >> C语言 >> [原创]各位能帮我看看程序错在哪里吗,帮个忙,谢谢
  详细解决方案

[原创]各位能帮我看看程序错在哪里吗,帮个忙,谢谢

热度:210   发布时间:2005-06-02 15:00:00.0
[原创]各位能帮我看看程序错在哪里吗,帮个忙,谢谢
/* 小球的弹动 */ #include<graphics.h> #include<stdio.h> #include<dos.h> #define ESC 0x11b0 #define R 8

out() { int key; key=bioskey(0); if(key==ESC) exit(0); }

void main(void)

{ int minx=40; int miny=40; int maxx=400; int maxy=400; int x,y; int cx,cy; int addx=1,addy=-1; x=(minx+maxx)/2; y=(miny+maxy)/2; int driver,mode; driver=DETECT; initgraph(&driver,&mode,""); rectangle(40,40,400,400);

while(1) { cx=x,cy=y; x=x+addx,y=addy+y; if(x<=minx+R+1||x>=maxx-R-1) addx=-addx; if(y<=miny+R+1||y>=maxy-R-1) addy=-addy; setcolor(BLACK); circle(cx,cy,R); delay(600); setcolor(WHITE); circle(x,y,R); if(bioskey(1)) out(); } } 我就是不懂错在哪里,希望各位能帮下我,我是初学的菜鸟


----------------解决方案--------------------------------------------------------
以下是引用cpjs在2005-6-2 15:00:58的发言: /* 小球的弹动 */ #include<graphics.h> #include<stdio.h> #include<dos.h> #define ESC 0x11b0 #define R 8

out() { int key; key=bioskey(0); if(key==ESC) exit(0); }

void main(void)

{ int minx=40; int miny=40; int maxx=400; int maxy=400; int x,y; int cx,cy; int addx=1,addy=-1; int driver,mode;//驱动变量和模式变量应该开始定义 x=(minx+maxx)/2; y=(miny+maxy)/2; driver=DETECT; initgraph(&driver,&mode,"");

while(1) {cleardevice(); rectangle(40,40,400,400); cx=x,cy=y; x=x+addx,y=addy+y; if(x<=minx+R+1||x>=maxx-R-1) addx=-addx; if(y<=miny+R+1||y>=maxy-R-1) addy=-addy; setcolor(BLACK); circle(cx,cy,R); delay(600); setcolor(WHITE); circle(x,y,R); if(bioskey(1)) out(); } } 我就是不懂错在哪里,希望各位能帮下我,我是初学的菜鸟

帮你修改好了,但是会一直闪!


----------------解决方案--------------------------------------------------------
PS:你的退出键不起作用,在程序最后最好再加一句closegraph();退出图形模式。
----------------解决方案--------------------------------------------------------
啊   哥哥  谢谢了
----------------解决方案--------------------------------------------------------
  相关解决方案