当前位置:首页>> >>


飞行棋论文asp2.0.rar

收藏

资源目录
    文档预览:
    编号:20181016171511346    类型:共享资源    大小:3.30MB    格式:RAR    上传时间:2018-10-16
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    45
    金币
    关 键 词:
    飞行 论文 asp2
    资源描述:
    - I -目 录摘 要 ……………………………………………………………………………………… IIAbstract …………………………………………………………………………………... II第一章 概述……………………………………………………………………………11.1 课题背景和研究意义………………………………………………………………..11.2 主要工作和论文结构 …………………………………..…………………………… 1第二章 系统总体设计 ……………………………………………………………22.1 需求分析 ……………………………………………..………………………….…2 2.2 业务规则 ……………………………………………..………………………….…22.3 系统功能及结构…………………………………………..………………………….…2 2.3.1 系统功能…………………………………………..………………………………...22.3.2 游戏结构…………………………………………..………………………………...2第三章 系统详细设计…………………………………………………..……………….. 53.1 界面制作 ………………………………………..………………………….…5 3.1.1 界面制作的初期准备…………………………..…………………………………...53.1.2 飞机的绘制…………………………..……………………………………………..53.1.3 整体重绘和状态打印…………………………..…………………………………..63.1.4 LBUTTON 的串接…………………………..…………………………………………63.2 核心算法…………………………………………………..……………….7 3.2.1 棋盘的数据结构分析……………………………..………………………….…7 3.2.2 棋盘的算法……………………………………..………………………….…7 第四章 功能测试…………………………………………………..……………….. 114.1 界面初始化…………………………………………..………………………….…11 4.2 飞机飞行…………………………………………..………………………….…11 4.3 撞机、迭机、跳跃等 ………………………………..………………………….…12 4.4 性能测试………………………………………..…………………………………….12第五章 总结与展望…………………………………………………..……………….. 13- II -6.1 总结 …………………………………………….………………………………..….13 6.2 进一步改进的方向 ….………………………………..………………………….…13 致 谢 …….……………………………………………………..………………………….14参考文献 …….………………..………………………………..………………………….15 附录 主要程序代码 ………...………………………………..……………………………16 - I -摘 要目前,以计算机技术和网络技术为核心的现代网络技术已在现实生活和生产中得以广泛的使用,休闲类网络游戏集趣味性,娱乐性,互动性和益智性于一体,已经成为多数人群的休闲方式。电脑游戏经过短短 30 年的发展,已经成为影响公众生活,改变公众娱乐方式的重要产业。过去,人们主要是借助电影、电视、音乐等方式来娱乐。而今天,以游戏为代表的电子娱乐正在成为主流娱乐方式。游戏也正在迅速成长为一个庞大的产业。[1]飞行棋是起源于中国古代的传统传统游戏之一。和现代飞行棋所不同的是,当年的飞行棋并没有飞机而是马车,但玩法一模一样。现代飞行棋已经成为休闲娱乐的好项目,它的广为流传和它的娱乐性、休闲性是密切相关的。本游戏在 Visual C++6.0 环境下使用 MFC 开发设计的,设计过程遵从一般棋牌类游戏的开发原理。关键词:飞行棋 ; C# - I -AbstractModern network technology, computer technology and network technology as the core has to be in real life and the production of widespread use of casual game set interesting, entertaining, interactive and educational one, has become the majority populationof leisure.Computer game after just 30 years of development, has become an important industry in public life, to change the way of public entertainment. The past, people with the film, television, music, etc. to entertain. Today, the game as the representative of the electronic entertainment is becoming a mainstream form of entertainment. The game is growing fast as a huge industry.Flying Chess originated in ancient China, the traditional one of the traditional game. And modern flight chess, flight chess and aircraft, but the carriage, but the games are played exactly the same. Modern flight chess has become a recreational project, it spread far and wide and it's entertaining, and casual sex are closely related.This game use MFC Visual C + + 6.0 environment, development and design, the design process to comply with the principle of the development of the chess game.Keywords: Flying Chess;C#1第一章 概述这一章应说明本设计课题的背景、目的、意义、应解决的主要问题及应达到的技术要求;本设计的基本理论依据和主要工作内容。1.1 课题背景和研究意义飞行棋这种转圈式的路程设计来自于空战中的“拉弗伯雷圆圈”。法国人拉弗伯雷对德国的“大圆圈编队“战术作了改进,使参加编队的飞机不但保持在一个水平面上飞行,而且可绕圆圈盘旋爬高。这样就可以利用防御队形进行盘旋以取得高度优势,伺机进行攻击。这就是著名的“拉弗伯雷大圆圈“。当时人们发明这种棋,是用一种先进的空战战术[2]。本次课程设计的意义在于掌握对于 MFC 编程的综合运用,怎样通过图形界面控制绘图实现游戏的一些基本功能,对于 MFC 的学习有很大帮助。1.2 主要工作和论文结构本次课程设计的主要工作是完成飞行旗游戏的设计以及具体实现过程。论文结构如下表。表 1-2 论文结构概要 包括游戏以及设计介绍游戏设计 包括界面以及玩法游戏具体实现 包括游戏核心算法功能测试 包括游戏测评及总结- 2 -第二章 系统总体设计2.1 需求分析首先,需要用一个总体棋盘来表示飞机的轨道;其次,飞行棋需要红、黄、绿、蓝 4 种不同颜色的飞机来代表 4 个玩家;再次需要一个骰子来判断走步。2.2 业务规则起飞:只有在掷得 6 点后,方可将一枚棋子由“基地”起飞至起飞点,并可以再掷骰子一次,确定棋子的前进步数。连投奖励:在游戏进行过程中,掷得 6 点的游戏者可以连续连掷骰子,直至显示点数不是 6 点或游戏结束。迭子:己方的棋子走至同一格内,可迭在一起,这类情况称为“迭子” ,并可以叠著行进。敌方的棋子不能在迭子上面飞过;当敌方的棋子正好停留在“迭子”上方时,则允许敌方停于迭子上面。撞子:棋子在行进过程中飞过的一格中,若已有敌方棋子停留,可将敌方的棋子逐回基地。跳子:棋子在地图行走时,如果停留在和自己颜色相同格子,可以向前一个相同颜色格子作跳跃。飞棋:棋子若行进到颜色相同而有虚线连接的一格,可照虚线箭头指示的路线,通过虚线到前方颜色相同的的一格。终点:“终点”就是游戏棋子的目的地。当玩家有棋子到达本格时候,表示到达终点,不能再控制该棋子。传统飞行棋规则里,玩家要刚好走到终点处才能算“到达” ,如果玩家扔出的骰子点数无法刚好走到终点出,多出来的点数,棋子将往回走。2.3 系统功能及结构2.3.1 系统功能本次设计的系统大致上能够实现飞行棋的一些基本操作,诸如掷骰、然后根据点数判断是否出飞机或走动飞机,飞机的迭加以及撞机后的处理,并严格按照飞行棋的游戏规则进行走动。用户只能在特定的区域来掷骰以及控制飞机的移动。最后当有一方所有飞机都到达终点会弹出消息框提示胜利。2.3.2 游戏结构飞行棋游戏由棋盘,4 种颜色的飞机各 4 个,骰子和相关的后台控制程序组成。- 3 -游戏框架结构见图 2-1鼠标图形界面棋盘可操作对象 :骰子 x 1飞机 4 x 4输入游戏控制模块集游戏规则判断逻辑坐标计算窗口坐标转换输入绘制图 2-1 游戏框架整个程序流程大致如图 2-2.- 4 -图 2-2 程序流程同时需要用到 2 个新的类以及视图类的设计如图 2-3.图 2-3 主要类视图- 5 -第三章 系统详细设计3.1 界面制作3.1.1 界面制作的初期准备首先需要构建一个合适的窗体,并对窗体进行初始化,在 CmainFrame 类的PreCreateWindow 函数中进行如下修改://初始化窗体cs.style = WS_CAPTION | FWS_ADDTOTITLE | WS_SYSMENU | WS_MINIMIZEBOX;cs.hMenu = 0;cs.x = 100;cs.y = 50;cs.cx = 810;cs.cy = 620;然后便是进行位图的粘贴。首先在视图类中定义相关的绘图用成员变量。分别是背景图、骰子图、4 架不同颜色的飞机及各自的 mask,共需 10 个成员变量。然后进行图片的加载,并在视图类中添加一个鼠标移动的消息响应来读取当前光标的坐标,让操作更为方便。代码如下:int x = point.x;int y = point.y;CString st; //定义一个字符串对象st.Format(“%d, %d “, x, y); //初始化 stCDC * pDC = GetDC(); //获得当前 CDC// pDC->SetBkMode(TRANSPARENT);pDC->TextOut(40, 10, st); //打印坐标ReleaseDC(pDC); //释放无用的 pdc3.1.2 飞机的绘制飞机在整个游戏界面出现的地方只有两个,一个是飞机场,另外一个就是棋盘上。我们可以进行适当的抽象分析,将前一种情况看作是面对点的关系。将一个飞机场看做是一个面,而其中的飞机是一个点,就是说当点到飞机场范围内任意一点的时候,都可以看作是点到飞机上,至于此时是否应该出动飞机、出动哪一架飞机由具体的代码来决定。后一种情况可以看做是点对点的情况,将棋盘上的时候一次只会同一个格子对应起来,就是说只有当点中飞机对应的格子的时候才算是点中飞机。为了方便对所以 16 架飞机进行管理,在该函数中定义了在 Manager 中定义的 Chess Plane[16],该成员变量用来记录 16 架飞机的状态。并用到了类 Chess 来集成飞机的颜色、状态以及走步等。其中的成员如下[3] :public:byte Color; //0、1、2、3 四种颜色(对应 4 个玩家的飞机)byte state; //0、1、2、3、4 五种状态(没有起飞、刚起飞、已经起飞、开始降落、已经降落)
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:飞行棋论文asp2.0.rar
    链接地址:http://www.gold-doc.com/p-228501.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开