- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. ..
. .可修编.
C#编程 [“贪吃蛇〞小游戏]
一、工程容及要求
编程实现一个“贪吃蛇〞小游戏,具体要求如下:
1〕程序启动后,蛇身默认向右移动,直到用户按下方向键改变运动方向。
2〕玩家通过键盘上的上、下、左、右四个方向键控制蛇在地图上寻找豆,蛇吃下豆后,蛇身加长一节。
3〕界面上任意时刻同时会有三个豆,豆的位置随机生成,定时刷新。
4〕在游戏过程中,假设蛇头碰到场地边界或自己的身体,那么游戏失败。
二、算法分析
一、控件设计
1〕主菜单控件 MenuStrip
2〕面板控件 Panel:背风光为黄色
3〕标签控件 Label1、Label2
二、类设计
1〕Game类,入口主窗体、游戏界面类。Game类的主要功能包括控制游戏的开场与暂停、选择游戏关卡、声明并创立蛇的行为及豆的行为线程,启动线程。
2〕Block类:代表蛇和豆一个节点的块类,游戏中需要绘制的块分为以下三种情况:〔1〕蛇头:红色椭圆〔2〕蛇身:红色矩形〔3〕豆:绿色椭圆
添加类的属性:块的颜色、是否蛇头、是否豆,横坐标X、纵坐标Y
添加类的行为:绘制块draw〔〕方法,构造函数〔判断是否豆〕,重载构造函数
3〕Snake类:定义游戏中的蛇。其属性包括蛇移动的方向以及蛇身的集合〔泛型集合List〕;其行为成员包括蛇吃豆、吃过豆之后蛇身增长、蛇身移动以及判断蛇是否死亡等。
4〕Beans类:定义游戏中的豆。其属性包括3个豆组成的列表〔List〕;其行为成员包括定时刷新豆的集合以及移除某个豆。
三、界面及运行过程
四、关键代码
〔代码要求注释完整,例如:变量的作用,语句的作用,方法的功能等都要加注释说明〕
namespace工程5
{
publicpartialclassForm1 : Form
{
Food food = newFood();
Snake snake = newSnake();
privateint score;
public Form1()
{
Initializeponent();
timer1.Enabled = false;//timer是否可用
timer1.Interval = snake.Speed; //蛇初始速度
score = 0;
}
Point[] body = newPoint[1000]; //蛇最大长度
privatevoid操作ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
protectedoverridebool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
caseKeys.Up:
if (snake.Direction != Direction.down)
{
snake.Direction = Direction.up;
}
break;
caseKeys.Down:
if (snake.Direction != Direction.up)
{
snake.Direction = Direction.down;
}
break;
caseKeys.Left:
if (snake.Direction != Direction.right)
{
snake.Direction = Direction.left;
}
break;
caseKeys.Right:
if (snake.Direction != Direction.left)
{
snake.Direction = Direction.right;
}
break;
}
returnbase.Proc
您可能关注的文档
最近下载
- 2025年单招考试数学卷(含答案解析) 完整版2025.pdf VIP
- 机械伤害应急预案.docx VIP
- 《防止静电事故通用导则》GB_12158—2006.pdf VIP
- 浙江省9+1高中联盟2024-2025学年高一上学期期中考试数学试卷含答案.docx VIP
- 幼儿园公开课大班科学《有趣的颜色》课件.pptx VIP
- 山东省2025年专升本英语真题.docx VIP
- xx名校长工作室管理制度.docx VIP
- 浙江省9+1高中联盟2024-2025学年高一上学期期中考试数学试卷 含解析.docx VIP
- SAC24000T全地面起重机参数表.pdf VIP
- 07SD101-8 电力电缆井设计与安装.pdf VIP
原创力文档


文档评论(0)