资源描述:
《C语言实训小球碰撞游戏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、小球碰撞游戏程序的运行与调试一、实训目的通过本实例,主要目的是让学生掌握以下知识点:1、在C语言中如何绘制常见图形,绘图函数的使用。2、如何实现图形动画。3、如何处理按键响应。4、游戏算法的实现。二、功能描述本程序实现的游戏规则如下:游戏者通过键盘上的LEFT键和RIGH键控制屏幕下方的一个黄色矩形框左右移动,拦截向下运动的小球,小球碰到矩形上边的不同部位,会以不同的角度反弹。运动的小球碰到上边缘、左边缘、右边缘、和9个固定位置的小球都会发生碰撞反弹。如果运动的小球将屏幕上9个固定位置的小球全部
2、打掉,则玩家获胜;如果小球掉出下边缘,则玩家失败,游戏结束。三、编程参考1、程序中使用的库函数说明(1)图形模式的初始化与退出在未设置图形模式之前,微机系统默认屏幕为文本模式(80列,25行字符模式),此时所有图形函数均不能工作。设置屏幕为图形模式,可用下列图形初始化函数:voidfarinitgraph(intfar*gdriver,intfar*gmode,char*path);其中gdriver和gmode分别表示图形驱动器和模式,path是指图形驱动程序所在的目录路径。图形驱动程序由Tu
3、rboC出版商提供,文件扩展名为.BGI。根据不同的图形适配器有不同的图形驱动程序。例如对于EGA、VGA图形适配器就调用驱动程序EGAVGA.BGI,所以PATH对应的实参应为文件EGAVGA.BGI的实际路径名。voidfarclosegraph(void);该函数用于退出图形状态进入文本方式,并释放用于保存图形驱动程序和字体的系统内存。(2)屏幕颜色的设置和清屏函数 对于图形模式的屏幕颜色设置,同样分为背景色的设置和前景色的设置。在TurboC中分别用下面两个函数。设置背景色:
4、 voidfarsetbkcolor(intcolor);设置作图色: voidfarsetcolor(intcolor);其中color为图形方式下颜色的规定数值,对EGA,VGA显示器适配器,有关颜色的符号常数及数值见下表所示。 有关屏幕颜色的符号常数表━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数 数值 含义 符号常数 数值 含义━━━━━━━━━━━━━━━━━━━━
5、━━━━━━━━━━━━━━━ BLACK 0 黑色 DARKGRAY 8 深灰 BLUE 1 兰色 LIGHTBLUE 9 深兰 GREEN 2 绿色 LIGHTGREEN 10 淡绿 CYAN 3 青色 LIGHTCYAN 11 淡青 RED
6、 4 红色 LIGHTRED 12 淡红 MAGENTA 5 洋红 LIGHTMAGENTA 13 淡洋红 BROWN 6 棕色 YELLOW 14 黄色 LIGHTGRAY 7 淡灰 WHITE 15 白色━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7、━━清除图形屏幕内容使用清屏函数,其调用格式如下: voidefarcleardevice(void);有关颜色设置请参照上表。(3)基本图形函数 基本图形函数包括画点,线以及其它一些基本图形的函数。(a)画点函数 voidfarputpixel(intx,inty,intcolor);该函数表示有指定的象元画一个按color所确定颜色的点。x,y是指图形象元的坐标。 (b)画线函数TURBOC提供了一系列画线&&函数,下面分别叙述voidfarline(intx0,inty
8、0,intx1,inty1);画一条从点(x0,y0)到(x1,y1)的直线。 voidfarlineto(intx,inty);画一作从现行游标到点(x,y)的直线。 voidfarlinerel(intdx,intdy);画一条从现行游标(x,y)到按相对增量确定的点(x+dx,y+dy)的直线。 voidfarcircle(intx,inty,intradius);以(x,y)为圆心,radius为半径,画一个圆。 voidfararc(intx,inty,ints