⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第3题_运动图像程序.txt

📁 C语言课程设计:案例精选与编程指导(东南大学出版社
💻 TXT
字号:

#include"stdio.h"

#include"graphics.h"
#include"dos.h"
void main()


    {
    int gd=DETECT,i=0,j,k=0;
    initgraph(&gd,&gd,"\\tc\\bgi");
    while(!kbhit())/*不按键返回0 */


        {
	for( j=0;j<2;j++)


            	{
		 for(i=0;i<500;i+=5)


                	{
                	setcolor(RED);

                	line(118+i,65+j*300,160+i,65+j*300);
                	line(120+i,70+j*300,160+i,70+j*300);

                	line(60+i,100+j*300,220+i,100+j*300);

                	line(200+i,100+j*300,160+i,70+j*300);
                	line(205+i,100+j*300,160+i,65+j*300);

                	line(80+i,100+j*300,120+i,70+j*300);
                	line(75+i,100+j*300,118+i,65+j*300);
                	setfillstyle(SOLID_FILL,RED);
                	floodfill(77+i,99+j*300,RED);

                	line(135+i,70+j*300,135+i,100+j*300);
                	line(145+i,70+j*300,145+i,100+j*300);
                	setfillstyle(SOLID_FILL,RED);
                	floodfill(137+i,75+j*300,RED);

                	setfillstyle(SOLID_FILL,WHITE);
                	floodfill(130+i,75+j*300,RED);
                	setfillstyle(SOLID_FILL,WHITE);
                	floodfill(150+i,75+j*300,RED);
                	/*rectangle(left,top,right,bottom); */
                /*	rectangle(80+i,90+j*300,100+i,110+j*300);
                */
                	line(150+i,90+j*300,160+i,80+j*300);
                	line(154+i,90+j*300,164+i,80+j*300);
                	line(158+i,90+j*300,168+i,80+j*300);
                	line(110+i,90+j*300,120+i,80+j*300);
                	line(114+i,90+j*300,124+i,80+j*300);
                	line(118+i,90+j*300,128+i,80+j*300);

                	line(20+i,140+j*300,260+i,140+j*300);
			/* arc(midx, midy, stangle, endangle, radius); */
                	arc(200+i,140+j*300,0,177,25);
                	arc(80+i,140+j*300,0,177,25);
                	arc(60+i,140+j*300,90,178,40);
                	arc(220+i,140+j*300,0,90,40);

                	setfillstyle(SOLID_FILL,RED);
                	floodfill(100+i,110+j*300,RED);
                	/*边框黑色*/
                	setcolor(0);
                	line(139+i,70+j*300,139+i,220+j*300);
                	line(140+i,70+j*300,140+i,220+j*300);
                	line(141+i,70+j*300,141+i,220+j*300);
                	setcolor(RED);
                	/*车灯*/
                	setcolor(YELLOW);
                	circle(250+i,130+j*300,5);
                	line(253+i,125+j*300,312+i,113+j*300);
                	line(253+i,135+j*300,310+i,143+j*300);
                	arc(315+i,128+j*300,250,100,15);
                	/*EMPTY_FILL,SOLID_FILL,LINE_FILL,LTSLASH_FILL,SLASH_FILL,
                	BKSLASH_FILL,LTBKSLASH_FILL,HATCH_FILL,XHATCH_FILL,
                	INTERLEAVE_FILL,WIDE_DOT_FILL,CLOSE_DOT_FILL,*/
                	setfillstyle(LTBKSLASH_FILL,YELLOW);
                	floodfill(280+i,130+j*300,YELLOW);
                	/*排气管 */
                	rectangle(15+i,137+j*300,20+i,140+j*300);
                	setcolor(BROWN);
                	circle(15+i-k,135+j*300,k);
                	setfillstyle(INTERLEAVE_FILL,BROWN);
                	floodfill(15+i-k,135+j*300,BROWN);
                	if(k>20)
                	 k=2;
                	else
                	 k+=5;
                	setfillstyle(SOLID_FILL,15);
                	floodfill(190+i,120+j*300,RED);
                	floodfill(80+i,120+j*300,RED);
                	/*轮胎*/
                	setcolor(DARKGRAY);
                	circle(200+i,140+j*300,18);
                	circle(80+i,140+j*300,18);
                	setfillstyle(SOLID_FILL,DARKGRAY);
                	floodfill(190+i,140+j*300,DARKGRAY);
                	floodfill(80+i,140+j*300,DARKGRAY);
                	setcolor(RED);
                	circle(200+i,140+j*300,10);
                	circle(80+i,140+j*300,10);
                	setfillstyle(SOLID_FILL,RED);
                	floodfill(205+i,140+j*300,RED);
                	floodfill(85+i,140+j*300,RED);
                	clearviewport();/*清除窗口信息*/
                	if(kbhit()) break;
                	}
                	}
            }
            closegraph();
        }
/*******************************************/
模拟小球碰撞
#include<graphics.h>
#include<stdlib.h>
main()
{
    int i,gdriver,gmode, size;
    void *buf;
    gdriver=DETECT;
    initgraph(&gdriver,&gmode,"");
    setbkcolor(BLUE);
    cleardevice(); /*清除屏幕*/
    setcolor(LIGHTRED);
    setlinestyle(0,0,1);
    setfillstyle(1,10);
    circle(100,200,30);
    floodfill(100,200,12);
    size=imagesize(69,169,131,231);/*返回存储屏幕所需的字节数*/
    buf=malloc(size); /*动态分配内存空间*/
    getimage(69,169,131,231,buf); /*保存指定位置的小球图*/
    putimage(500,169,buf,COPY_PUT);/*在另一位置上复制小球*/
    while(!kbhit())
    {
    for(i=0;i<185;i++)
    {  delay(400);/*延迟时间,使运动变慢*/
       putimage(70+i,170,buf,COPY_PUT); /*左边球右移 */
       putimage(500-i,170,buf,COPY_PUT);/*右边球左移*/
    }
    for(i=0;i<185;i++)
    {
       delay(400);
       putimage(255-i,170,buf,COPY_PUT);
       putimage(315+i,170,buf,COPY_PUT);
    }
    }
    getch();
    closegraph();
}
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -