查看: 3093|回复: 11

[已经过期] 求助,按顺序弹钢琴,如何实现?

[复制链接]
梦石
0
星屑
245
在线时间
50 小时
注册时间
2018-1-18
回帖
14
发表于 2018-1-27 15:33:51 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 青桑雪雾 于 2018-1-27 15:46 编辑

基本上要被弄疯了……
先说原来的设想。我弄了一个地图,地图上有8个事件,分别能发出不同的音。然后按顺序开启开关1~10,在最后一个开关完成整个过程
但是不知道为什么总是实现不了……(主要是中间插入照样成立,如果一个个开关过去基本上很麻烦)
(……在我发完贴之后有大神帮忙……千恩万谢简直……!!!!)

已经不知道说什么好了……
QQ图片20180127153347.png
梦石
0
星屑
245
在线时间
50 小时
注册时间
2018-1-18
回帖
14
 楼主| 发表于 2018-1-27 15:36:18 | 显示全部楼层
然后示意图大概是这样↓
回复

使用道具 举报

梦石
0
星屑
245
在线时间
50 小时
注册时间
2018-1-18
回帖
14
 楼主| 发表于 2018-1-27 15:43:49 | 显示全部楼层
青桑雪雾 发表于 2018-1-27 15:36
然后示意图大概是这样↓

诶诶诶诶请等等!
回复

使用道具 举报

梦石
0
星屑
3850
在线时间
925 小时
注册时间
2017-10-30
回帖
343
发表于 2018-1-27 16:20:53 | 显示全部楼层
本帖最后由 MireniamuYuki 于 2018-1-27 16:44 编辑

设置一个代表顺序的变量,每弹对一个键,变量(顺序)+1
弹下一个键时
条件分歧 变量 = 弹的顺序?
是的话变量+1 否则变量-10(重新弹)
(10是总的琴键顺序数)
QQ截图20180127164325.png

点评

噢噢~~是这样的设定~~  发表于 2018-1-27 20:20
我是设置弹错就要退出重弹_(:з」∠)_不过退出场景重弹的话再设变量=0好了,不用的话,弹错的时候变量=0就好了  发表于 2018-1-27 20:14
emmm~弹一半(变量=5)的时候突然弹错-10的话,记录就变成-5了,然后第一个键的正确判断是进度记录=0,然后就……没法开始了……(可能窝理解有偏差(X  发表于 2018-1-27 20:10
个人习惯啦_(:з」∠)_  发表于 2018-1-27 20:04
感觉-10换成直接=0是不是比较靠谱点(X  发表于 2018-1-27 20:01

评分

参与人数 1赞 +1 收起 理由
MeowSnow + 1 变量还是叼

查看全部评分

回复

使用道具 举报

梦石
0
星屑
4594
在线时间
476 小时
注册时间
2013-2-13
回帖
45
发表于 2018-1-27 16:36:19 | 显示全部楼层
要用我的方法会比较复杂……
例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。
这个方法不怕被随随便便猜到,就是数字要悠着点,别搞混了。
回复

使用道具 举报

梦石
0
星屑
2724
在线时间
227 小时
注册时间
2016-3-27
回帖
557
发表于 2018-1-27 20:23:10 | 显示全部楼层
能不能把工程发上来看看。。。不是很明白你的意思
现在还能改名吗qwq
回复

使用道具 举报

梦石
1
星屑
15825
在线时间
5415 小时
注册时间
2017-2-18
回帖
413
发表于 2018-1-27 23:25:12 | 显示全部楼层
本帖最后由 阵颜 于 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个键以后再进行判断。
如果顺序输入的键和期待的键不一致就清空记录。
但是如果你希望其他更复杂一点的功能的话,
请详细说明白。
化而为鸟,其名为鸽。怒而咕,咕咕咕咕——咕咕咕!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部