欢迎来到天天文库
浏览记录
ID:37576077
大小:250.50 KB
页数:20页
时间:2019-05-25
《贪吃蛇说详细明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、贪吃蛇目录一、游系功能介绍二、窗体界面设计三、Snack蛇类四、Food食物类五、窗体代码设计六、实现流程图七、运行图解八、说明图解九、总结一.游戏功能介绍本游戏主要实现的是贪吃蛇吃东西,吃食物加分,每次吃一个食物他会变长,当分数达到一定值会升级,所谓的升级就是速度加快,当蛇头撞到自己的身体部位或者是墙游戏就会结束,所谓的撞墙就是蛇头越界超出自己所规定的界面,在游戏未开始前可以对游戏难度进行设置,还可以设置蛇体颜色,食物颜色,蛇体。食物大小,当游戏开始的时候,出了对游戏进行暂停外,不得对游戏进行其他操作。二.窗体界面设计2个窗体,1个主窗体Form1里面第
2、一层是建一个菜单栏包裹游戏选项,设置,帮助。游戏选项里面包括(开始,暂停,退出)设置里面包括(难度等级(初级,中级,高级)蛇体颜色,食物颜色,蛇体大小)帮助里面显示的是Form2界面内容菜单栏下面一个容器panel旁边是3个lable标签,第一个显示分数字;第二个是显示运行时的实际分数;第三个显示的是游戏规则说明下面就是一个文本框用来接收收状态的,旁边就是一个游戏结束按钮便于立刻结束,克服了玩家不想玩而又退不退不出去的障碍对了在窗体里面拖放一个计时器用来计时三.Snack蛇类1、定义字段:publicstaticintSnakeBone=10;//设置蛇体
3、模块大小publicstaticintDirect=0;//设置方向publicstaticPoint[]Place={newPoint(-1,-1),newPoint(-1,//设置蛇体各模块的位置publicstaticboolhasFood=false;//是否有食物,有食物为truepublicstaticboolisGame=false;//游戏是否结束,游戏结束为truepublicstaticintField_with=0;//场地的宽度publicstaticintField_length=0;//场地的长度publicstaticCont
4、rolcontrol;//记录绘制贪吃蛇的控件publicstaticTimertimer;//记录Time组件publicstaticSolidBrushSolidSnake=newSolidBrush(Color.Green);//设置贪吃蛇身体颜色publicstaticSolidBrushSolidBack=newSolidBrush(Color.Green);//设置背景颜色publicstaticLabellabel;//记录label控件publicstaticArrayListList=newArrayList();//实例化一个Array
5、List数组Graphicsg;//实例化Graphics类Foodfood=newFood();2、命名空间的支持usingSystem.Drawing;支持:SolidBrush、Graphics、Point类usingSystem.Windows.Forms;支持:Control、Timer、Label类usingSystem.Collections;支持:ArrayList类3、定义一个函数用于绘制贪吃蛇的起始位置,以及对游戏场地进行初始化设置的方法publicvoidGamePlaceSet(Controlcon,intBone){Field_w
6、ith=con.Width;//获取场地的宽度Field_length=con.Height;//获取场地的长度SnakeBone=Bone;//记录蛇体模块大小control=con;//记录背景控件g=control.CreateGraphics();//创建背景控件的Graphics类SolidBack=newSolidBrush(con.BackColor);//设置画刷颜色for(inti=0;i7、e[i].Y=(Field_length/2)-SnakeBone;//设置蛇初始位置的纵坐标g.FillRectangle(SolidSnake,Place[i].X+1,Place[i].Y+1,SnakeBone-1,SnakeBone-1);//绘制蛇体}List=newArrayList(Place);//记录每一个模块的位置isGame=false;//停止游戏Direct=0;//设置方向向右}4、定义一个SnakeMove函数用于蛇体移动,根据蛇的位置,判断是否吃到食物,如果吃到食物,重新生成食物publicvoidSnakeMove(in8、tN,Form1control1){Pointtem_point=
7、e[i].Y=(Field_length/2)-SnakeBone;//设置蛇初始位置的纵坐标g.FillRectangle(SolidSnake,Place[i].X+1,Place[i].Y+1,SnakeBone-1,SnakeBone-1);//绘制蛇体}List=newArrayList(Place);//记录每一个模块的位置isGame=false;//停止游戏Direct=0;//设置方向向右}4、定义一个SnakeMove函数用于蛇体移动,根据蛇的位置,判断是否吃到食物,如果吃到食物,重新生成食物publicvoidSnakeMove(in
8、tN,Form1control1){Pointtem_point=
此文档下载收益归作者所有