c语言 木板移动

来源:百度知道 编辑:UC知道 时间:2024/06/14 06:05:27
这是我写的一个程序
#include<stdlib.h>
#include<graphics.h>
#include<dos.h>
main()
{ int graphdrive=DETECT,graphmode;
int x=15,y=258,x2=70,y2=38;
long size;
void *buf;
initgraph(&graphdrive,&graphmode,"e:\\tc30\\BGI");
setcolor(RED);
setfillstyle(SOLID_FILL,BROWN);
size=imagesize(1,1,x2,y2);
buf=malloc(size);
while(x>14&&x<565){
getimage(x,y,x+x2,y+y2,buf);
rectangle(x,y,x+x2,y+y2);
floodfill(x+1,y+1,RED);
delay(100);
putimage(x,y,buf,COPY_PUT);
x=x+10;
}
free(buf);
closegraph();
}
请大家帮我改一下 实现木板循环出现(也就是一列木板)木板之间的间隔在一定范围内随机产生 木板的移动速度可变 并且最左边木板逐渐出现 最右边的一块逐渐消失 用tc30编写 谢谢大家了
就像青蛙过河里的木板一样 显示在屏幕上一次有好几个
自己写 不改我的也行

改了你的。按ESC键结束。 上下箭头调整速度,最大50,最小0,你可自己修改,if(speed<50) if(speed>5).

你要循环,只要当X大于屏幕最大什时,赋值为起始处。
现在给出的是两块木板,要加多加几句就行。

现看下运行结果图。
http://hi.baidu.com/ryw12403/blog/item/99488260acdedc43eaf8f806.html

#include<stdlib.h>
#include<graphics.h>
#include<dos.h>
#include<math.h>

#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b

void my_delay(int clicks)
{
unsigned int far *clock=(unsigned int far *)0x0000046CL;
unsigned int now;
now=*clock;
while(abs(*clock-now)<clicks){}
}

void main(void){
int gd=DETECT,gm;
int x,x1,y,x2,y2,maxx,maxy,flag,k,key,speed;
long size;
void *buf;
initgraph(&gd,&gm,"d:\\tc3\\BGI");

maxx=getmaxx()+1;