- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游戏课设
成绩
南京工程学院
课程设计说明书(论文)
题 目 坦克大战
课 程 名 称 游戏编程基础
院(系、部、中心) 计算机工程学院
专 业 计算机科学与技术
班 级 多媒体101
学 生 姓 名 花道科
学 号 202100116
设 计 地 点 信息楼A213
指 导 教 师 庄严
设计起止时间:2013年12月30日 至 2014年 1 月3日
程序功能与设计思路
游戏功能:玩家操作一辆坦克,必须消灭所有电脑控制的10辆敌军坦克。本游戏的背景墙砖为金属,不可以被击毁。在游戏中,玩家通过键盘的方向键控制己方坦克的行进方向,并可以按空格键发射子弹,当对方坦克被中,产生爆炸图案和音效。如果玩家的坦克被销毁或敌方坦克全部被击毁,游戏便告终止。游戏画面看成10*10的方格,窗体中Map[10, 10]保存游戏砖块位置的地图,其中0代表空地,1代表墙砖。TMap[10, 10]保存坦克位置和砖位置的地图,其中0代表空地,1代表墙砖;2到5为敌方坦克,6为己方坦克。游戏面板重画时,TMap保存的信息传入,便于判断子弹是否击中坦克和墙砖。
游戏画面的刷新采用2个定时器控件timer1和timer2。timer1控件定时控制敌方坦克的移动并刷新游戏面板,timer2控件定时产生新的敌方坦克直到达到敌方坦克最大量。
相关原理知识介绍及整体构造
(1)C#相关知识:
1.System.Drawing; C#中提供的程序集,该程序集含有很多图形图像处理方面的功能
2. System.Collections;提供泛型集合的基类如下:
System。Collection.ArrayList:数组集合类,使用的大小可按动态增加的数组实现IList接口。
3. System.Collections.BitArray:布尔集合类,管理位置的压缩数组,该值为布尔值
4. System.Collections.Queue队列,表示对象的先进先出集合
5.System.Collections.Stack堆栈,表示对象的后进先出集合
6.System.Runtime.Interopservice这个命名空间提供了一系列的类来对COM对象进行互操作
7. Image类
CImage类是ATL和MFC共用的一个类,其头文件为atlimage.h,主要用于图片文件的打开,显示与保存。这里需要注意的是,在VS2010和VS2012的MFC编程中,不需要将头文件包含进来。MFC中要使用CImage类,必须先将头文件包含进来,可以包含在当前代码的CPP文件中,也可以包含在所属类的头文件中,不过最好还是包含在工程的stdafx.h文件中
敌方需要坦克
键盘监听器
生成坦克 Image初始化参数
N
N
Y Y
N
N
Y
(1).构造类
1.完成修改TMap[10, 10] ,保存墙砖位置
2.完成重画墙砖,
3.画敌方坦克及子弹,
4.画己方坦克和己方子弹。
5.最后根据Tmap数组中某处的值是否为-1,处理坦克爆破。
6.当玩家自己的坦克被击中,timer1控件定时器无效,游戏结束。
7.调用CheckWin()检查是否敌方所有坦克被击毁,如果是则玩家胜利,游戏结束。
三.设计步骤说明
(1).游戏窗体类设计
(2)窗体Load的事件
窗体Load的事件中随机产生背景墙砖图案,保存Map[10, 10]中。同时将己方坦克定位(4,9)坐标处,行进方向初始化为向上。
???private void Form1_Load(object sender, System.EventArgs e)
{
pictureBox1.Width = 10 * width;
pictureBox1.Height = 10 * width;
path = Application.StartupPath;
Random r =
文档评论(0)