C课程设计报告―贪吃蛇 您所在的位置:网站首页 贪吃蛇vc60课程设计 C课程设计报告―贪吃蛇

C课程设计报告―贪吃蛇

2023-08-17 20:49| 来源: 网络整理| 查看: 265

C课程设计报告―贪吃蛇 时间:2023.7.19

程序设计基础课程设计

院 系: 班 级: 姓 名: 指导教师:

2012 年 12 月 25 日

第 1 页 共 49 页 贪吃蛇

程序设计基础课程设计任务书

一、题目:贪吃蛇

二、设计要求

(1)XXX负责设计与实现。

(2)查阅相关资料,自学具体课题中涉及到的新知识。

(3)采用结构化、模块化程序设计方法,功能要完善,具有一定的创新。

(4)所设计的程序应有输入、输出。

(5)按要求写出课程设计报告,并于设计结束后1周内提交。其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件总体设计、详细设计、软件的调试、总结、谢启、附录:带中文注释的程序清单、参考文献。报告一律用A4纸打印,中文字体为宋体,西文字体用Time New Roma,一律用小四号字,行距采用“固定值”18磅,首行缩进2字符。总体设计应配合软件总体模块结构图来说明软件应具有的功能。详细设计应用传统或N-S流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。

三、课程设计工作量

由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。

四、课程设计工作计划

20xx年12月17日,指导教师讲课,学生根据题目准备资料;

20xx年12月18日,设计小组进行总体方案设计和任务分工;

20xx年12月19日~20xx年12月21日,每人完成自己承担的程序模块并通过

独立编译;

20xx年12月22日~20xx年12月26日,将各模块集成为一个完整的系统,并

录入足够的数据进行调试运行;

20xx年12月27日,软件发布

20xx年12月28日,验收、撰写报告;

20xx年1月5日,交课程设计报告

指导教师签章: 教研室主任签章程序设计基础课程设计指导教师评语与成绩

目 录

C课程设计报告贪吃蛇

一 概述(宋体,三号,加粗,居中) ...................................................... 5

二 总体方案设计 ............................................................................................................. 6

三 详细设计 ......................................................................................................................... 8

四 程序的调试与运行结果说明 ....................................................................... 15

五 课程设计总结 ........................................................................................................... 18

六 后记 ................................................................................................................................... 18 参考文献 ................................................................................................................................ 19

七 附录 ................................................................................................................................... 20

一 概述

1. 课程设计的目的

⑴学生更深入地理解和掌握该课程中的基本概念,程序设计的思

想、技术和方法。

⑵培养学生综合运用所学知识独立完成课题以及撰写课程设计报

告的能力。

⑶培养学生勇于探索、严谨推理、实事求是、有过必改,用实践

来检验理论,全方位考虑问题等科学技术人员应具有的素质。 ⑷提高学生对工作认真负责、一丝不苟,对同学团结友爱、协作

攻关的基本素质。

⑸培养学生从资料文献、科学实验中获得新知识的能力,提高学

生从别人的经验中找到解决问题的新途径的悟性,初步培养工 程意识和创新能力。

⑹对学生掌握知识的深度,运用理论去处理问题的能力、实践动

手的能力,课程设计的能力、书面及口头表达能力进行综合考 核。

2. 课程设计的要求

⑴学生自由组成课程设计软件开发小组(及开发团队),可由指导

教师确定每组的人数,建议每组三人左右,并选举一人为组长。 指导教师可根据各个小组的实际情况进行必要的调整。

⑵该软件系统运行时应先播放同步的动画音乐,播放完后,通过

选择进入游戏。

⑶进一步掌握C语言集成开发环境。

⑷熟练掌握C语言的数据类型、几种基本结构、数组、指针、结

构体、模块化 设计等知识点。

⑸从书中或互联网上查阅相关资料,自学具体课题中涉及到新的

知识。

⑹采用结构化、模块化程序设计方法进行设计,功能要完善,界

面要美观,应具有一定的创新。

⑺要求开发小组的每个成员都应独立设计若干个模块,每个人设

计的有效资源程序代码应在200行以上。同时要读懂其他组员 完成的任务。

3. 课程设计的主要设计思想

这个程序的关键点是表示蛇的图形以及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用 第 5 页 共 49 页

两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时,由于没有清屏的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来蛇会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块。为了便于理解,定义了两个结构体:食物和蛇。

二 总体方案设计

整体框图

C课程设计报告贪吃蛇

C课程设计报告贪吃蛇

⑴主控模块

主控模块由main函数实现,主要用来依次调用各个下层模块,从而控制完成整个程序的功能。 ⑵动画音乐函数

该模块用来同步播放下雪的动画和简单的音乐,并在屏幕的中间输出颜色不断变换的欢迎词语。 ⑶画主界面函数

画主界面模块由函数Drawk实现,他画出了一个封闭的围墙。在单人模式下,用两个循环语句在水平方向和垂直方向上输出连续的宽度和高度均为10单位(像素)的浅青色矩形方块,围成密闭图形表示围墙。在双人模式下,在单人模式下画的围墙的基础上再加一条垂直方向上的围墙就可以。函数setlinstyle设置线型宽度为1像素。这样避免了蛇贴墙走的时候,会檫掉一部分影响界面美观这种情况。 ⑷游戏过程模块

该模块是整个程序的核心模块,他完成整个游戏过程,在我们组做的这个贪吃蛇游戏中,有两个这个模块,分别由Gameplay1和Gameplay2来实现,每次蛇移动的时候,从最后一节开始到第二节, 将前一节的坐标赋给后一节的坐标,移动后把最后一节用背景色覆盖,然后蛇头位置按方向键更改位置,要确保食物出现在10的倍数位置上,判断蛇是否吃到食物的是蛇头坐标和食物坐标是否相同。我们设计的这个贪吃蛇游戏中还有另一个特色,那就是在游戏运行的时候会出现随机障碍,这些障碍是蛇在吃了三个食物之后,会出现一个位置不定的红色的随机障碍,而且它存在一会就会消失,蛇在吃够三个食物后又会出现,就这样一直循环知道蛇死了为止。 ⑸游戏结束处理模块

当游戏结束时,则调用Endplay函数进行游戏结束处理,在该模块中将依次调用读取记录、成绩排序、写入文件、排行榜等模块,实现有关处理。由于我们的贪吃蛇有双人模式还有单人模式,所以我们有两套读取记录、成绩排序、写入文件、排行榜等模块。 ⑹读取记录模块

该模块由ReadFiles1和ReadFiles2函数来实现。即用用来读取排行榜1和排行榜2的信息记录。如果是首次读取文件,将调用InitScoreFiles函数,将初始记录文件,两个排行榜都设置五名选手, 初始姓名都为“nobody”,初始分数都是0.

⑺成绩排序模块

该模块由CompareScore1和CompareScore2函数来实现。当游戏者1和游戏者2的成绩比排行榜1和排行榜2中第五名的成绩高时,即调用该模块将成绩加入排行榜中排序,将原来的第五名删除。 ⑻写入文件模块

该模块由WriterFiles1和WriterFiles2来实现,将两个新的排行榜信息写入文件。

⑼排行榜模块

该模块由pain_board1和pain_board2来实现。主要功能是建立两个排行榜界面,输出五个最高分玩家姓名和成绩。

⑽退出

显示排行榜后,返回主界面选择exit按一下空格键就可以退出游戏了。

三 详细设计

流程图:

C课程设计报告贪吃蛇

/*下雪的动画并同时播放音乐函数*/

void DrawSnow()

{

int i;

int sx[62];

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

line(1,1,9,9); /*一次3行画出白色雪花的3条线 */

line(0,5,10,5);

line(9,1,1,9);

save=malloc(200);/*在堆中申请200字节空间*/

getimage(0,0,10,10,save); /*将雪花位图保存到save中 */

cleardevice(); /*清屏*/

randomize(); /*设置随机数的种子数 */

for(i=0;i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有