欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言程序课程设计实验报告.docx

    • 资源ID:548138       资源大小:176.05KB        全文页数:21页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序课程设计实验报告.docx

    1、C语言程序课程设计实验报告实训一 贪吃蛇游戏一、实训目的和要求根据老师布置的任务,对项目进行需求分析;确定数据结构和算法;画流程图或N-S图并形成相关文档。根据算法编写程序并且调试程序直到程序通过。本程序实现的主要技巧在二维数组的应用上。目的是通过游戏程序增加编程的兴趣,提高编程水平。二、主要仪器设备安装了Windows操作系统、Turbo C 或Visual C+的计算机。三、实训内容和原理 贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分

    2、,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。四、实训小结1、功能描述2、总体设计 (1)功能模块设计图形驱动功能模块:图形结束功能模块:开始画面模块:游戏过程模块: (a)食物出现:初始化界面及蛇的出现 非 是(b)蛇的自增及死亡: 条件一:撞到自己 条件二:撞到墙 是 非 非输出成绩模块:(2)数据结构设计struct Foodint x; int y; int yes;food;x表示食物的横坐标;y表示食物的纵坐标;yes用来判断是否要出现食物。struct Snake int xN; int yN; int node; int di

    3、rection; int life;snake;node表示蛇的节数;direction表示蛇移动方向life表示蛇的生命,其中0活着,1死亡(3)函数功能描述 1)函数名称:Init 函数原型:void Init(void); 函数实现的的功能:图形驱动 2)函数名称:Close 函数原型:void Close(void) 函数实现的的功能:图形结束 3)函数名称:DrawK 函数原型:void DrawK(void); 函数实现的的功能:开始画面 4)函数名称:Gameplay 函数原型:void GamePlay(void) 函数实现的的功能:游戏的具体过程 5)函数名称:Gameove

    4、r 函数原型:void GameOver(void); 函数实现的的功能:游戏结束 6)函数名称:prScore 函数原型:void PrScore(void) 函数实现的的功能:输出成绩3、程序实现 (1)源码分析#define N 200#include #include #include /里面包含了很多BIOS和DOS调用函数#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000 /#define UP 0x4800#define ESC 0x011bint i,key;int score=0;/*得分*/int games

    5、peed=50000;/*游戏速度自己调整*/struct Foodint x;/*食物的横坐标*/int y;/*食物的纵坐标*/int yes;/*判断是否要出现食物的变量*/food;/*食物的结构体*/struct Snakeint xN;int yN;int node;/*蛇的节数*/int direction;/*蛇移动方向*/int life;/* 蛇的生命,0活着,1死亡*/snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结

    6、束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*/*主函数*/void main(void)Init();/*图形驱动*/DrawK();/*开始画面*/GamePlay();/*玩游戏具体过程*/Close();/*图形结束*/*图形驱动*/void Init(void)int gd=DETECT,gm; /* initgraph(&gd,&gm,c:tc); */initgraph(&gd,&gm,D:Program FilesWINYESTC20H); /可以更换TC的位置,initgraph表示图形模式的初始化

    7、 DETECT系统自动检测图形适配器的最高分辩率模式,并装入相应的图形驱动程序cleardevice();/清除图形屏幕/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void)/*setbkcolor(LIGHTGREEN);*/ /设置背景色setcolor(11); /设置前景色setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ */void far setlinestyle(int linestyle, unsigned pattern,int width);for(i=50;i=600

    8、;i+=10)/*画围墙*/rectangle(i,40,i+10,49); /*上边*/ /画矩形rectangle(i,451,i+10,460);/*下边*/for(i=40;i0;i-)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/snake.xi=snake.xi-1; /从最后一个往前移snake.yi=snake.yi-1;/*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/switch(snake.direction)case 1: snake.x0+=10;break;case 2: snake.x0-=10;break;case 3: snake.

    9、y0-=10;break;case 4: snake.y0+=10;break;for(i=3;isnake.node;i+)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/if(snake.xi=snake.x0&snake.yi=snake.y0)GameOver();/*显示失败*/snake.life=1;/死亡break;if(snake.x0595|snake.y0455)/*蛇是否撞到墙壁*/GameOver();/*本次游戏结束*/snake.life=1; /*蛇死*/if(snake.life=1)/*以上两种判断以后,如果蛇死就跳出内循环,重

    10、新开始*/break;if(snake.x0=food.x&snake.y0=food.y)/*吃到食物以后*/setcolor(0);/*把画面上的食物东西去掉*/rectangle(food.x,food.y,food.x+10,food.y-10);snake.xsnake.node=-20;snake.ysnake.node=-20;/*新的一节先放在看不见的位置,下次循环就取前一节的位置*/snake.node+;/*蛇的身体长一节*/food.yes=1;/*画面上需要出现新的食物*/score+=10;PrScore();/*输出新得分*/setcolor(4);/*画出蛇*/f

    11、or(i=0;isnake.node;i+)rectangle(snake.xi,snake.yi,snake.xi+10,snake.yi-10);delay(gamespeed);setcolor(0);/*用黑色去除蛇的的最后一节*/rectangle(snake.xsnake.node-1,snake.ysnake.node-1,snake.xsnake.node-1+10,snake.ysnake.node-1-10); /*endwhile(!kbhit)*/if(snake.life=1)/*如果蛇死就跳出循环*/break;key=bioskey(0);/*接收按键*/if(k

    12、ey=ESC)/*按ESC键退出*/break;elseif(key=UP&snake.direction!=4)/*判断是否往相反的方向移动*/snake.direction=3;elseif(key=RIGHT&snake.direction!=2)snake.direction=1;elseif(key=LEFT&snake.direction!=1)snake.direction=2;elseif(key=DOWN&snake.direction!=3)snake.direction=4;/*endwhile(1)*/*游戏结束*/void GameOver(void)cleardev

    13、ice();PrScore();setcolor(RED);settextstyle(0,0,4); /设置字符的显示风格outtextxy(200,200,GAME OVER);/在当前位置输出一个文本字符串getch();/*输出成绩*/void PrScore(void)char str10;setfillstyle(SOLID_FILL,YELLOW);/设置当前填充模式和填充颜色bar(50,15,220,35);/画一个二为条形图setcolor(6);settextstyle(0,0,2);sprintf(str,score:%d,score);outtextxy(55,20,s

    14、tr);/*图形结束*/void Close(void)getch();closegraph();(2)运行结果实训二 学生成绩管理系统一、实训目的和要求利用单链表结构实现学生成绩管理,了解数据库管理的基本功能,掌握C语言中的结构体、指针、函数、文件操作等知识,是一个C语言知识的综合应用。注意其中的难点,指针变量作函数参数、函数值为指向结构体的指针及单链表机构的应用等知识。二、主要仪器设备安装了Windows操作系统、Turbo C 或Visual C+的计算机。三、实训内容和原理 设计一个学生成绩管理系统,该系统使用单链表结构管理学生成绩,具有输入记录、查询记录、更新记录、统计记录及输出记录等功能。四、实训小结1、功能描述2、总体设计 (1)功能模块设计 (2)数据结构设计 (3)函数功能描述3、程序实现 (1)源码分析 (2)运行结果


    注意事项

    本文(C语言程序课程设计实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开