100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > c语言课程设计雪花飞舞 雪花飞舞--c语言课程设计.doc

c语言课程设计雪花飞舞 雪花飞舞--c语言课程设计.doc

时间:2022-04-02 12:22:08

相关推荐

c语言课程设计雪花飞舞 雪花飞舞--c语言课程设计.doc

雪花飞舞--c语言课程设计

PAGE

计算机技术基础课程设计

C语言

设计报告

题目:雪花飞舞

一、选题背景:

问题的提出:我们在编制各种flash动画设计时,经常会用到风雪的背景,为此编制几个函数对于雪花飞舞的演示,此程序即可做艺术欣赏又可做背景设计。

所以编制这个程序对动画设计有很大的积极意义。

二、设计思想:

雪花飞舞是一个简单的动画背景,没有过多的繁杂景象,思路简单,编程容易。很容易被初学者接受。

在实现过程中,用到了while,for,if-else-if等循环语句。运用结构体。

三、程序流程图

开 始

开 始

调用库函数

调用库函数

定义视频模式函数

定义视频模式函数

定义流星雨雨点的结构体

定义流星雨雨点的结构体

定义雪堆元素点的结构体

定义雪堆元素点的结构体

定义4个for分别为赋结构体元素值

定义4个for分别为赋结构体元素值

主函数开始(main)

主函数开始(main)

设定256色视频模式

设定256色视频模式

调用时间和已定义的4个for函数

调用时间和已定义的4个for函数

W

While(!kbhit)

for语句

for语句

if语句

if语句

if-else-if 语句

if-else-if 语句

结束

结束

四、程序清单:

#include #include #include #include #include #include #include #include #include #include #include #define VGA256 0x13 #define TEXT_MODE 0x03

int n,i=0; unsigned char far *video_buffer=(char far *)0xA0000000L; void Set_Video_Mode(int mode)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*视频模式函数*/ { ? ? union REGS inregs,outregs; ? ? inregs.h.ah=0; ? ? inregs.h.al=(unsigned char)mode; ? ? int86(0x10,&inregs,&outregs); } struct Blizzard? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*流星雨雨点的结构体*/ { int SORT; int x; int y; };

struct Blizzard num[300];

struct Stack_Pixel? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*雪堆元素点的结构体*/ {

int x; int y;

};

struct Stack_Pixel Num[300]; void Plot_Pixel_Fast(int x,int y,char color) /*雪花的颜色为白色*/{ video_buffer[((y<<8)+(y<<6))+x]=color; } void data_initialization()? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? /*以下4个for分别为赋结构体元素值*/

{

for(n=0;n<=299;n=n+1)

{

num[n].x=random(640);

num[n].y=random(480);

}

for(n=0;n<=99;n=n+1)

{

num[n].SORT=1;

}

for(n=100;n<=199;n=n+1)

{

num[n].SORT=2;

}

for(n=200;n<=299;n=n+1)

{

num[n].SORT=3;

}

} void main() { Set_Video_Mode(VGA256);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*设定256色图形模式*/ srand(time(NULL)); data_initialization();

while(!kbhit()) ? ? ? { ? ? ?

for(n=0;n<300;n++) ? ? ?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。