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

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

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

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

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

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

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

如果还没有学习过Python的朋友,建议先学习《Python3 简明教程》。

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

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

游戏展示

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

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

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

当把对方生物都消灭时,游戏胜利。使用 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 打造回合制战棋游戏》查看。

你将学到:

内容安排:

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

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

  1. 《和平精英》玩腻了?今年最火的吃鸡游戏《永劫无间》正式上线!

    <永劫无间>什么时候上线?2021年已经过去一大半了,要说今年最火的游戏毫无疑问,非网易的武侠版吃鸡网易<永劫无间>莫属.这游戏之前已经在Steam上线,并且将在7月8日也就是 ...

  2. 如何在32、64位Windows7下玩英雄无敌3

    最近突然怀旧了,听老歌玩老游戏,特别怀念英雄无敌3.虽然以后还出了好多版本,也做的漂亮了很多,但是真正好玩的还是3代,其他的都外表华丽,但内容和玩法华而不实. 以前都是在XP上完的,换了新的WIN7( ...

  3. 英雄无敌6服务器在哪个文件夹,Win7系统无法运行英雄无敌6的两种原因和解决方法...

    英雄无敌6作为一款策略模拟类游戏,深受高端玩家的喜爱.但最近有Win7旗舰版系统用户在玩英雄无敌6时,却出现了无法运行的情况,重启好多次还是一样,不太清楚是哪里出问题,网上相关解决方案也比较少,针对此 ...

  4. 为英雄无敌3写个游戏修改器

    我是比较铁杆的英雄无敌3的fans,在网上看到这样的文章:http://game.china.com/zh_cn/play/10002765/20021113/11362720.html 就是让我方英 ...

  5. 英雄无敌3 Mac 百度云 下载

    这两天看见定一直在津津有味的玩他的宙斯我表示非常羡慕.有的老游戏既是经典又是我们儿时难以忘记的回忆. 所以我决定也重温一下我的儿时难忘的回忆-英雄无敌3.只可惜我只有一台mac电脑, 本来装了虚拟机还 ...

  6. android 死亡阴影,英雄无敌3死亡阴影单机版

    英雄无敌3死亡阴影单机版作为<英雄无敌>系列的第三部,游戏中不仅吸收了前作经典的魔幻题材,同时游戏创造性的将dota,lol等众多知名英雄合理的融入到战棋玩法中,让游戏耳目一新,与众不同! ...

  7. 一步一步教你用 Python 开发战棋游戏,仿英雄无敌

    英雄无敌,你从没有玩过的"船"新版本-- 制作人:你自己-- 相信很多人都是从游戏开始接触电脑和编程的.很多人打算学习编程的时候,也都是冲着开发游戏去的,尤其是学习 Python ...

  8. 玩家心理角度分析《英雄无敌三》

    从玩家心理角度分析一个游戏的玩点,应该对游戏的艺术风格也作分析. 我把对<英雄无敌三>的分析分为三个部分:艺术分析.初级玩家分析.高级玩家分析. 艺术分析:艺术元素在游戏中表现如何,直接关 ...

  9. [译] 前端攻略-从路人甲到英雄无敌二:JavaScript 与不断演化的框架

    本文翻译自FreeCodeCamp的from-zero-to-front-end-hero-part. 继续译者的废话,这篇文章是前端攻略-从路人甲到英雄无敌的下半部分,在上半篇中介绍了HTML与CS ...

最新文章

  1. 画出降维后的图片_有没有人能画出《三体》里太阳系被二维化的概念图?
  2. 快速提升页面性能的必备利器
  3. oracle 11gr2 单机数据库使用asm,RHEL7上安装11gR2单机使用ASM存储搭建Physical Standby笔记...
  4. Visitor(访问者)模式在SAP CDS view测试框架中的灵活运用
  5. 读《系统虚拟化-原理与实现》-第二章
  6. linux 培训6,Linux Syscalls有 6个参数(Linux Syscalls with 6 parameters)
  7. 【AI视野·今日CV 计算机视觉论文速览 第222期】Fri, 18 Jun 2021
  8. (12)H5新增语义化标签布局案例
  9. Spring MVC + Spring + Hibernate + mysql 注册登陆入门实例
  10. 使用Jquery对数组进行迭代、排序、去重! 美男子加油!!!
  11. Connection: keep-alive——[HTTP权威指南]摘录
  12. 误差的基本性质与处理matlab实验,误差理论与数据处理实验报告
  13. KSVD稀疏表示-字典学习 笔记
  14. Web项目:校园社团管理系统
  15. cos41度用计算机怎么算,用电监察计算(精品)
  16. 这些选择器你都知道吗?
  17. iOS开发人员必看的精品资料(100个)(转)
  18. GhostXP SP3 统一会员纯净版 V2.1
  19. 【转载】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
  20. 2021-06-07 RK3328 Android 10 上调试es7243记录

热门文章

  1. 大二第一学期期末课程设计 2015.12.28
  2. 用户 'NT AUTHORITY/NETWORK SERVICE' 登录失败 的解决方法(转)
  3. iOS iCloud云存储数据
  4. BZOJ 3043 IncDec Sequence:反向差分
  5. 一些基本数据类型的类封装(包装类)
  6. tar: bzip2:无法 exec: 没有那个文件或目录
  7. hadoop 启动or运行mr错误
  8. java 18 -4 LinkedHashMap集合
  9. Spring与Quartz的整合实现定时任务调度
  10. 揭秘传智播客毕业班的超级薪水7k内幕系列II----Offer工资表5.7k,为什么不能让老师就业就业...