三国志、英雄无敌玩腻了?没关系,我教你开发个战旗游戏玩玩

喜欢回合制战棋游戏的玩家,肯定对《三国志曹操传》和《英雄无敌》这两款经典战旗游戏不陌生吧。

《三国志曹操传》中,镇压黄巾军、群雄讨伐董卓、灭吕布等历史事件与游戏中丰富的属性职业、战斗系统相结合,打造出了一款极为创新,又颇有东方文化底蕴的回合制战棋游戏。

image

《英雄无敌》则是美国游戏团队开发出的一款极具西方魔幻色彩的战旗游戏,该系列游戏想必是很多人年少的回忆吧。

很多人由《英雄无敌3》入坑,游戏中英雄的脸谱,各种静物,诸如花草河流等,都刻画得比前作更为细腻精美。

image

但玩了那么多战旗游戏的你,可曾想过,自己做个战旗游戏玩玩?

给朋友亲人玩自己开发的游戏,岂不美哉?

今天,我就手把手教大家开发一个回合制战棋游戏,且最终会有源码可供下载。

如果还没有学习过Python的朋友,建议先学习这门免费课程《Python3 简明教程》

想直接下载游戏源码的朋友,可以点击《Pygame 打造回合制战棋游戏》

不仅有全套代码下载,还有可直接上手操作的Web IDE供大家在线制作游戏。

游戏展示

游戏使用 pygame 模块实现了类似英雄无敌系列的回合制战棋游戏:

image

image

对战双方每个生物每一轮有一次行动机会,可以行走或攻击对方。

每个生物属性有:行走范围,速度,生命,伤害,防御,攻击 和是否是远程兵种。

当把对方生物都消灭时,游戏胜利。使用 JSON 保存地图关卡配置文件,可以方便得添加或修改地图关卡。实现了一个游戏生物 AI,可以进行人机对战。支持方格地图和六边形地图两种地图形式。

pygame简介及基础语法

接下来,就让我们先了解一下此游戏需要用到的开发工具:pygame。

pygame 是一个用来开发游戏的 Python 模块,基于 SDL(Simple DirectMedia Layer) 库的基础上开发。

pygame 其实就是 Python 中在 SDL 基础上封装的一个库,允许你在 Python 程序中创建功能丰富的游戏和多媒体程序。

pygame 比较适合开发 2D 游戏,比如说,你可以用 pygame 实现植物大战僵尸,愤怒的小鸟,超级马里奥等游戏。

pygame 初始化相关函数:

  • pygame.init() 在使用 pygame 模块功能前,需要先调用 pygame 的 init 函数进行初始化,然后才可以使用 pygame 提供的函数。
  • pygame.display.set_caption(title, icontitle=None) 设置游戏窗口的标题
  • pygame.display.set_mode(size=(0, 0), flags=0, depth=0, display=0) 初始化游戏的窗口,可以设置游戏窗口大小, 单位为像素。
  • pygame.display.get_surface() 返回用来显示游戏窗口的 Surface 对象

pygame 基本设置函数:

  • pygame.display.update() 如果对游戏中显示进行了修改,比如更新了一个运动物体的位置,需要用这个函数来刷新,游戏界面上才能显示出变化。
  • pygame.time.Clock() 生成一个 pygame clock 对象。clock 对象的 tick 函数,
  • tick(framerate=0) clock 对象的 tick 函数用来实现游戏每秒会运行多少帧数,比如参数 framerate 设为 50,表示每秒运行 50 帧,即tick函数调用 50 次,大概耗时是 1 秒。也就是说每次调用 tick 函数大概会等待 0.02 秒,函数调用才会返回。

具体开发流程

具体开发流程略长,含丰富的教学代码与知识点,大家可点击《Pygame 打造回合制战棋游戏》查看。

你将学到:

image

内容安排:

image

注:强烈建议没有任何编程基础的同学先学习《Python3 简明教程》哦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值