主题:课设,随便给我个长代码就可以,不胜感激!
aojita
[专家分:0] 发布于 2007-07-08 19:26:00
能不能帮助我一下,我实在找不到合适的课题了。[em7]
我的号码278261910,谢谢!
3 楼
mileden [专家分:920] 发布于 2007-07-08 23:29:00
TC 下运行的:
用异或实现赛车动画
本程序所有的物体,均通过画图函数描绘,可以通过改变相应的参数,改变物体的形状。
#include "stdio.h"
#include "graphics.h"
static int u=0;
static int x=1;
static int j=-21;
static int i;
void road() //画赛车道路
{
int h;
for(h=0;h<4;h++)
line(150+h*100,0,150+h*100,472);
for(h=0;h<3;h++)
{
setlinestyle(3,0,1);
line(200+h*100,0,200+h*100,472);
settextstyle(1,HORIZ_DIR,3);
}
}
void tree() //画路旁的树
{
int w;
int poly[14];
setcolor(10);
for(w=-3;w<3;w+=2)
{
line(85,-25+u*15+w*157,85,35+u*15+w*157);
line(95,-25+u*15+w*157,95,35+u*15+w*157);
line(105,-25+u*15+w*157,105,35+u*15+w*157);
line(115,-25+u*15+w*157,115,36+u*15+w*157);
line(75,-9+u*15+w*157,75,19+u*15+w*157);
line(125,-9+u*15+w*157,125,19+u*15+w*157);
}
for(w=-2;w<3;w+=2)
{
poly[0]=530;
poly[1]=u*15+w*157;
poly[2]=515;
poly[3]=25+u*15+w*157;
poly[4]=485;
poly[5]=25+u*15+w*157;
poly[6]=470;
poly[7]=u*15+w*157;
poly[8]=485;
poly[9]=-25+u*15+w*157;
poly[10]=515;
poly[11]=-25+u*15+w*157;
poly[12]=poly[0];
poly[13]=poly[1];
drawpoly(7,poly);
}
}
void buses() //画作为参照物的车
{
i=2;
setlinestyle(SOLID_LINE,0,3);
do{
if((x!=7)&&(x!=16)&&(x!=23))
setcolor(x);
else
setcolor(2);
rectangle(170+i*100,j*10,230+i*100,60+j*10);
rectangle(160+i*100,70+j*10,240+i*100,260+j*10);
line(180+i*100,70+j*10,180+i*100,260+j*10);
line(200+i*100,70+j*10,200+i*100,260+j*10);
line(220+i*100,70+j*10,220+i*100,260+j*10);
tree();
delay(55000); //延时,以具体机的器性能而定
if((x!=7)&&(x!=16)&&(x!=23))
setcolor(x);
else
setcolor(2);
rectangle(170+i*100,j*10,230+i*100,60+j*10);
rectangle(160+i*100,70+j*10,240+i*100,260+j*10);
line(180+i*100,70+j*10,180+i*100,260+j*10);
line(200+i*100,70+j*10,200+i*100,260+j*10);
line(220+i*100,70+j*10,220+i*100,260+j*10);
tree();
u++;
j++;
}while((j<=47)&&(u<=62));
}
void car() //画赛车
{
setcolor(BLUE);
setlinestyle(SOLID_LINE,0,3);
rectangle(280,350,320,390);
rectangle(270,340,330,350);
rectangle(290,320,310,340);
rectangle(270,390,330,400);
setcolor(5);
line(290,350,290,390);
line(300,300,300,320);
line(300,350,300,390);
line(310,350,310,390);
line(285,200,315,300);
setcolor(BLUE);
}
void main()
{
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"");
setbkcolor(7);
setcolor(WHITE);
setwritemode(XOR_PUT); //异或模式
road();
car();
buses();
closegraph();
}