《计算机技术基础(c语言)课程设计--小虫子挖隧道》由会员分享,可在线阅读,更多相关《计算机技术基础(c语言)课程设计--小虫子挖隧道(11页珍藏版)》请在金锄头文库上搜索。
1、计算机技术基础课程设计计算机技术基础课程设计C C 语言语言设计报告题目:小题目:小虫子挖隧道虫子挖隧道一、选题背景:一、选题背景:1 1、问题提出:通过 c 语言的学习和对程序设计的兴趣,使我很想设计一个小程序,使自己对程序设计有更深的认识,来充实一下这学期的学习。2 2、在这个程序中应用了 c 语言中的一些基本知识,来运行出一个应用方向键的小程序。二、设计思路:二、设计思路:1 1、 练习进行图形的界面处理,通过语句 include将库函数引出,通过 init( )函数初始化图形系统,编写相应的的功能函数完成大嘴巴的效果,通过循环响应 。2 2、在实现过程中,通过调用虫子嘴巴函数和四个方向
2、移动函数,可以看到在设计的背景颜色下以张着大嘴巴挖出隧道移动。3 3、主要应用如下:pieslice 绘制并填充一个扇形setfillstye 设置填充模式和颜色#include 文件包含初始化图形系统for 循环initgraph 初始化图形系统closegraph 关闭初始化图形系统setbkcolor 设计背景颜色putpixel 在指定位置画一像素真真假假开始initgroundfor i=1putpixeli+i#include #include #include #define maxx 640#define maxy 480#define minx 0#define miny 0
3、#define midx 0#define midy 0#define r 15main()int i,x,y;char c; /*定义变量*/init(); /*调用图形初始化函数*/ground(); /*调用画土地函数*/x=320;y=240;dazuir(x,y,13); /*调用画虫子函数*/c= ;while(c!=015)c=getch();switch(c)caseM:dazui(x,y,13); /*调用合上嘴巴函数*/delay(2000); /*延迟 2000 毫秒*/dazui(x,y,0); /*调用合上嘴巴函数*/x=x+15; /*嘴巴前进*/delay(100
4、0); /*延迟 1000 毫秒*/dazuir(x,y,13); /*调用向右嘴巴函数*/break;caseH:dazui(x,y,13); /*调用合上嘴巴函数*/delay(2000); /*延迟 2000 毫秒*/dazui(x,y,0); /*调用合上嘴巴函数*/y=y-15; /*移动嘴巴位置*/delay(1000); /*延迟 1000 毫秒*/dazuit(x,y,13); /*调用向上嘴巴函数*/break;caseK:dazui(x,y,13); /*调用合上嘴巴函数*/delay(2000); /*延迟 2000 毫秒*/dazui(x,y,0); /*调用合上嘴巴函
5、数*/x=x-15; /*移动嘴巴位置*/delay(1000); /*延迟 1000 毫秒*/dazuil(x,y,13); /*调用向左嘴巴函数*/break;caseP:dazui(x,y,13); /*调用合上嘴巴函数*/delay(2000); /*延迟 2000 毫秒*/dazui(x,y,0); /*调用合上嘴巴函数*/y=y+15; /*移动嘴巴位置*/delay(1000); /*延迟 1000 毫秒*/dazuib(x,y,13); /*调用向下嘴巴函数*/break;default :;init() /*定义初始化图形系统函数*/int gdriver=DETECT;in
6、t gmobe;initgraph( /*初始化图象系统*/setbkcolor(0); /*定义背景为黑色*/return;ground() /*画绿地函数*/int i,rx,ry;for(i=1;i=2000;i+) /*循环系统语句*/putpixel(rand()%maxx,rand()%maxy,2); /*在指定位置画一像素*/for(i=1;i=1000;i+)rx=rand()%maxx;ry=rand()%maxy; /*随机位置画一像素*/putpixel(rx,ry,12);putpixel(rx+1,ry,12);putpixel(rx+1,ry+1,12); /*在
7、三个相邻位置画像素*/for(i=1;i=20000;i+)putpixel(rand()%maxx,rand()%maxy,10); /*在指定位置画一像素*/return;dazui(int x,int y,int lcolor) /*在 x,y 处以 lcolor 色画合上大嘴巴*/setcolor(lcolor); /*设置当前画线颜色*/setfillstyle(1,lcolor); /*设置填充模式和颜色*/pieslice(x,y,0,360,r); /*绘制并填充一个扇形*/setlinestyle(0,0,3); /*设置当前画线宽度和类型*/setcolor(0); /*设
8、置当前画线颜色*/circle(x+4,y-6,2); /*在给定半径以(x,y)为圆心画圆*/return;dazuir(int x,int y,int lcolor) /*在 x,y 处以 lcolor 色向右的大嘴巴*/setcolor(lcolor); /*设置当前画线颜色*/setfillstyle(1,lcolor); /*设置填充模式和颜色*/pieslice(x,y,30,330,r); /*绘制并填充一个扇形*/setlinestyle(0,0,3); /*设置当前画线宽度和类型*/setcolor(0); /*设置当前画线颜色*/circle(x+4,y-6,2); /*在
9、给定半径以(x,y)为圆心画圆*/return;dazuil(int x,int y,int lcolor) /*在 x,y 处以 lcolor 色向左的大嘴巴*/setcolor(lcolor); /*设置当前画线颜色*/setfillstyle(1,lcolor); /*设置填充模式和颜色*/pieslice(x,y,210,360,r); /*绘制并填充一个扇形*/pieslice(x,y,0,150,r); /*绘制并填充一个扇形*/setlinestyle(0,0,3); /*设置当前画线宽度和类型*/setcolor(0); /*设置当前画线颜色*/circle(x-4,y-6,2
10、); /*在给定半径以(x,y)为圆心画圆*/return;dazuit(int x,int y,int lcolor) /*在 x,y 处以 lcolor 色向上的大嘴巴*/setcolor(lcolor); /*设置当前画线颜色*/setfillstyle(1,lcolor); /*设置填充模式和颜色*/pieslice(x,y,120,360,r); /*绘制并填充一个扇形*/pieslice(x,y,0,60,r); /*绘制并填充一个扇形*/setlinestyle(0,0,3); /*设置当前画线宽度和类型*/setcolor(0); /*设置当前画线颜色*/circle(x-7,y-6,2); /*在给定半径以(x,y)为圆心画圆*/return;dazuib(int x,int y,int lcolor) /*在 x,y 处以 lcolor 色向下的大嘴巴*/setcolor(lcolor); /*设置当前画线颜色*/setfillstyle(1,lcolor);