贪吃蛇实训报告.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
贪吃蛇实训报告

郑州轻工业学院实训报告实训名称:贪吃蛇 指导教师: 姓名: 学号: 班级: 提交日期: 一.实验目的通过开发一款贪吃蛇游戏程序,熟练掌握C#编程语言、和面向对象程序设计方法,独立完成一个游戏程序的开发。二.实验题目 本次实训的题目为贪吃蛇。通过使用C#编程语言来实现。三.功能描述1.游戏的基本功能描述游戏场地是一片矩形区域的空地构成,蛇可以在这片定义的区域中自由移动。定义一个Block来构成石块,蛇头,蛇身以及豆。蛇由蛇头和蛇身组成。当游戏开始之后,定义的区域中出现一颗豆和一条蛇,并且蛇不停地移动,蛇移动的方向与蛇头的方向一致。通过space或者暂停键可以使游戏停止,蛇停止移动,分数停止积分。当蛇移动时,玩家可以使用“↑”、“↓”、“←”和“→”四个方向键改变蛇的移动方向。当蛇头与豆的位置重合时,豆被蛇吃掉,同时在草坪中再生成一颗新的豆,蛇身增加一节。当蛇头碰到石块时,蛇死亡,游戏结束。当蛇头咬到蛇身时,则蛇死亡,游戏结束。当蛇头碰到草坪四周时,蛇立即毙命,游戏结束。 游戏分为不同的级别,第一关游戏速度为200,当蛇吃五个豆子就可以过关,级别显示为2,速度增加100变为300.第二关为吃够10个豆子,速度增加50,以后以此类推。 游戏菜单中设有游戏帮助,玩家可以通过点击帮助了解游戏的玩法。 对于不是第一次玩的玩家可以改变蛇的运动速度,来增加难度。在菜单中设有加速和减速两个键,单击可以改变速度。 游戏菜单中还有时间显示。 当游戏暂停时,可以通过“继续”键使游戏继续进行。四.需求分析本游戏用户可以自己练习和娱乐。本游戏需要满足以下几点要求:利用方向键“↑、↓、←、→”来改变蛇的运行方向。 空格键暂停游戏,并在随机的地方产生食物。 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。可行性分析:贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。贪吃蛇的核心算法是如何实现蛇的移动和吃掉食物后如何变成新的蛇体。没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。玩家可以根据自己的水平选择不同的级别进行游戏挑战。贪吃蛇游戏中定义如下:1)空白区域(Lawn):定义的区域是贪吃蛇游戏的场地。豆、石头和蛇只能存在于空白区域的范围之内。根据个人爱好还可以添加背景,改变区域的大小和颜色。2)蛇(Snake):在贪吃蛇游戏中,蛇由若干节组成,其中第一节是蛇头,在蛇头上面定义两个点,作为蛇的眼睛,其余是蛇身。在游戏过程中,有且仅有一条蛇,并且蛇在不停地移动。如果蛇吃了豆,则蛇生长一节。如果蛇头碰到蛇身,蛇死亡,游戏结束。如果蛇头离开所定义的区域,则蛇死亡游戏结束。当蛇头撞到定义的石块上的时候游戏结束。在定义蛇的时候可以改变蛇的初始长度,也可以改变蛇的颜色和大小。3)豆(Bean):在贪吃蛇游戏中,豆是蛇的食物。在游戏过程中,有且仅有一颗豆。如果蛇吃了豆,则重新生成一颗豆。豆的出现是随机性的。4)石块(stone):游戏中石块和豆是同时出现的,不同的是,豆是随机产生的,而石块是固定的,它的坐标在写代码的时候就定义好了,不能够改变。它的大小和颜色也可以随便的改变。5)菜单(MenuStrip):在贪吃蛇游戏中有游戏菜单,里面有开局、暂停、继续、加速、减速、帮助等菜单。还有Label控件,显示速度、时间、日期和积分的。五.设计说明Snake的每一节都有位置和大小等属性。而Bean和stone也具有这两个属性。抽象出这三者的共同特征,抽象出一般类Block,用于描述一个块。Block派生出Bean和SnakeBlock两个类,其中SnakeBlock类用于描述蛇的一节。为了使游戏的运行更易于控制,定义Game类用于启动、暂停和继续游戏。根据需求分析可知,Lawn仅包含大小和颜色两个属性。为了减少类的数量,可将其大小和颜色等属性添加到Game类中。综上所述,在贪吃蛇游戏中,有Block(块)、Bean(豆)、SankeBlock(节)、Snake(蛇)、Game(游戏)和MainForm(用户接口)六个类。游戏逻辑构思图如下:重新开局吃到豆游戏的设计如下:六.源代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;usi

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档