首页 > 论文发表知识库 > 贪吃蛇论文答辩会问什么问题

贪吃蛇论文答辩会问什么问题

发布时间:

贪吃蛇论文答辩会问什么问题

《基于J2ME的贪吃蛇游戏设计》 要有开题报告 任务书 论文哦 要近两年的,基于J2ME的? 貌似在百度上几乎无人 我又JavaScript的 我有。 ..

经过多方面的调查,学术堂整理出了在论文答辩中,老师会经常问到的七个问题:1、你为什么选择这个题目答:选题问题可能涉及到你的研究兴趣以及以后的研究方向如果你已经有了明确的研究方向,之前已经认真了解过,可以大胆的告诉导师,如果还没有确定研究方向,可以和老师说说你的选题来源以及之前搜集过的资料2、你的论文价值是什么?答:论文价值问题一般考察你对于现实的关注以及思考问题的能力这一部分可以回答一些论文的现实意义:对目前研究的领域有什么帮助、提出了什么问题、有什么解决方法等等3、你的论文理论基础是什么?答:理论基础考查的是专业能力以及基础知识的掌握程度回答时要逻辑清晰,突出知识性和专业性,用专业的理论知识来阐述你的论文框架和论文内容,切不可用口语化语言。4、你的文献综述是如何形成的?答:文献综述可以看出你的研究能力以及搜集资料的能力这个问题可以说是最简单的,阐明获取资料的渠道,如知网、学术网站、图书馆等。5、你的毕业论文进行的研究方法是什么?答:一些专业在初试中可能不会重点考察研究方法问题,但是在研究实践中研究方法却是基础,所以基础研究方法还没掌握的同学可要好好补补课了,不然没有研究方法怎么做毕业论文的研究啊。6、简单说说你的论文研究思路答:这就是考察你的语言表达能力了毕竟毕业论文动辄几千字,而你要将你的思路清晰地传达给面试老师,所以一定要简练 明确。这里建议按照论文框架进行说明:研究问题-目前成果-研究理由(目前的研究成 果有什么不足)-理论支撑(事实证据)-解决渠道。7、你的这篇毕业论文优点和缺点是什么?答:这个问题无伤大雅,优点你可以大胆说,只要不过分夸张就好;缺点部分可以说“研究不太深入,但在研究生阶段会进一步深入研究”,向老师展现你的研究热情和决心即可如果毕业论文还没有形成,老师就会问你的开题报告,或者你的其他相关论文,又或者问你的毕业论文设想。但是不管怎么问,核心还是上面所说的那些点,只要逻辑清晰、理论充分,表现出良好的学术研究能力,基本都是稳稳的。

设计思路,关键算法,具体实现

技术跟答辩有一毛钱关系吗

微信小程序贪吃蛇论文答辩

微信小程序贪吃蛇熊猫一般是初级级别的,游戏中的难度较低,没有太多的挑战。

贪吃蛇蛇在哪里打开:我们打开微信里的发现-然后游戏,微信小程序中心里可以找到贪吃蛇蛇,或者直接微信聊天框里输入贪吃蛇蛇搜索一下,最上面一个结果,也可以打开该小程序。2/7基本的游戏操作:贪吃蛇蛇可以理解是贪吃蛇大作战的小程序,大家应该对这个类型的游戏都玩过,控制我们的蛇蛇吃这些小食物,或者剿灭敌人,让自己的身体越来越大,拿到好的成绩(夺得第一)。3/7怎么消灭对手:说到剿灭敌人,我们要怎么做呢?首先我们要确保自己的身子足够长,可以圈住敌人,我们要用加速避免自己的头接触敌人,然后在敌人周围转圆圈,敌人会跑不出去,最后碰到我们的身体,被我们消灭。4/7灵活使用加速:为了避免敌人也用这样的办法来搞我们,看到比我们长的对手的时候,我们要用加速抢占先机,用自己的身体去碰触对方的头部,反应要快哦。5/7游戏有排位系统:游戏的话,我们每次比赛结束,会有成绩的提高,默认就是排位赛的体制了,随着等级的提高,我们可以解锁的模式也会越来越多,我们可以在主界面看到。查看剩余1张图6/7获得更多金币:我们可以每天利用游戏对局去完成贪吃蛇蛇里的任务,拿到金币,金币对游戏是有帮助的,我们每天对局之后,应该去任务界面及时的领取奖励。查看剩余1张图7/7升级我们的怪物:前面说金币的作用很大?大在哪里呢?我们可以升级我们的怪物蛇蛇,让他的身体开始变得更长,但是这个是需要金币的,加油去赚取吧。

算是连续两天登上热搜了,今天更是多了好几条热搜。为什么会爆火首先第一点,这个肯定是有一定的偶然性。与很多小游戏一样,估计也就昙花一现,就像头几年的养成类游戏养青蛙一样。时间淘洗下会留下一部分受众,但肯定是少数。第二点,它没有出APP,相对于需要单独下载的游戏来说,在微信小程序上,并不占用手机的内存,同时让人们利用碎片化的时间进行操作,更加的方便。第三点,人的猎奇心,游戏难度很大,相对于能玩上千关的消消乐而言,它足够简单,足够快捷,每个人都想成为第一个通过的人,造成了一传十,十传百。(我就是因为不需要下载,同时还想尝试看是有多难才玩的)。第四点,资本的助推,天眼查数据显示,“羊了个羊”关联公司北京简游科技有限公司由张佳旭、厦门雷霆网络科技股份有限公司、北京乐闪科技有限公司共同持股。其中厦门雷霆网络为吉比特旗下公司,持有简游科技10%的股份。以上是我一点拙见,希望对你有所帮助。

微信小程序答辩该怎么说?打开微信,搜索答辩,找到后点击进入小程序,然后就可以操作了。

贪吃蛇论文的开题报告

写单片机贪吃蛇游戏毕业设计开题报告文献综述方法如下。1、文献综述,研究思路研究方法及手段。2、参考文献进度安排。3、文献综述是开题报告中的最重要部分。

你好,关于毕业论文开题报告的写作,一般需要包含以下几个方面的内容:

1. 研究背景和目的:简要介绍你所研究的课题或问题的相关背景和研究目的。这一部分可以阐述为什么该课题很重要并值得研究。

2. 研究方法:具体说明你将使用哪些研究方法和数据来源,并解释这些方法和数据来源是如何支持你的研究目的的。

3. 研究内容和预期成果:介绍你计划在研究中进行的工作,以及你希望取得的预期成果。

4. 论文框架:列出论文大致的章节结构,以及每个章节的主要内容。

5. 时间安排:制定一个详细的时间安排表,明确每个阶段所需完成的任务和时间节点。

6. 经费预算:针对一些涉及经费的研究活动,例如实验、调查等,需要列出详细的费用预算。

希望以上信息能够对你的撰写有所帮助。如果你还有其他问题,请随时问我。

(以上由“知否AI问答”回复,可以免费直接访问体验)

体育游戏论文(设计)开题报告

选题目的和意义:体育教学中合理安排体育游戏能提高体育课的教学效果,越来越被广大体育教育工作者重视。为了使体育课对学生产生吸引力,激发学生的思维和想象力,提高学生的兴趣使体育课上得更生动活泼、有实效,发展游戏者的体力和智力,或是为了娱乐增强学生的身心健康,同学们在游戏的运用过程中,可以创造性的发展游戏的内容,制定游戏新的规则,以及不断创造新的游戏,提高体育游戏的功能,增强学生体质使学生完全自觉地投入到学习中去,可以收到事半功倍的教学效果,改变传统的教学模式,更新教学观念方面有着重大意义。因此,重视和发展体育游戏是各个教育机构和体育教育工作者的光荣任务。本课题的研究能够为广大体育教师寻找学生缺乏体育兴趣的原因提供参考,以便于采取有效措施运用游戏来调动学生的.兴趣,达到老师教的好学生学的好的效果。

本课题在国内外的研究状况及发展趋势:为了了解本课题同一领域的研究现状,把握其发展趋势,我们借助网络系统搜集了相关资料,我们发现,国外很多国家如美国、日本的研究,他们在教学策略、游戏内容等领域的研究取得了一定的成果,建立了适合本国国情的体育游戏教育理论体系和实践模式。在我国随着教育改革的深化、素质教育的全面推进、“健康第一”的指导思想的确立,人们对体育游戏的关注程度超过以往。我们感到前人的研究虽然都取得了重要的研究成果,然而,经过仔细的分析、比较,感到这些研究都还存在着一定的局限性,其主要表现为重游戏的生理功能,轻游戏的心理功能。目前,“心理健康教育”在学校教育中越来越显示出其的重要性,“心理健康”已被学校教育视为一个不可忽视的阵地,这方面同样可以使我们的研究大有可为。我国学者运用教学实验等不同手段探讨了体育游戏对学生身心发展的价值和作用。

主要研究内容:1、体育游戏的概念理解;2、体育游戏的重要性; 体育游戏的特点; 体育游戏的作用。3、体育游戏在体育教学中的应用; 体育游戏在准备活动中的应用; 体育游戏在基本技术技能教学中的应用; 体育游戏在身体素质练习中的应用; 体育游戏在结束部分中的应用; 教学中运用体育游戏应注意的问题。4、结束语。

实验设计:本文通过文献资料法对体育游戏在体育教学中的应用和重要性进行分析,以及通过逻辑分析和现象学方法对体育游戏在体育教学中的应用和重要性进行探研,总结目前体育游戏在体育教学中运用所存在的问题,通过相关文献的查找,收集整理进行综合分析获得结论,咨询导师老师、有关老师对结论进一步讨论,最后撰写论文。

完成论文的条件、方法及措施:

条件∶运用学校电子阅览室等工具进行查阅。方法∶采用文献资料调研,逻辑分析和现象学方法去探研。措施∶通过查阅各种资料对论文进行分析,指导老师进行指点、修改,最后完成论文。

开题报告的格式 由于开题报告是用文字体现的论文总构想,因而篇幅不必过大,但要把计划研究的课题、如何研究、理论适用等主要问题说清楚,应包含两个部分:总述、提纲。 1 总述 开题报告的总述部分应首先提出选题,并简明扼要地说明该选题的目的、目前相关课题研究情况、理论适用、研究方法、必要的数据等等。 2 提纲 开题报告包含的论文提纲可以是粗线条的,是一个研究构想的基本框架。可采用整句式或整段式提纲形式。在开题阶段,提纲的目的是让人清楚论文的基本框架,没有必要像论文目录那样详细。 3 参考文献 开题报告中应包括相关参考文献的目录 4 要求 开题报告应有封面页,总页数应不少于4页。版面格式应符合以下第3部分第2)项“格式”的规定。 开 题 报 告 学 生: 一、 选题意义 1、 理论意义 2、 现实意义 二、 论文综述 1、 理论的渊源及演进过程 2、 国外有关研究的综述 3、 国内研究的综述 4、 本人对以上综述的评价 三、 论文提纲 前言、 一、 1、 2、 3、 · 二、 1、 2、 3、 ·· 三、 1、 2、 3、 结论 四、论文写作进度安排 毕业论文开题报告提纲 一、开题报告封面:论文题目、系别、专业、年级、姓名、导师 二、目的意义和国内外研究概况 三、论文的理论依据、研究方法、研究内容 四、研究条件和可能存在的问题 五、预期的结果 六、进度安排 七、教研室可行性论证结论

贪吃蛇毕业论文总结

2019/02/07

我记得我年前的时候,我看过很多文章,包括一些论文,主题都是利用AI来玩贪吃蛇这种。他们利用的方法很多,例如利用搜索算法[1],还有利用监督学习来进行训练达到目的的,训练数据的来源是有自己玩游戏产生的(好像有算法是可以让他自己产生的,想不起来是在哪里看到的了。),当然这种正如他自己所说,后续的结果就是机器最多玩的和你一样好,最后一种见的比较多的就是利用强化学习,加上Q-Learning算法的方式。 针对搜索算法部分,可以看前面的一篇随笔《贪吃蛇游戏》。

那段时间看了不少这类的文章,我现在集中阅读一下,并简单理解一下这部分内容的关键部分。无论什么游戏,都有一个 相应的状态空间 的定义,这部分数据,本质上就是这个游戏能展现给我的所有的内容。那么怎么来利用这部分数据,就是你的能力了。

文章[2]中,他是用的方法同时结合了深度学习和强化学习。 (我也想深究一下,如果是仅仅使用强化学习,这个过程又是什么样的,得看我收集的文章中,是不是有这类部分的内容了;我记得好像强化学习就是利用Q-Learning这种算法来实现的) 但是这篇文章感觉说的不够清楚,最重要的那个点就是,强化学习到底是如何跟深度学习联合起来的。可能单单强化学习已经可以完成这个任务了。 我大概理解了这个过程,他是利用强化学习来作为自动化生成数据的过程了,一开始的时候,利用强化学习尽可能得到多的数据,然后采样或者怎么样使得最后的数据作为训练得到效果。 这篇文章讲述的并不是清楚,不推荐。 下面这个图从这篇文章中看到的,挺不错。

文章[3]基于强化学习Q-Learning完成了贪吃蛇的步骤,不过貌似他的这个效果并不是非常好。整个部分的源码他都是利用js来完成的, 讲解部分比较基础, 回答了前一小节的疑问。

本篇文章中,他介绍的另外一个内容挺不错,就是利用神经网络来玩谷歌浏览器的游戏。

文章[5]利用深度学习和遗传算法来训练玩游戏;这部分的文章一系列的内容,从使用pygame设计游戏,到后面自动化产生数据,最后使用GA+ANN直接不需要数据。他的思路 跟前面强化学习是不一样的。 前面部分讲到了自动化产生训练数据的部分,这个部分我感觉讲解的并不是非常好,他的自动化并不是说让游戏自己去探测这个各种内容。反而是根据某种公式来计算角度,最终实现这个过程。后续GA算法的时候又说道可以不是用训练数据。 他利用GA算法应该是使用了两个部分,第一个就是直接使用GA进行训练,他的适应函数(fittness function)部分,类似强化学习的部分,产生奖励和惩罚机制。第二个就是使用GA算法来选择神经网络的架构。 (这部分我也不是很确认,有点没看懂他要干什么) 对于神经网络中的权值部分他是如何进行实现的,这是我的一个疑问。 GA算法到底针对的是哪一部分的内容。这种文章还是有一定缺陷的。GA算法是两部分内容,首先就是权值更新内容。 虽然这篇文章感觉很基础,但我觉的写的不好。

利用学习的办法实现玩游戏的目标,比较重要的问题,有以下几个。

[1] Hawstein,如何用Python写一个贪吃蛇AI [2] 如何让AI玩贪吃蛇:深度强化学习 [3] 利用强化学习玩贪吃蛇 [4] 谷歌小恐龙 [5] 深度学习与贪吃蛇

程序功能介绍贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。程序整体设计说明一个游戏要有开始部分,运行部分,结束部分(实际上开始部分与运行部分是一体的)。设计思路这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块数据结构设计及用法说明 开始部分:游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,接着要有开始的界面,就像书有封面一样,我设置了一个游戏的标题画面,除了游戏标题画面我还设置了一个欢迎画面。标题画面以后,还要为游戏的运行部分作初始化,包括绘制游戏运行时的背景,对游戏某些重 要变量的初始化。运行部分:作为游戏的核心部分,这里包括的函数比较多,也就是模块比较多,首先让我模拟一下贪吃蛇的游戏模式:某个世界上突然出现一条蛇,它很短,它的运动神经异常,它没法停止自己的多动症在它的世界里就只有食物,它很饿,也很贪吃;同样在不明原因的情况下,食物从天而降,可惜的是没有落到嘴边;饥饿的主人公,不管它有没有毒,也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想象的同化能力让食物很快的成为自己身体的一部分,它的身子变长啦。当它吃到第一颗食物时,上帝有给它第二颗,于是它吃了第二颗,于是又变长了,于是又有第三颗……它的身子是一直的加长,它不管自己过长身体的麻烦——转身不便,继续吃下去,现在它是直接把巴张大,好让食物有个绿色通道。但是在某天的下午,它咬到了自己,它才想起自己是一条毒蛇,于是晕死过去(不是毒死);又或者它往食物冲锋的时候,它失去控制,撞到了墙上。第一轮循环:第一步,出现食物;第二步,蛇不停运动;第三步,检查蛇是撞到自己或墙壁;由第四步起游戏有两条支线(A、B):A :第四步,蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动作;第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;第六步,让玩家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤;B:第四步,蛇碰到自己或墙壁,终止游戏。结束部分:游戏结束时,显示“GAME OVER”,已经是约定俗成的规律了,我的游戏也不例外。除了游戏结束画面外,我还设置了一个游戏退出画面,“善始善终”嘛。有了上述的大致划分,我把整个程序划分成(13+2)个模块(其实就是函数)程序结构(流程图) 图流程图依据所需要处理的任务要求,规划输入数据和输出结果,决定存放数据的数据结构。C语言中数据结构集中体现在数据类型上,因此在进行C语言程序设计时,应统筹规划程序中所使用的变量,数组,指针等,以及它们的类型等。这点是很重要的,如果在此期间选择不合适的变量或者数组,将来修改就十分困难。现在分析一下贪吃蛇游戏中的元素,继而得出与它们对应的在程序中的描述:蛇:基本描述:长度,颜色,位置。对应数据与数据类型:长度—虽然可以用坐标表示,但是这样的话,运算量将很大,所以换算成较大的单位—节数,以固定长度的每节描述;坐标--整型;颜色--整型; 位置--X,Y坐标。增加的描述:蛇运动的方向,蛇的生命。对应数据与数据类型:这些描述是为了与程序的按键的输入部分与判断游戏结束部分相联系而设的。方向只有四个方向:上下左右。可以设置与之对应的四个整型数:3、4、2、1。生命就只有两种情况:死或生,对应0或1。食物: 基本描述:颜色,位置。对应数据与数据类型:由于颜色设成固定的,所以不再讨论。位置—X、Y坐标。增加的描述:食物的存在。对应数据与数据类型:这是为了避免重复出现食物而设置的,与绘制食物的函数有联系。只有两个值:0或1(没有食物或有食物)其他的元素:墙,由于它在显示上是作为背景而存在的,所以并没有什么说明实际的墙壁就是四条直线组成的边框,由坐标描述。还需要的变量:键盘键入的键值(作为全局变量,整型);经常要使用的循环变量;自定义的填充图案;说明文字的字符数组;游戏的记分;游戏的速度(蛇的速度)。图蛇的不停运动的关键算法的流程图各模块的功能及程序说明主要模块的实现思路和算法的流程图说明:关键所在——蛇不停移动的Snakemove():蛇的不停移动,就是蛇的下一节取代前一节的位置,在计算机中就是蛇下一节的位置坐标变成前一节的位置坐标。在上文中,已定义蛇的位置坐标为数组类型,一组坐标对应一节的位置,假设有i+1节,由0到i节,第i节的坐标取第i-1节的坐标,第i-1节的坐标取第i-2节的坐标……直到第1节取第0节的坐标。而第0节的坐标,即蛇头的坐标要往某个方向变化,变化量为蛇每节的长度。蛇的这种坐标轮换需要循环语句使其继续下去。 程序结果运行程序得到如下初始界面图: 图程序结果图用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示: 图程序结果图蛇没有碰到自己或墙壁,蛇继续前进: 图程序结果图游戏结束时,显示“GAME OVER” 图程序结果图程序源代码及注释#define N 200#include <>#include <>#include <>#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011bint i,key;int score=0;/*得分*/int gamespeed=50000;/*游戏速度自己调整*/struct Food{ int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int yes;/*判断是否要出现食物的变量*/}food;/*食物的结构体*/struct Snake{ int x[N]; int y[N]; int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/}snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*//*主函数*/void main(void){ Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/}/*图形驱动*/void Init(void){ int gd=DETECT,gm; registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,"c:\\program files\\winyes\\tc20h\\bgi"); cleardevice();}/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void){/*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i<=600;i+=10)/*画围墙*/ { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ }}/*玩游戏具体过程*/void GamePlay(void){ randomize();/*随机数发生器*/ ;/*1表示需要出现新食物,0表示已经存在食物*/ ;/*活着*/ ;/*方向往右*/ [0]=100;[0]=100;/*蛇头*/ [1]=110;[1]=100; ;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/ { if()/*需要出现新食物*/ { ()%400+60; ()%350+60; while(!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ ; while(!=0) ; ;/*画面上有食物了*/ } if()/*画面上有食物了就要显示*/ { setcolor(GREEN); rectangle(); } for(i=;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { [i]=[i-1]; [i]=[i-1]; } /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch() { case 1:[0]+=10;break; case 2: [0]-=10;break; case 3: [0]-=10;break; case 4: [0]+=10;break; } for(i=3;i<;i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/ { if([i]==[0]&&[i]==[0]) { GameOver();/*显示失败*/ ; break; } } if([0]<55||[0]>595||[0]<55|| [0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ ; /*蛇死*/ } if()/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if([0]==[0]==)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(); []=-20;[]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ ;/*蛇的身体长一节*/ ;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i<;i++) rectangle([i],[i],[i]+10, [i]-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最后一节*/ rectangle([],[], []+10,[]-10); } /*endwhile(!kbhit)*/ if()/*如果蛇死就跳出循环*/ break; key=bioskey(0);/*接收按键*/ if(key==ESC)/*按ESC键退出*/ break; else if(key==UP&&!=4)/*判断是否往相反的方向移动*/ ; else if(key==RIGHT&&!=2) ; else if(key==LEFT&&!=1) ; else if(key==DOWN&&!=3) ; }/*endwhile(1)*/}/*游戏结束*/void GameOver(void){ cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch();}/*输出成绩*/void PrScore(void){ char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(50,15,220,35); setcolor(6); settextstyle(0,0,2); sprintf(str,"score:%d",score); outtextxy(55,20,str);}/*图形结束*/void Close(void){ getch(); closegraph();}第3章 课程设计总结课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。 回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针,链表……通过这次课程设计之 后,我们把前面所学过的知识又重新温故了一遍。我做的是做贪吃蛇游戏。简单的一个,但对我一个初学者来说却是一个很大的困难。更加是第一次做课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。特别是结构体,指针的部分,几乎是一片空白。不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以一下一步就是开始正式的编程序了。不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。 经过一波三折,终于开始正式编程。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强破自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。 通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过 程中,我会更加注视实践操作,使自己便好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。

写单片机贪吃蛇游戏毕业设计开题报告文献综述方法如下。1、文献综述,研究思路研究方法及手段。2、参考文献进度安排。3、文献综述是开题报告中的最重要部分。

大一的时候,最是闲着慌的时候,也最是喜欢尝试新鲜事物。看到舍友玩什么,也喜欢过去凑凑热闹。所以就入了一阵贪吃蛇的坑。因为他们称我“老船长”,那我就索性给我的蛇起了个名字叫“大宝老船长”。 然后,我看我自己的蛇哪都可爱,哪都好。从此,带着它踏上了一条大杀四方的不归路。历经沙场之后,不知怎么的,竟然觉得我的“蛇生”竟然有些“人生”的映射啊。如果感兴趣的,不如耐着性子来听我“鬼话连篇”一番?反正作者的个人简介也是有“最喜欢鬼话连篇”的介绍嘛。 当自己一开始还是一条小蛇的时候,危险比较大。因此, 没有实力的时候不要轻举妄动 。如果到蛇群密集的地方,很容易因为贪心被干掉。比如被撞或被圈住。 因为圈住别的蛇这件事情是我在变成大蛇以后常做的事情,所以很有经验。你若害人,人也能以牙还牙。所以,乖乖的远离蛇群,定心吃,慢慢积累实力。 《三国》里刘玄德不就是如此吗? 心知肚明自己的实力还斗不过曹孟德之后,宁可每天在菜园子里种菜浇花。还不是为了韬光养晦吗?而不至于羽翼尚未长成就因为自己的鲁莽草率,不够稳重而丢了卿卿性命。如果那个时候刘备就跟人间say goodbye了,那么三分天下也就没有他姓刘的影子了。 后来,越变越大,就可以用圈住小蛇法。不过还是尽量避免蛇群密集抢食的地方,时刻要保持警惕,以免不测。因为自己实力变强,就可以把食物圈在身体内侧慢慢吃。而不是贪心的顺着食物吃,不然很有可能与从另一头觅食的蛇撞上,以至死亡。还有就是有时候会有保护圈。但在里面的时候的确安全,但也行动迟缓。刚出保护圈的时候,一时也恢复不过来。这里也看出依赖会影响独立的适应能力。 所以说,有利有弊,有得必有所失。还有,不要以为有了保护圈就可以为所欲为的进入到危险境地,因为保护圈的效益是暂时的。所以,不是凭真本领不要张扬冒险,无实力者,大可作壁上观,敌不动我不动,冷眼看他人厮杀,坐收渔翁之利。“温水煮青蛙”,就是不懂“生于忧患,死于安乐”的道理啦。但这幅漫画反映的内涵就更加深刻了,很多人是身居高位、要职,却被贪污腐败诱惑着,逐渐麻痹了神经。 多少巨贪是起于小贪念的呢? 一念成佛,一念成魔呀。 我们普通人“生于安乐”的结局可能是一生碌碌无为,却还安慰自己平凡可贵。最多就是蹉跎了自己的岁月光阴,可是名利场上的“温水煮青蛙”,搞不好是要去监狱里“喝茶”的。倒时候,就是身败名裂,金钱名利就统统成了过眼云烟,仿佛做了一场梦了。 别的蛇跟你抢食,有的时候也别心急,它增加了它的长度之后,你冷眼旁观一会儿,再找时机攻击它,那你就直接坐收渔翁之利了。这样子你就把它还有之前它吃的那条蛇一起吃了,还省了吃那条蛇的功夫。何乐而不为呢。还有时候,别的蛇自相残杀,我的大宝老船长就等着坐收渔翁之利。 当然,我们在这里所说的坐收渔翁之利并不是说我们为了要获利,要达到某种手段而故意挑起前两者的事端,这就十分缺德了。而是有些“守株待兔”的意味。就像那个渔翁一样,只是遇见了一种机遇。看到某些时机成熟之后的把握。 一定要看清楚,快!准!狠!不然过了这个村还就没这个店了。 当然,在当今社会,同样流传着一句话叫:机遇只留给有准备的人的。因为咱们也不是人人都是那个渔翁,所以要好好努力啊。 就拿写作这件事情来说,我写,是因为我喜欢,是因为我希望我的文字是我认真思考感悟的结晶。我为的是无愧于心。那我肯定也是希望在这条路上可以获得与更多的朋友交流的机会的。 那么为了有这个机会,我现在所要做的就是听从自己内心的声音坚持不懈下去。说不定哪天我就收获更多的好朋友,心想事成了嘛。 大宝老船长越变越大,越变越长的时候,不能骄傲自满,目空一切。很多时候,大宝老船长会在这时候被毫不起眼的小蛇干掉,因为大宝老船长掉以轻心了。所以说,无论实力有多强,还是要时刻居安思危哟。 我们不应该学着夜郎国那样夜郎自大,没见过世面,就以为自己区区弹丸小国就是全宇宙了。我们做人,妄自菲薄,狂妄自大都是不可取的。谁让一桶水不响,半桶水叮当呢。 而且,骄傲自大,牛皮吹破了是很尴尬的一件事情。 我想我们很多“狂妄”的初衷就是希望更多人仰慕自己,这其实是过度的渴望自尊在作祟。可往往,“狂妄”的做法是适得其反的,反而是让更多人即便给你表面上的恭维,实则却在心底暗自发笑,甚至希望有朝一日能对你“落井下石”。 所以,真正在乎自尊这件事情,就谦虚低调一些吧。 就是把你蛇的皮肤搞得恶心一点,这样子别人可能嫌你恶心就避着你。前提是你自己不觉得恶心。 当然,这个也不是所有人觉得你恶心就避开你的,但是我会的哦。 也就是说可以兵不血刃,在气势上已经完全碾压对面,都不费一兵一卒。 那么在今天,我们就不说“碾压”,我们说“征服”,或者说“使别人认可”。那就要提升自己的形象和内在的涵养。 形象上面,把自己打理打理好,要让人一看就觉得干净舒服。 至于内在气质方面,是很重要的。要表现得识大体,有绅士风度。更多的还有体现在言辞谈吐上面,这就需要一个人有很好的内涵与积淀。不过多读一些书是很有帮助的,毕竟有句话是“腹有诗书气自华”嘛。从书本上可以学过来很多东西转换到举手投足间,提升个人品味。 障眼法迷惑,就是当你很大很长的时候,游到跟你一样的蛇面前,让它以为你的身体就是它的身体,然后趁机杀死它。这有点像变色龙,不过变色龙是自主去适应环境。比如变成绿色躲在树叶丛中为了避免被天敌发现。 当然,我们不要像游戏里那么“血腥暴力”啊,我们需要学到的应该是像变色龙那样学会“伪装”保护自己。 很多时候,我们确实不能让环境改变着来适应我们,而是应该主动去适应环境。 当然,很多时候去适应环境并不是说我们甘于现状了,而是低调地养精蓄锐,分析时机,利弊。 我很喜欢一个在上看到的 “SWOT”分析法 。做事情要提前分析好“strengthes(长处)”,“weaknesses(劣势)”,“opportunities(机遇) ” ,“threats(威胁)”。 当然,这跟大宝老船长伪装着杀小蛇是有异曲同工之妙的,虽然一个看上去“很歹毒”,而另一个看上去很“无公害”。但其实都是可以获得好处的。 发现大宝老船长越变长越变大,行动得越慢。 所以说,实力地位越强,其实压力责任担子越重了。 我很喜欢《星际特工》这部剧。缪星人铭记历史,却忘记仇恨。既往不咎,好大度。告诉人类要珍爱和平。 那个人类指挥官却是大坏蛋。果然很多大boss都是看似正经人,却是为了自己利益的幕后黑手。也是这种剧的一般套路。他就没有做到位高权重,反而是滥用私权,不仅不承认错误,反而为了掩饰错误更加滥杀无辜。 而这种人如果做坏事情,破坏力影响力会更大的啊。所以希望人们可以在其位,谋其政吧。 蛇在增速的时候,会消耗一点自己本身的长度。但是有的时候,抢尸体时要出手,只要拉出来一点点就可以收获很大的增速。慢悠悠的不仅慢可能吃不到,争夺过程中被干掉的可能性又加大了。 说起“舍得”二字,我第一个想到的是寒山和拾得之间的这一段经典对话。 这也就是目光长远,懂得取舍了。就和大宝老船长一样,做点小牺牲是为了收获更多的东西。就像不去计较一些诽谤之词,收获的是一份安宁的心境。而这份安宁的心境对自己的身心健康都非常重要。 反之,如果去过分计较,就算在口头上有时候能占些便宜,可终究有一股郁结之气在胸中难以排解。既伤人又害己,何必呢? 所以,“取舍”、“取舍”,目光放得长远些,不要总看眼前的一时吧。 躲在角落里看激烈争夺必有伤亡,到时候如果吃不到全部的,有残羹冷炙也是能分到点的。 你看,连君王治国都要用上这个道理,更何况是咱们普通人呢。知足常乐,云淡风轻,其实是一种我们应该提倡的生活高姿态。这样子人就不会总是被欲念所扰,总是为了一些求而不得的东西绞尽脑汁,煞费苦心。 很多时候,应该学会享受当下。因为,生命实在是太宝贵了,我们应该用一颗平常心去生活。这样,才更有可能和一些有趣的灵魂相遇。 不管我选择偏安一隅还是奋勇向前,大宝老船长总该学会保护自己的。不过,只偏安一隅,会有人杀你;只急躁冒进,会自己被自己杀死。所以,还是随机应变哦。 比如欲擒故纵,还不抢食,把尸体放在自己身边等别的蛇吃,那么那条蛇一心急,它可能就撞死在你身上了。 还有的时候,是因为自己让自己撞墙而死。所以说,很多时候自己也会是被自己“作死”的。 我们随机应变的有很多东西,比如心态行动什么的,都要根据自己的处境好好考虑的。一成不变、墨守成规在这个时代里很容易吃亏。 比如你恋爱了,那么就要学着去与对方相互磨合,为你爱的那个人改变一下自己;比如你工作了,就要去与上司同事融合关系,争取“双赢”的局面…… -END- 最后总结:“蛇生”如“人生”,这是一个光怪陆离,充满着各种复杂的世界。所以,好好把握哦。 卿慕 ,一个间接性踌躇满志,持续性混吃等死,具有多重人格的作者。

c贪吃蛇论文参考文献

您的电子信息工程专业论文具体是什么题目呢有什么要求呢论文是需要多少字呢开题报告 任务书 都搞定了不你可以告诉我具体的排版格式要求,希望可以帮到你,祝写作过程顺利论文如何定题目 首先看是什么专业的题目其次根据专业和教授的口味来定题目尽可能不要大众化 (一)选题毕业论文(设计)题目应符合本专业的培养目标和教学要求,具有综合性和创新性。本科生要根据自己的实际情况和专业特长,选择适当的论文题目,但所写论文要与本专业所学课程有关。(二)查阅资料、列出论文提纲题目选定后,要在指导教师指导下开展调研和进行实验,搜集、查阅有关资料,进行加工、提炼,然后列出详细的写作提纲。(三)完成初稿根据所列提纲,按指导教师的意见认真完成初稿。(四)定稿初稿须经指导教师审阅,并按其意见和要求进行修改,然后定稿。 选题是决定毕业设计(论文)训练成败与质量好坏的关健之一。1、通信工程专业本科从选题的内容上可以分为理论型毕业设计(论文)和应用型毕业设计(论文)两大类。2、从本科毕业设计(论文)课题的来源,也可以分为教师命题型和自选型毕业设计(论文)两大类。3、学生要根据通信工程专业课程群来确定选题方向,数字通信与网络交换方向及信号及信息处理方向的所有应用方面课程均可以作为选题内容。但是,电子技术应用方向及计算机应用方向必须与通信或信号信息处理相结合,其中要有与通信相关的内容。4、从通信工程专业本科毕业设计(论文)所涉及的研究领域来看,可以是以下内容:(1)网络交换与数据传输分析;(2)通信网络或数字通信仿真(MATLAB,Systemview等);(3)信号及信息处理,(如数据采集,USB接口传输,图像数据处理等);(4)红外线遥感技术(如防盗遥感技术)(5)网络信息安全(如编码技术)(6)通信类软件开发,(如C语言与蓝牙结合)(7)数据传输类接口电路设计或软件设计(如嵌入式蓝牙设计)(8)光纤、无线、移动等通信新技术方面的应用或开发;(9)微波技术,电磁波传输技术,卫星雷达等方面(10)计算机网络或计算机控制方面(11)通信在军事方面的应用研究;(12)程控交换,交互式有线电视网等。(13)其他与通信相关的命题。计算机信息,通信工程,本科毕业论文参考选题 Linux(gatagram模块)源码分析Linux网络子系统stream模块分析Linux网络子系统的FDDI模块分析?? Linux网络子系统的hippi模块分析Linux网络子系统的模块分析Linux网络子系统的psnap模块分析Linux系统中模块的分析港口进口业务设计与实施基于Linux系统中模块分析建材商行商务管理系统师技校网站网络子系统PKTGEN模块的分析网上考核系统-杭州刑侦警务信息平台子系统药库药品管理系统住院管理系统毕业设计管理系统的设计与实现仓库进销存管理系统----库存管理模块成绩管理系统的设计与开发杭州市自助旅游服务系统的开发与设计建材库存管理系统明星个人网站建设农行信贷客户查询与信用等级管理系统皮具销售库存管理信息系统的分析与实现企业网站设计与建设汽车俱乐部管理系统的开发与设计人事工资管理系统人事管理系统瑞安市公交查询系统的设计与实现在线健身商品交易网站设计与实施杭州绿化网网站设计宁波亿泰工贸有限公司企业网站设计企业电子商务网站建设阳光集团人事信息管理系统的设计与实现义乌潜龙玩具厂电子商务网站建设LG分公司家电销售管理系统典当行传统物品管理系统电缆销售管理系统设计(订单管理系统)基于B/S结构的海关人事信息管理系统设计与实现基于WEB的人力资源管理系统家庭理财管理信息系统的设计与开发酒店客房管理系统的分析与设计旅行社业务管理信息系统的设计与实现企业设备档案管理信息系统的设计与实施汽车在线销售系统人事管理系统手机缴费帐务管理系统台帐管理信息系统网上书店的设计与实现小区物业管理信息系统的设计与实现烟草进销存管理信息系统的设计与实现中小型宾馆客房管理系统的实施与分析重庆九龙发电厂内部网站的设计与实现重庆索特集团销售信息管理系统DirectX小型游戏程序设计与分析基于3DS MAX三维建筑模型的设计与实现基于OPENGL的三维游戏引擎分析贪吃蛇游戏程序设计与实现 网络技术应用-在线实验教学管理信息系统的开发与设计银行人事管理信息系统的设计与实现珍珠及珍珠饰品(首饰)电子商务网站的设计与实现中学图书室图书管理信息系统从Perl正则表达式到关系数据库模式一种新型正则表达式分析树的建立用Perl语言抽取网页信息正则表达市的可视化构建超声图象管理系统设计与实施城际旅游铁路交通信息查询系统的设计与实现电脑经销物质管理信息系统基于Apriori算法的学籍课程成绩关联规则挖掘研究基于多维数据分析方法的学籍学分预警模型的研究课程教学管理信息系统联创客户关系管理系统的设计和实现审计辅助信息管理系统的设计与实现试题库管理和试卷生成系统图书借阅信息统计分析系统的设计与实现校园导游系统的设计与实现医药销售信息管理系统浙江财经学院校园信息查询网站的设计与实现--基于的WEB项目开发技术研究及应用浙江财经学院信息学院网站综合导师工作管理信息系统仓储管理系统超市商品销售管理系统的设计与实现车辆销售管理系统工厂员工管理系统基于ASP的网上购物系统的开发与实现基于Web技术的网络考试系统的设计与实现健康保健网站健身房管理软件酒店管理系统的设计与实现网络销售系统基于LL(1)算法实现pascal的子集的程序设计语言的语法分析商场进销存系统电脑配件销售管理系统的开发与设计电脑销售客户服务管理信息系统工资管理系统设计与实施零售业物资管理决策系统农村有线电视收费系统人事档案管理系统开发与实施书店管理系统的设计与实现小型旅馆管理信息系统中小型超市管理系统的设计与实现VIP贵宾卡积分消费系统电力参数分析系统的开发与设计电网功率因数自动补偿控制器的研究高等院校课程安排管理系统基于LABVIEW的粮库PH3浓度检测系统的研究基于S3C44BOX+uCLinux的嵌入式用程序的设计与开发基于单片机的电动车测速/里程测量显示系统的设计基于单片机的交通信号控制系统的设计基于单片机的数字式温度测量系统的设计基于单片机的心率测量系统的设计基于单片机的液滴速度测量系统的设计驾校信息管理系统进出口公司货物运输管理系统 汽车配件管理系统的设计与实施题库管理系统智能行出租车计价系统的设计个人主页建设的设计与实现基于XML的RDBMS数据提取方法研究基于构件的GIS软件开发研究玩具租借网站的设计与开发网络搜索引擎机制的研究学生档案管理信息系统的设计与实现中小型企业人事管理系统的开发与实现110指挥中心接处警调度管理系统宾馆客户管理系统个人所得税征管系统的设计与开发考勤管理系统的开发与设计企业人事管理系统信息系统安全策略的制订学生成绩管理信息系统第三方物流在供应链管理下的应用分析--区域经济下的第三方物流电子商务环境下的物流配送突破电子商务瓶颈、提高物流配送效率小区车辆收费管理系统的设计与开发IP网络QoS解决方案Intserv/RSVP研究当前IPV4向IPV6过渡技术浅析服装销售系统互联网路由器备份协议HSRP的研究拉链厂车间管理系统丽水学校校园设计方案网上聊天室程序设计网上人才管理信息系统的设计与实现网上银行系统的模拟与设计小区物业管理系统新天地健康会馆会员系统云和县国税局综合大楼网络规划运输物流信息管理系统在线图书零售系统IDXP(入侵检测信息交换协议)的标准IDXP(入侵检测信息交换协议)的简易实现IDXP协议的简易实现程序漏洞分析与利用基于RoadRunner的对等体间通信技术应用研究计算机网络安全案例分析鞋零售业进销存系统开发与设计出版社期刊出版中心发行业务管理系统纺织业务管理系统公关营销培训学校业务管理系统的设计与实施旅游资源及客户信息管理系统汽配管理系统嵊州市新型农村合作医疗征缴子系统校园网站设计与实现——数学与统计学院网站设计医药管理系统设计与实施银江电子科技有限公司库存管理系统的设计与实施浙江华天机械有限公司的客户信息管理系统的设计与实施住房公积金贷款管理系统餐饮管理系统城市公交线路查询系统房地产客户管理信息系统的设计与开发服装生产管理系统的设计与实现杭州伟星建材销售系统设计与实施基于WEB架构的幼儿园管理系统基于XML的影片租赁系统的开发与设计基于工作流思想的毕业设计管理系统健康风险评估系统社会劳动保障管理局新闻发布系统设计与实现塑料信息网站文件管理系统的开发与设计新闻网站管理系统的设计与实现医院住院管理 1、论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文中主要段落的简表。(短篇论文不必列目录)3、提要:是文章主要内容的摘录,要求短、精、完整。字数少可几十字,多不超过三百字为宜。4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。 每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。主题词是经过规范化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词表中的规范词语。5、论文正文:(1)引言:引言又称前言、序言和导言,用在论文的开头。 引言一般要概括地写出作者意图,说明选题的目的和意义, 并指出论文写作的范围。引言要短小精悍、紧扣主题。〈2)论文正文:正文是论文的主体,正文应包括论点、论据、 论证过程和结论。主体部分包括以下内容:a.提出-论点;b.分析问题-论据和论证;c.解决问题-论证与步骤;d.结论。6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息所列参考文献的要求是:(1)所列参考文献应是正式出版物,以便读者考证。(2)所列举的参考文献要标明序号、著作或文章的标题、作者、出版物信息。

写单片机贪吃蛇游戏毕业设计开题报告文献综述方法如下。1、文献综述,研究思路研究方法及手段。2、参考文献进度安排。3、文献综述是开题报告中的最重要部分。

学生课程设计(论文)题 目: 贪吃蛇游戏程序设计指导学生姓名: 学 号:200910801001所在院(系): 计算机学院专 业: 计算机科学与技术班 级: 2009级一班指导教师: 何春燕 职称: 讲 师2010年06月 18日目录摘要…………………………………………………………61、设计要求………………………………………………….72、所用仪器设备…………………………………………….73、具体设计过程…………………………………………….、程序功能……………………………………………设计思想……………………………………………….设计的具体实现…………………………………… 总体流程图………………………………………….、程序代码编写及注释………………………………..调试问题及解决方法…………………………………调试结果…………………………………………….设计心得体会………………………………………………、参考文献………………………………………………..26摘 要编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。作为一个完整的程序,尤其是一个完整的游戏,必须考虑人机交流与用户体验。游戏的界面不能太丑,更不能连个简单的界面都没有。游戏应该有个比较漂亮的界面,在有必要硬件支持和软件的支持下,游戏开发者必须最大限度的使游戏美观。游戏的美观是一方面,游戏的内在素质是另一方面。一个游戏的优劣,最终由玩家决定。在游戏与玩家见面之前,游戏开发者要设计一种让玩家投入的游戏模式,并且在一定的游戏规则下进行。关键词 贪吃蛇 流程图 c语言 源程序 turbo C贪吃蛇游戏程序设计1、设计要求通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。(1).收集资料,分析课题,分解问题,形成总体设计思路;(2).深入分析各个小问题,列出大纲,编写各部分程序模块;(3).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍;(4).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;(5).完成课程设计报告,并进行答辩C语言是一种易学易懂的通用程序设计语言,由于它具有功能性强,运用简洁,灵活兼有高级语言与低级语言的优点,以及“目标程序效率高”可移植性和能在各种系统上普遍实现等特点使它成为当今世界上的主流程序设计语言之一,同时被选作目前全世界广泛应用,同时也是大学生必修的科目。作为一位当代的大学生更要很好的利用它,学好一门设计语言,实现学以至用。制作C程序报告,可以巩固和加深自己对C语言课程的基本知识的理解和掌握,并且能够掌握C语言编程和程序调试的基本技能。通过游戏程序的设计训练可以提高自己的基本技能,更好地掌握字符串的表示方法和字符串函数的功能、Tc图形操作的基本知识、键盘上特殊键的获取以及图形方式下光标的显示,提高自己编程兴趣与编程水平,学会如何正确的书写程序设计说明文档,提高运用C语言解决实际问题的能力,巩固C语言语法规则的理解和掌握,学会通过源程序写出流程图,提高自学以及查阅资料的能力。2、所用仪器设备1、能正常工作的计算机一台; 2、WindowsXP;3、TC程序; 4、Microsoft Word2003;3、具体设计过程、程序功能贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体叉蛇头撞倒自己身体游戏结束。 设计思想程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。.设计的具体实现(1)函数定义函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用#define N 200#include <>/*图形头文件*/#include <>/*包含rand等函数*/#include <>/*包含bios函数*/#define LEFT 0x4b00/*光标左键值*/#define RIGHT 0x4d00/*光标右键值*/#define DOWN 0x5000/*光标下键值*/#define UP 0x4800/*光标上键值*/#define ESC 0x011b/*ESC的ASCII码*/int i,key;/*图形坐标变量及按键变量*/int score=0;/*得分*/int gamespeed=10000;/*游戏速度自己调整*/struct Food{int x;/*食物的横坐标*/int y;/*食物的纵坐标*/int yes;/*判断是否要出现食物的变量*/}food;/*食物的结构体*/struct Snake{int x[];/*蛇的横坐标*/int y[];/*蛇的纵坐标*/int node;/*蛇的节数*/int direction;/*蛇移动方向*/int life;/* 蛇的生命,0活着,1死亡*/}snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*画界面函数*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*/void main(void)/*主函数*/(2)主函数main( )主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序void main(void)/*主函数*/{Init();/*图形驱动*/DrawK();/*开始画面*/GamePlay();/*玩游戏具体过程*/Close();/*图形结束*/}void Init(void)/*图形驱动*/{int gd=DETECT,gm;initgraph(&gd,&gm,"c:\\tc"); /*第一个参数表示图形适配器的类型,第二个为在该类型下图形的显示模式,第三个参数指定驱动程序所在目录。*/cleardevice();}(3) 画界面函数DrawK( )主界面是一个封闭的围墙,用两个循环语句分别在水平和垂直方向输出连续的宽度和高度均的矩形方块,表示围墙,为了醒目,设置为白色。void DrawK(void)/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/{setbkcolor(0);/*设置当前背景颜色*/setcolor(YELLOW);/*设置当前画线颜色*/setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/for(i=50;i<=600;i+=10)/*画围墙*/{rectangle(i,40,i+10,49); /*上边*/rectangle(i,451,i+10,460);/*下边*/}for(i=40;i<=450;i+=10){rectangle(50,i,59,i+10); /*左边*/rectangle(601,i,610,i+10);/*右边*/}}(4)游戏具体过程函数GamePlay( )这是游戏的主要组成部分,他采用将前一节的坐标赋给后一节,用背景颜色将最后节去除,当蛇头的坐标与食物的坐标相等时,表示食物被吃掉了。void GamePlay(void)/*玩游戏具体过程*/{randomize();/*随机数发生器*/;/*1表示需要出现新食物,0表示已经存在食物*/;/*活着*/;/*方向往右*/[0]=100;[0]=100;/*蛇头*/[1]=110;[1]=100;/*蛇第二节*/;/*节数*/PrScore();/*输出得分*/while(1)/*可以重复玩游戏,压ESC键结束*/{while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/{if()/*需要出现新食物*/{()%400+60;()%350+60;while(!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/;while(!=0);;/*画面上有食物了*/}if()/*画面上有食物了就要显示*/{setcolor(GREEN);/*食物的颜色*/rectangle();}for(i=;i>0;i--)/*蛇的每个环节往前移动,贪吃蛇的关键算法*/{[i]=[i-1];[i]=[i-1];}switch() /*定义1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/{case 1:[0]+=10;break;case 2: [0]-=10;break;case 3: [0]-=10;break;case 4: [0]+=10;break;}for(i=3;i<;i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/{if([i]==[0]&&[i]==[0]){GameOver();/*显示失败*/;break;}}if([0]<55||[0]>595||[0]<55||[0]>455)/*蛇是否撞到墙壁*/{GameOver();/*本次游戏结束*/; /*蛇死*/}if()/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/break;if([0]==[0]==)/*吃到食物以后*/{setcolor(0);/*把画面上的食物东西去掉*/rectangle();[]=-20;[]=-20; /*-20表示尾巴长一节*//*新的一节先放在看不见的位置,下次循环就取前一节的位置*/;/*蛇的身体长一节*/;/*画面上需要出现新的食物*/score+=10;PrScore();/*输出新得分*/}setcolor(4);for(i=0;i<;i++)/*画出蛇*/rectangle([i],[i],[i]+10,[i]-10);delay(gamespeed);setcolor(0);/*用黑色去除蛇的的最后一节*/rectangle([],[],[]+10,[]-10);} /*endwhile(!kbhit)*/if()/*如果蛇死就跳出循环*/break;key=bioskey(0);/*接收按键*/if(key==ESC)/*按ESC键退出*/break;elseif(key==UP&&!=4)/*判断是否往相反的方向移动*/;elseif(key==RIGHT&&!=2);elseif(key==LEFT&&!=1);elseif(key==DOWN&&!=3);}/*endwhile(1)*/}(5)游戏结束函数GameOver( )游戏结束,清除屏幕,输出分数,显示游戏结束信息。void GameOver(void)/*游戏结束*/{cleardevice();PrScore();setcolor(RED);settextstyle(0,0,4);outtextxy(200,200,"guojian");getch();}void PrScore(void)/*输出成绩*/{char str[10];setfillstyle(SOLID_FILL, WHITE);bar(50,15,200,35);setcolor(6);settextstyle(0,0,2);sprintf(str,"score:%d",score);outtextxy(55,20,str);}void Close(void)/*图形结束*/{getch();closegraph();} 总体流程图}、程序代码编写及注释#define N 200#include <>#include <>#include <>#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011bint i,key;int score=0;/*得分*/int gamespeed=50000;/*游戏速度自己调整*/struct Food{int x;/*食物的横坐标*/int y;/*食物的纵坐标*/int yes;/*判断是否要出现食物的变量*/}food;/*食物的结构体*/struct Snake{int x[N];int y[N];int node;/*蛇的节数*/int direction;/*蛇移动方向*/int life;/* 蛇的生命,0活着,1死亡*/}snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结束游戏*/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");cleardevice();}/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void){/*setbkcolor(LIGHTGREEN);*/setcolor(11);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/for(i=50;i<=600;i+=10)/*画围墙*/{rectangle(i,40,i+10,49); /*上边*/rectangle(i,451,i+10,460);/*下边*/}for(i=40;i<=450;i+=10){rectangle(50,i,59,i+10); /*左边*/rectangle(601,i,610,i+10);/*右边*/}}/*玩游戏具体过程*/void GamePlay(void){randomize();/*随机数发生器*/;/*1表示需要出现新食物,0表示已经存在食物*/;/*活着*/;/*方向往右*/[0]=100;[0]=100;/*蛇头*/[1]=110;[1]=100;;/*节数*/PrScore();/*输出得分*/while(1)/*可以重复玩游戏,压ESC键结束*/{while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/{if()/*需要出现新食物*/{()%400+60;()%350+60;while(!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/;while(!=0);;/*画面上有食物了*/}if()/*画面上有食物了就要显示*/{setcolor(GREEN);rectangle();}for(i=;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/{[i]=[i-1];[i]=[i-1];}/*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/switch(){case 1:[0]+=10;break;case 2: [0]-=10;break;case 3: [0]-=10;break;case 4: [0]+=10;break;}for(i=3;i<;i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/{if([i]==[0]&&[i]==[0]){GameOver();/*显示失败*/;break;}}if([0]<55||[0]>595||[0]<55||[0]>455)/*蛇是否撞到墙壁*/{GameOver();/*本次游戏结束*/; /*蛇死*/}if()/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/break;if([0]==[0]==)/*吃到食物以后*/{setcolor(0);/*把画面上的食物东西去掉*/rectangle();[]=-20;[]=-20;/*新的一节先放在看不见的位置,下次循环就取前一节的位置*/;/*蛇的身体长一节*/;/*画面上需要出现新的食物*/score+=10;PrScore();/*输出新得分*/}setcolor(4);/*画出蛇*/for(i=0;i<;i++)rectangle([i],[i],[i]+10,[i]-10);delay(gamespeed);setcolor(0);/*用黑色去除蛇的的最后一节*/rectangle([],[],[]+10,[]-10);} /*endwhile(!kbhit)*/if()/*如果蛇死就跳出循环*/break;key=bioskey(0);/*接收按键*/if(key==ESC)/*按ESC键退出*/break;elseif(key==UP&&!=4)/*判断是否往相反的方向移动*/;elseif(key==RIGHT&&!=2);elseif(key==LEFT&&!=1);elseif(key==DOWN&&!=3);}/*endwhile(1)*/}/*游戏结束*/调试问题及解决方法将已改好的程序复制到Turbo C时,由于软件的内容过多会出现右移,以致大部分的内容无法复制到Turbo C的界面上,最后导致软件无法运行。解决方法:在改程序时应该把格式设置好,注意左对齐,同时一行的语句尽量的短,最好是一个语句占一行。在将程序输入到TC中,对源程序进行编译、运行,发现程序存在的多处错误, 如下图所示:可以按照程序运行的错误提示对原程序进行修改,在调试过程中有时也会遇到不懂的问题,我去图书馆或上网查阅一些资料或者是向老师请教也解决了对源程序一一修改直到运行成功。调试结果1. 下图为程序调试编译结果:2下图为程序调试运行结果(即贪吃蛇游戏界面)4设计心得体会经过短短两星期的计算机软件技术实习,让我对C程序有了一个更深的了解,以前总认为C语言很枯燥,认为那些我们所设计的程序没有什么用处,但现在通过设计贪吃蛇游戏这个程序使我懂得了如何将所学的知识运用于生活当中。虽然在刚开始设计程序时不太明白如何去设计这程序,但当我看完《C语言课程设计案例精编》并用C语言做出这个贪吃蛇程序后,让我深深感受到C程序的神奇。在设计这个程序中我主要学会了如何运用以下有关C语言的知识1) 函数定义是要做到顾名思义是很重要的,它对读程序的人正确认识程序十分重要,在修改这个程序的过程中也能很快找到程序各模块的作用,大大增加了程序的可读性。2) 分析函数先从main()函数入手。Main()函数是C源程序编译时的开始,从main()函数开始读函数可将其他函数的功能理解得更透彻。3) 在做程序的时候先列框架,将这个程序所要达到的目的(功能)分析出来,选择正确的数据结构然后在将程序模块化,按照模块编写函数更加简单合理。4) 我还了解了很多的库函数的作用,如字符串函数中有很多对字符串进行处理的函数,起功能我都有所了解。同时我也获得了许多宝贵的经验:1) 在设计程序之前,务必要对你所设计的题目和内容有一个系统的了解,知道所设计的题目和内容包含那些资源。2) 设计程序采用什么编程语言并不是非常重要,关键要有一个清晰的思路和一个完整的软件流程图,因而,要先把设计原理与思路搞清楚,再把流程图画出来,这样设计起来就简单多了。3) 在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改进”是程序设计的必经之路,发现错误也是取得成绩的一种。4) 要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便。5、参考文献1.郭翠英,《C语言课程设计案例精编》,中国水利水电出版社,徐金梧,杨德斌等,《TURBO C实用大全》,机械工程出版社,李丽娟 《C语言程序设计教程》 人民邮电出版社4林华聪 《C语言程序设计思想与实践》 冶金工业出版社5张继温 《C语言程序设计教程》 高等教育出版社6 潘云鹤,董金祥等著.计算机图形学——原理、方法及应用.北京:高等教育出版社, 孙家广等,计算机图形学(第三版),清华大学出版社,20048 陈元琰编著.计算机图形学实用技术.北京:科学出版社,20009和青芳著.计算机图形学原理及算法教程.北京:清华大学出版社10 陆润民.C语言绘图教程.北京:清华大学出版社,1996

  • 索引序列
  • 贪吃蛇论文答辩会问什么问题
  • 微信小程序贪吃蛇论文答辩
  • 贪吃蛇论文的开题报告
  • 贪吃蛇毕业论文总结
  • c贪吃蛇论文参考文献
  • 返回顶部