python - 我怎样才能创建一个动作将与我的主要动作同时发生一段时间?
问题描述
我正在制作一个可以与角色战斗的小游戏。但是,就像在许多每回合的战斗回合中一样,我想创建一些动作会在一定时间内发生。例如,一个动作将改变一个 3 回合或更少/更多的统计数据。如果有人可以帮助我,请。谢谢
解决方案
计划操作的日志
您似乎需要的(导致在一定数量的回合后会发生的效果)是预定操作的日志。
实现它的一种方法是保留“活动效果”列表。
举个粗略的例子,
# in the beginning
active_effects = []
# when the effect is caused
active_effects.append( { 'turn' : current_turn + 3, 'target' : 'player', 'damage' : 10 } )
# at the start of every turn
for effect in active_effects:
if effect['turn'] == current_turn:
apply_effect(effect)
(您可能想改用类并将效果指定为函数,但这应该说明一般概念)。
推荐阅读
- java - 如何避免在硒测试中重复 Thread.sleep()?
- python - 通过 Docker 部署的 Python 应用程序给出错误
- c++ - 使用 ARGB 像素格式的 SDL_Surface
- java - 在 Spring WebClient 中保留固定的活动请求
- powershell - 启动一个单独的 powershell 或 cmd 并在我需要时在初始脚本期间重用它
- react-native - 在本机反应中在 CommonActions.goBack() 上设置参数
- c# - 如果 ASP.NET Core 中的 cookie 正确,我如何验证 cookie,然后重定向到主页或输入的 URL?
- telegram-bot - 电报价格机器人 - 功能循环
- r - 在 R 中使用循环从列表中填充数组
- sql-server - 在 .Net 核心 Web 应用程序中使用 Active Diretory 交互连接到 sql 数据库