- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#开发贪食蛇游戏
摘要:使用C#进行游戏开发是近几年有程序设计者不断尝试的手段之一,纠其好与坏,正如当初在.NET推出之始,众人对其与Java平台的争论是一致的――仁者见仁,智者见智。该文通过一小例,旨在帮助大家了解c#在进行游戏开发过程中的简单算法。
关键词:C#;游戏开发;算法
中图分类号:TP312文献标识码:A文章编号:1009-3044(2011)18-4442-02
C# for Snake Game Development
YANG Rui-na
(Tianjin Binhai Vocational College, Tianjin 300451, China)
Abstract:In recent year, use C# for game development is one of means by programmer to do trying. Judge it is good or bad, as the .NET was released in the original, it was the same as arguments with Java platform by folk: everyone has their own ideas. The aim of this paper is to help members learning the simple algorithm in the game development by using C# through a little example.
Key words: C#; game development; algorithm
1 C#开发游戏的前景
使用c#进行游戏开发是一些.NET拥护者喜欢做的事情,似乎不做游戏是种缺憾。但也有另一个声音:C#是托管的[1],开发出来的程序性能太差了,怎么能拿来做游戏,游戏那肯定非C/C++专属。或许效率最高的往往能够达到最好的效果,在游戏设计上也必然更加游刃有余,而在这一方面,C++已经完成了多年的积累,各种技术积淀都很深厚。而相对C++,C#从语言层次来讲,提供了很多相对于C++的优势,天生的弱引用、空对象、引用传递、反射、线程、安全性和内存管理等等[2]。虽然在.NET框架下面会带来部分的性能损失 ,这是由于它的特性所决定的,因为框架帮我们封装了很多类库,但我们对底层API是透明的,从而简化了开发时间,可以帮助我们提升开发效率。因此,有人大胆预言:C#将成为游戏开发的主流!或许这需要5年、10年或者更长的时间,可谁又能说这不可能呢!
2 “贪食蛇”游戏的设计思想
“贪食蛇”游戏的操作主体有两个一个是蛇,另一个是食物。因此,基于面向对象语言的特点,我将“蛇”(snake)设计成为了一个类,它有长度、颜色、速度、方向、状态等属性,有运动、吃食物等方法。另外一个类描述为食物(food),其基本属性包括位置及状态,主要方法为食物的新建过程。
再来说操作过程,“蛇”的初始速度默认设置为初级难度,这一调整用户可在“难度设置”菜单中完成。食物的位置是随机的[3],蛇头每次触碰到食物,蛇身在加长的同时成绩加10分,这样累加,直到游戏结束,在显示结果的文本框内显示玩家最终的成绩。
在游戏的设计过程中,有关于颜色的设置。因为在网络上关于贪食蛇的游戏下载有很多,为了有所区分便添加了颜色的调整,虽然不复杂,但可以略显设计者的个性。
游戏的开始、结束、暂停以及加分功能均在窗体的代码事件中完成定义过程。开始是由用户通过单击命令按钮实现的;游戏过程中的任意时刻玩家只要按下空格键均可进行游戏的暂停状态,再次按下空格游戏继续进行;另外每吃掉一个食物,玩家的总成绩都会加10分,最终可以文本框控件内累积出当前玩家的最高分。
3 游戏的主要算法
3.1 蛇的绘制
主要完成蛇身体大小的定义,在算法中应用了动态数组ArrayList,通过其Add方法用Point类的指定坐标初始其长度。(部分代码实现)
//设置大小
size = new Size(10,10);
//设置身体
snake = new ArrayList();
for(int i=0;i5;i++)
{
body = new Label();
body.BackColor = _color;
body.Size = size;
body.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
body.Location=new Point(
您可能关注的文档
- “知识表示与知识推理”知识体的教学设计.doc
- “智能”学科建设的基本概念问题.doc
- “智能计算”研究生课程教学方法与实践.doc
- “智能科学技术导论”课程教学模式新思考.doc
- “智能科学与技术”专业教学平台探讨.doc
- “智能科学与技术”本科专业软件实践类课程建设探讨.doc
- “智能科学与技术”专业“数字图像处理”课程教学实践的探讨.doc
- “智能优化算法及其应用”课程教学的实践与探索.doc
- “中小企业网络构建与管理实务”课程设计与实践.doc
- “主导•主体”教学模式在配置路由选择协议实验中的应用.doc
- XX国企党委《中国共产党国有企业基层组织工作条例(试行)》贯彻落实情况报告.docx
- 上海市水体清澈度提升技术指导意见(试行).docx
- 淄博齐鲁乙烯化工股份有限公司技术改造项目-公示版.docx
- 训战营第二期-克服团队协作的五大障碍.pptx
- 2025年6月汽车市场分析(乘用车、进口、商用车等)-2025-07-市场解读.pdf
- 任丘事业单位真题2024.docx
- 国内外BIM研究进展清华大学土木工程课件.pptx
- 企业安全生产法律法规知识培训ppt课件.pptx
- 国有企业成本管控措施-20250207065839.docx
- 2025至2030年中国空气弹簧行业市场调查分析及投资发展潜力报告.docx
最近下载
- 水泥厂电气培训课件.pptx
- 体例格式9:工学一体化课程《windows服务器基础配置与局域网组建》任务1学习任务工作页.docx VIP
- 金税四期税务风险预警指标汇总.pdf
- 豆腐柴人工栽培技术.pdf VIP
- 天津市小升初小卷真题小外(天津市外国语大学附属外国语学校)(5套含答 .pdf VIP
- 控制计划(机加).docx VIP
- 土地资源管理学(第二版)张正峰,第一至第十二章知识点.docx VIP
- 专题三 透镜及其应用 2025年中考物理基础知识考点专题练习(含答案).docx VIP
- DL/T 502-2006 火力发电厂水汽分析方法(第1-32部分).pdf VIP
- 施工现场总平面布置培训.pptx VIP
文档评论(0)