本帖最后由 阵颜 于 2018-1-28 10:58 编辑 如果我来做这个谜题的话, 我会先设置 $game_variables[1] = [] 然后在不同的事件上设置将当前位置推入到变量内,比如: $game_variables[1] .push(1) (当玩家敲下do的时候) 然后判断 $game_variables[1] 内的数字个数,代表玩家敲入了几个键了。 分支条件里判断 $game_variables[1].size == 10(表示玩家敲入10个键) 如果成立的话,就判断$game_variables[1] == [1,2,3,4,5,6,7,8,1,2](这个根据你正确的顺序来确定) 是否成立,不成立的话,$game_variables[1] = [] 不知道看懂了没有... PS.因为楼主你没说清楚失败的场合是什么样的, 所以我默认为是当玩家弹了10个键以后再进行判断。 如果顺序输入的键和期待的键不一致就清空记录。 但是如果你希望其他更复杂一点的功能的话, 请详细说明白。 |
能不能把工程发上来看看。。。不是很明白你的意思 |
要用我的方法会比较复杂…… 例1: 【取用变量001,判断“正确弹奏”次数】 假设a,“琴键”有:1|2|3|4|5|6|7。 假设b,“弹奏乐谱”为:4545677。 当变量001值为0,玩家触发“琴键2”,返回“错误”(,变量001的值清零)。 当变量001值为0,玩家触发“琴键4”,返回“正确”,变量001的值+1。 当变量001值为1,玩家触发“琴键6”,返回“错误”,变量001的值清零。 当变量001值为1,玩家触发“琴键5”,返回“正确”,变量001的值+1。 同理。 这个方法的缺点就是可以穷举,玩家迟早能猜到。但你要是强制设置某个必须满足的“条件”,可以避免被过早解开谜题,就是容易被玩家吐槽。 要是要多次使用,记得自己设置不同条件。还有,该过程可以自己细微改一下,不明确返回“真假”,但是容易把不认真的玩家弄糊涂,需要你设置一个手动重置事件。 例2: 【取用变量001,判断“弹奏”次数;取用变量002,判断当前输入内容(;取用变量n,作为预设密码)】 采用假设a、b。 当变量001值为0,玩家触发“琴键2”,变量002的值+2,变量001的值+1。 当变量001值为1,玩家触发“琴键6”,变量002的值+(6×10),变量001的值+1。 同理。 最后判断,变量002的值是否等于某个数字(、或是变量n)。 这里注意一下,预设的密码要反着写。或者,从事件最初,变量002就从最大的开始乘,比如是七位数密码,那么先乘1000000。 这个方法不怕被随随便便猜到,就是数字要悠着点,别搞混了。 |
本帖最后由 MireniamuYuki 于 2018-1-27 16:44 编辑 设置一个代表顺序的变量,每弹对一个键,变量(顺序)+1 弹下一个键时 条件分歧 变量 = 弹的顺序? 是的话变量+1 否则变量-10(重新弹) (10是总的琴键顺序数) |
QQ截图20180127164325.png (4.66 KB, 下载次数: 23)
青桑雪雾 发表于 2018-1-27 15:36 诶诶诶诶请等等! |
然后示意图大概是这样↓ |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-17 11:23
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.