C语言实训小球碰撞游戏

C语言实训小球碰撞游戏

ID:40535600

大小:101.00 KB

页数:19页

时间:2019-08-04

C语言实训小球碰撞游戏_第1页
C语言实训小球碰撞游戏_第2页
C语言实训小球碰撞游戏_第3页
C语言实训小球碰撞游戏_第4页
C语言实训小球碰撞游戏_第5页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。