mov N1 1
while N1 < 8
goto @传送左侧按钮展示
sendmsg 9 Debug:<$str(N1)>
inc S$左侧按钮展示 <$str(S$列表按钮)>
endwhile
goto @地图传送主页
[@传送左侧按钮展示]
#if
#act
inc N1 1
INC S$列表标签 btn_<$STR(N1)>,
mov S$列表按钮 <Button|id=btn_<$STR(N1)>|children={text_<$STR(N1)>}|width=120|he
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-19 14:03:33 |
👁️ 阅读: 7
根据课程日志记录,你提供的代码中N1的输出从2开始到8,是因为循环和跳转的逻辑顺序导致的。
具体分析如下:
1. 在`while N1 < 8`循环开始前,`MOV N1 1`
2. 进入循环后立即执行`GOTO @传送左侧按钮展示`
3. 在`[@传送左侧按钮展示]`标签中,`#ACT`执行了`INC N1 1`,所以N1第一次进入循环就变成了2
4. 然后返回主循环执行`sendmsg 9 Debug:<$str(N1)>`,此时N1已经是2
5. 循环继续执行,直到N1=7时进入标签变成8,此时`while N1 < 8`条件不成立,循环结束
6. 但最后一次`sendmsg`执行时N1已经是8,所以最终输出是2,3,4,5,6,7,8
要输出1-7,需要在跳转标签中调整INC的顺序,或者将INC操作放在sendmsg之后。
← 返回问答库