计算机专业毕业设计基于Python的战略游戏的设计与实现_第1页
计算机专业毕业设计基于Python的战略游戏的设计与实现_第2页
计算机专业毕业设计基于Python的战略游戏的设计与实现_第3页
计算机专业毕业设计基于Python的战略游戏的设计与实现_第4页
计算机专业毕业设计基于Python的战略游戏的设计与实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

引言1.1课题的背景和方向随着移动互联网技术的飞速发展和移动终端的不断普及,手机游戏成为每个人生活中必不可少的休闲娱乐媒介,其发展规模无比迅速。手机游戏作为新时代集社交与娱乐为一体的新兴事物,逐步占领绝大部分手机使用的时间比例。但随着国家在手机游戏的管理日益完善,推崇健康绿色的游戏势在必行。增进文化认同,提升文化自信,是一个可以进行研究的新机遇小游戏“楚河汉界β版”对传统文化的研究与古已有之的对弈游戏,以及把握当代传统文化积极发展的大趋势。从功能和内容方面对象棋游戏做了创新内容。我们发现,目前市场上的游戏乏善可陈,大多都是“直线单向思维”充满竞争,但毫无益智性可言,互动性极强但不够长久。而篡改历史人物,随意戏耍历史人物形象的行为,在各大游戏中屡见不鲜。为此,我们团队结合网络与实际,探索总结了同学们生活休闲娱乐的主要方式和目的。把握弘扬传统文化的机遇,以自我学习和查阅资料等方式,设计开发了“楚河汉界β版”小游戏。我们的主要目的是:一、提高传统文化的积极传承。二、增强课间时间师生的互动交流。三、整合同学们的课余时间偏好。关键词:传统文化;楚河汉界;象棋。1.2

主要技术指标通过Python中的Pygame、sys、collections、json、select、time、socket、random、turtle等等标准库与第三方数据库进行象棋游戏的开发,更新完善了象棋游戏的基本模式,以及部分自主创新,并通过自定义组件使游戏的开发变得更加简洁实用。1.3

主要研究方法通过python中pygame库来编写游戏的框架、页面设计、子菜单样式。结合random与turtle两库联合设计自动随机选择先手后手的有趣设置。并且通过电脑自带的操作系统使游戏更具随机性和可玩性。作为一款串联虚拟与现实的游戏工具,表面虽并不具备丰富的玩法,只因其游戏内核的本质是对弈。对弈的核心是两个玩家个人的能力对抗,而非借助游戏里的独有生态来制造差异性和影响力。将考验对弈者的多项协同能力,打通吃透每个可能的行棋方法,锻炼增强拆解对方的套路的可能,反复拓展、开拓,从而获得胜利,才是对弈与其他MOBA类游戏最大的不同。

2“楚河汉界”开发环境 “Python中的Pygame、sys、collections、json、select、time、socket、random、turtle等等标准库与第三方数据库进行象棋游戏的开发2.1游戏简介“楚河战争β版“是一款经典的以楚汉战争的历史为原景的为题材的二维竖版游戏,这款游戏没有特定的关卡,也没有最终boss,只是敌人的战机源源不断的来袭。玩家通过消灭战机来提升分数,冲击排行榜。这样一款有可玩性、挑战性的游戏是最吸引当今社会人群的,玩家门一直冲击排行榜,一次又一次的挑战高分来完成对自我的超越,从中获取满足感。这是消除压力和打发时间的最好方式。2.2楚汉战争β版的设计与开发、楚汉战争β版的设计与开发原理:在本系统中添加引用了以上的pygame模块draw的用用户绘制象棋棋盘和象棋棋子等的关键元素。使用turtle.textinput提供玩家随机选择先后手。利用列表组合定位棋子与棋盘的动态交互位置。反复使用defdraw_chess():函数用于棋子行走规则。font载入预设好的字体用于给显示在游戏窗口上的数目做数字美化。mouse鼠标检测事件用于检查鼠标经过暂停/开始区域时的变化,和点击时实现的暂停/开始效果。music和mixer实现游戏开始时播放的音乐,image负责各种图像素材的载入。多次利用drew自定义函数来达到自己的目的部分代码如上下两图所示3python的语言的特性python是一个面向对象的解释性高级语言。和其它的编程语言相比,python具有得天独厚的优势,要用两个词来形容就是“优雅”和“简洁”。因为相比python的发源C语言来说,从C语言中开发出来的python更加简单,python舍弃了C语言中特色且复杂的指针变量,自生引进了更加高级的“类”概念。对比其他语言开发的项目所需800行代码,而python则只需要600行。所以python也被人们相传为初学者的必修语言。3.1python的作用领域pyhon作为新兴崛起的编程语言,在有关计算机的相关技术更是有着相比其他语言的绝对优势。它有着很多免费的数据函数库,所以在web网页的框架、图形界面的开发、对网络数据包底层的解析、网络大数据的抓取、云计算的开发、人工智能AI、自动化运维管理、金融数据分析、科学计算技术、游戏开发设计等领域有着得天独厚的优势。3.2python程序的主要组成部分(1)if选择语句——当控制条件语句判定为True时运行的函数结构,通常与elif和else配合着用;(2)for循环语句——以循环的方式遍历语句中的值;(3)while循环语句——如果当条件判断语句的返回值为True时,则会执行循环的语句,如果当判断条件的返回值为False时,则不执行该循环语句;(4)def语句——可以进行函数的定义;(5)class语句——定义类型。4楚汉战争β版的介绍4.1游戏要求1.游戏可正常运行;2.可基本达到最终目标;3.游戏界面友好,易于交互;4游戏规则严格执行4.2游戏规则第一章行棋规定

第1条棋盘和棋子

1.1象棋盘由九道直线和十道横线交叉组成。棋盘上共有九十个交叉点,象棋子就摆放和活动在这些交叉点上。棋盘中间没有划通直线的地方,叫做“河界”;划有斜交叉线的地方,叫做“九宫”。九道直线,红棋方面从右到左用中文数字一至九来代表;黑棋方面从右到左用阿拉伯数字1至9来代表。

1.2棋子共有三十二个,分为红、黑两组,每组十六个,各分七种,其名称和数目如下:

红棋子:帅一个,车、马、炮、相、士各两个.兵五个。

黑棋子:将一个,车、马、炮、象、士各两个,卒五个。

1.3对局开始前,双方棋子在棋盘—上的摆法见下图(印刷体棋图规定为:红方棋子在下,用阳文;黑方棋子在上,用阴文)。

1.4比赛用的标准棋盘,应每格均为正方形。每方格长宽均应为3.2至4.6cm。每个平面圆形棋子直径应为2.7至3.2cm,大小与棋盘合适配套。棋盘和棋子的底色,均应为色或浅色。棋盘上直线和横线应为红色或深色,四周应留有适当空白面积。棋子面色分为红黑两组,字体和圆框应当醒目。演示比赛用的大棋盘为直式,红方在下,黑方在上。棋盘和棋子大小,应配合场所相应增大。

第2条走棋和吃子

2.l对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终了。轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。双方各走一着,称为一个回合。

2.2各种棋子的走法如下:

帅(将)每一着只许走一步,前进、后退、横走都可以.但不能走出“九宫”。帅和将不准在同一直线上直接对面,如一方已先占据,另一方必须回避。士每一着只许沿“九宫”斜线走—步,可进可退。相(象)不能越过“河界”,每一着斜走两步,可进可退,即俗称“相(象)走田字”。当田字中心有别的棋子时,俗称“塞相(象)眼”,则不许走过去。马每着走一直(或一横)一斜.可进可退,即俗称‘‘马走日字”。如果在要去的方向有别的棋子挡住,俗称“蹩马腿”,则不许走过左,车每一着可以直进、直退、横走,不限步数。炮在不吃子的时候,走法同车一样。兵(卒)在没有过“河界”前,每着只许向前直走一步;过“河界”后,每着可向前直走或横走一步,但不能后退。

2.3走一着棋时,如果已方棋子能够走到的位置有对方棋子存在,就可以把对方棋子吃掉而占领该位置。只有炮吃子时必须隔一个棋子(无论是哪一方的)跳吃,即俗称“炮打隔子”。除帅(将)外,其他棋子都可以听任对方吃,或主动送吃。吃子的一方,必须立即把被吃掉的棋子从棋盘上拿走。

第3条将死和困毙

3.1一方的棋子攻击对方的帅(将),并在下一着要把它吃掉,称为“照将”,或简称“将”。“照将”不必声明。被”照将”的一方必须立即“应将”,即用自己的着法去化解被“将”的状态。

如果被”照将”而无法“应将”,就算被“将死”。

3.2轮到走棋的一方,无子可走,就算被“困毙”。

第4条胜、负、和

41对局时一方出现下列情况之一,为输棋(负),对方取胜:

4.1.1帅(将)被对方“将死”。

4.1.2走棋后形成帅(将)直接对面。

4.1.3被“困毙”。

4.1.4在规定时限内未走满规定着数。

4.1.5超过了比赛规定的迟到判负时限。

4.1.6走棋违反行棋规定。

4.1.7走棋违反禁例,应变着而不变。

4.1.8在同—局棋中,三次“犯规”。

4.1.9自己宣布认输。

4.1.10在对局中拒绝遵守本规则或严重违反纪律。

4.2出现下列情况之一,为和棋:

4.2.1双方均无取胜可能的简单局势。

4.2.2一方提议作和,另一方表示同意。

4.2.3双方走棋出现循环反复三次,符合“棋例”中“不变作和”的有关规定。

4.2.4符合自然限着的回合规定,即在连续60回合中(也可根据比赛等级酌减),双方都没有吃过一个棋子。5页面设置5.1先后手随机利用random库和pygame库联合协作,效果如图5-1-1和5-1-2所示图5-1-1图5-1-2实现部分代码示例如图5-1-3所示:图5-1-35.2棋子的运行规则象棋中每个棋子都各司其职,有着不同的行棋规则。因此,不同的棋子需要不同的规则利用def():定义函数的方法,将棋子运行合适的建设在棋盘上。部分代码如下5.3复杂的进阶行棋规则蹩马腿与卡象眼蹩马腿:棋子draw():是通过列表定义的,而象棋中的前后左右如果有棋子则马不可以行动。(具体内容参考象棋规则)编程实现如图5-3-15-3-1卡象眼:同理如图5-3-2所示5-3-26.1中国象棋介绍中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史。由于用具简单,趣味性强,成为流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论