C#课程设计贪吃蛇Word格式.docx
《C#课程设计贪吃蛇Word格式.docx》由会员分享,可在线阅读,更多相关《C#课程设计贪吃蛇Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
![C#课程设计贪吃蛇Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/28/93879f44-3a22-4c7d-bff3-65eccfbe6851/93879f44-3a22-4c7d-bff3-65eccfbe68511.gif)
2.掌握C#语言的异常处理技术,能够使用.NET各种调试方法调试代码,掌握帮助的使用方法。
3.掌握常用控件以及控件的常用属性的使用方法。
4.程序中应有不少于100~300行的自行编写的代码,代码需书写详细注释。
5.软件界面美观大方,操作简洁易用,功能完备可靠。
二、题目说明
贪吃蛇是一款经典游戏,游戏通过adws方向键控制贪吃蛇移动并吃掉屏幕上出现的实物,不能碰到墙壁和自己的身体。
游戏开始可以选择贪吃蛇移动的速度,速度越快迟到果实的得分也就越高。
2.1程序开发背景
MicrosoftVisualC#2005是一款入门级程序,visualbasic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。
贪吃蛇游戏非常普遍,几乎所有手机上都有这种游戏,它可以在上班、学习比较累的时侯娱乐一下。
这款游戏操作简单,界面整洁,是非常好的游戏。
2.2发工具介绍
此程序使用MicrosoftVisualC#2005ExpressEdition工具开发的,虽然VisualC#2005ExpressEdition是一款入门级的集成开发环境,但是它同样具有强大的功能,完全可以满足学生和新手的需要,主要功能如下:
与ANSI兼容的C#2.0编译器、功能齐全的集成调试器、高级IntelliSense功能、针对Windows窗体开发的设计时支持、支持本地数据库访问和轻松访问XMLWeb服务等
VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序
三、总体设计
贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。
作为一个完整的程序,尤其是一个完整的游戏,必须考虑人机交流与用户体验。
实现思路及具体代码:
1.初始化:
publicmainForm()
{
//
//Windows窗体设计器支持所必需的
InitializeComponent();
//TODO:
在InitializeComponent调用后添加任何构造函数代码
}
2.游戏设置:
this.menuItem1.Text="
游戏设置"
;
//
//menuItem2
this.menuItem2.Index=0;
this.menuItem2.Text="
蛇体颜色设置"
this.menuItem2.Click+=newSystem.EventHandler(this.menuItem2_Click);
//menuItem3
this.menuItem3.Index=1;
this.menuItem3.Text="
食物颜色设置"
this.menuItem3.Click+=newSystem.EventHandler(this.menuItem3_Click);
//menuItem4
this.menuItem4.Index=2;
this.menuItem4.MenuItems.AddRange(newSystem.Windows.Forms.MenuItem[]{
this.menuItem8,
this.menuItem9,
this.menuItem10,
this.menuItem11});
this.menuItem4.Text="
游戏难度设置"
//menuItem8
this.menuItem8.Checked=true;
this.menuItem8.Index=0;
this.menuItem8.Text="
菜鸟"
this.menuItem8.Click+=newSystem.EventHandler(this.menuItem8_Click);
//menuItem9
this.menuItem9.Index=1;
this.menuItem9.Text="
大鸟"
this.menuItem9.Click+=newSystem.EventHandler(this.menuItem9_Click);
//menuItem10
this.menuItem10.Index=2;
this.menuItem10.Text="
老鸟"
this.menuItem10.Click+=newSystem.EventHandler(this.menuItem10_Click);
//menuItem11
this.menuItem11.Index=3;
this.menuItem11.Text="
自虐"
this.menuItem11.Click+=newSystem.EventHandler(this.menuItem11_Click);
//menuExit
this.menuExit.Index=3;
this.menuExit.Text="
退出"
3.积分:
if(this.snake.Eat(this.foodPoint))
{
//改变积分
this.textBox1.Text=System.Convert.ToString(++this.foodCount*10);
4.是否结束游戏:
//开始游戏
privatevoidStartGame()
drawDelegate=newDrawDele(PutFood);
this.Invoke(drawDelegate,null);
while(true)
{
Thread.Sleep(speed);
if(this.IsGameOver())
{
MessageBox.Show("
GAMEOVER"
);
try
{
this.game.Abort();
}
catch
}
四、详细说明
4.1系统实施
1.游戏界面
图1开始界面
2.开始前的游戏设置
图2游戏设置
介绍:
该操作可以设置蛇的颜色、食物的颜色,以及游戏的难度。
具体代码:
3.当程序运行,点击开始按钮后的界面
图3开始界面
控制键的具体代码:
//接受键盘事件处理
privatevoidmainForm_KeyPress(objectsender,KeyPressEventArgse)
if(e.KeyChar=='
a'
)
this.snake.SnakeWay=(this.snake.SnakeWay==Way.EAST)?
Way.EAST:
Way.WEST;
elseif(e.KeyChar=='
d'
this.snake.SnakeWay=(this.snake.SnakeWay==Way.WEST)?
Way.WEST:
Way.EAST;
w'
this.snake.SnakeWay=(this.snake.SnakeWay==Way.SOUTH)?
Way.SOUTH:
Way.NORTH;
s'
this.snake.SnakeWay=(this.snake.SnakeWay==Way.NORTH)?
Way.SOUTH;
elseif(e.KeyChar==32)
4.当程序运行,蛇每吃到一个食物,积分就增加10分
图4游戏积分
游戏积分的代码:
5.当蛇死亡后游戏结束的图
图5蛇死亡
游戏结束的代码:
if(this.IsGameOver())
五、遇到的问题和解决方法
1.问题:
代码经常出错,不会改。
解决方法:
通过c#相关书籍,和网上搜查,以及请教老师、同学。
2.问题:
程序代码经常出现“上下文无该文件名”的问题,以至于程序不能运行。
检查代码,实在找不出,请教同学和老师,在代码中将错误该正过来。
六、课程设计总结
这两周的课程设计开始蛮难过的,游戏的界面很容易就可以做好,但是代码就很麻烦了,所以只好找书,在网上搜代码,经过努力还是做好了。
但是在这过程中出现了不少问题,通过老师同学的帮忙最终还是弄好了,这个还是蛮欣慰的。
虽然我的代码不是自己写的,但是通过这次的课程设计,我还是学会了很多东西,慢慢能弄懂代码,知道它的功能,收获蛮大的。
C#因其设计的合理性与简洁化使其成为了一门很容易入门的编程语言,但要真正学好还是需要努力学习的。
通过一个学期的学习我们也算入门了,而以后编程的道路还很漫长。
更多的练习,更多的源代码阅读将是我们能力提高的必经之路。
相信经过努力,我们终会熟练地掌握这门语言。
七、参考文献
[1]段德亮,余健,张仁才.C#课程设计案例精编,2008,6.
[2]缪勇,李新峰,付志涛.VisualC#学习笔记,2008,5.