当前位置: 首页 > news >正文

中文编程入门(Lua5.4.6中文版)第四章 Lua 循环

在游戏开发的奇幻世界中,循环机制就像一位执着的冒险者,在特定规则(条件)的指引下,会不断重复执行一系列精心设计的游戏动作。在 Lua 这款强大而灵活的游戏引擎中,我们有几种独特的“游戏回合”来实现这一规律性的行为序列:

  1. while 循环:这位是警惕的守望者角色,每次行动前都会先侦察战场局势(条件)是否仍对自己有利(为 true)。只要优势不减,它就会持续执行预设的一套连招(循环体)。
-- 示例:
当 满红满蓝 做   --玩家仍然存活并且状态不错继续浪()     -- 执行玩家的动作,在这里调用函数来完成玩家在游戏中可能进行的各种操作
结束

[插入图片位置:while循环示意图]

  1. for 循环:扮演着精准计时的战术家,能够预先设定好整场战斗的行动次数,确保每一次循环都按照预定的策略进行。比如回城圈,踏进去时要等传送生效时间      
-- 示例:
因为 i = 1, 传送生效时间 做传送回城(i) -- 根据循环变量执行相应游戏动作
end

[插入图片位置:for循环流程图]

  1. repeat...until 循环:如同永不言败的勇士,它会一遍遍地挑战难关,直到某一刻,达成某个特殊的胜利条件(条件为真),才肯结束这场战斗。
1-- 示例:
重复检查没血() -- 不断尝试直至达到回城条件
直至 回城()

  1. 循环嵌套:仿佛迷宫中的层层关卡,一个循环结构内部可以巧妙地嵌套另一个或多个循环,形成错综复杂、引人入胜的游戏逻辑。

此外,Lua 也提供了操控游戏进程的重要指令:

  • break 语句:犹如通关密钥,一旦使用,当前循环中的游戏角色将立即跳出循环,进入游戏的下一个阶段。

  • 无限循环:这种情况下,我们的游戏角色仿佛陷入了时间漩涡,在 while 循环构建的无尽战场上持续作战,除非有特殊事件触发(如 break),否则将持续战斗下去。

-- 示例:无限循环
当 没到出口 做输出("在这场没有终点的战斗中,我将持续勇往直前...")
结束

相关文章:

  • 【C语言】数9的个数
  • 美食杂志制作秘籍:引领潮流,引领味蕾
  • 面试算法-65-二叉树的层平均值
  • Cesium:绘制一个 3DTiles 对象的外包盒顶点
  • linux 升级openssl1.1.1w 亲测记录
  • Python 操作sqllite
  • Linux部署SVN
  • Spring Boot 获取maven打包时间
  • 【GPT-SOVITS-05】SOVITS 模块-残差量化解析
  • 电影aac是什么意思?如何播放、转换、编辑aac?
  • 广州高新技术企业认定申报条件、申报材料的具体指南!
  • webGIS开发第六章
  • Python二级备考(1)考纲+基础操作
  • 力扣爆刷第102天之hot100五连刷96-100
  • 【leetcode】67.二进制求和
  • Angular Elements 及其运作原理
  • egg(89)--egg之redis的发布和订阅
  • E-HPC支持多队列管理和自动伸缩
  • ES2017异步函数现已正式可用
  • JavaScript设计模式之工厂模式
  • Java读取Properties文件的六种方法
  • Laravel核心解读--Facades
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Tornado学习笔记(1)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • tweak 支持第三方库
  • Vue.js源码(2):初探List Rendering
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 力扣(LeetCode)21
  • 浏览器缓存机制分析
  • 网页视频流m3u8/ts视频下载
  • 小程序01:wepy框架整合iview webapp UI
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​iOS实时查看App运行日志
  • ​Linux·i2c驱动架构​
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (6)添加vue-cookie
  • (python)数据结构---字典
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (十二)springboot实战——SSE服务推送事件案例实现
  • .net 4.0发布后不能正常显示图片问题
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .Net 路由处理厉害了
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .Net的DataSet直接与SQL2005交互
  • .net和php怎么连接,php和apache之间如何连接