文档详情

C#开发贪食蛇游戏.doc

发布:2018-03-15约3.9千字共8页下载文档
文本预览下载声明
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(
显示全部
相似文档