Project1

标题: 请问如何实现将1-10苹果随机放入1-10号格子? [打印本页]

作者: 翻滚牛宝宝    时间: 2014-12-31 08:10
标题: 请问如何实现将1-10苹果随机放入1-10号格子?
就是不重复的随机怎么实现,讲一下思路就好了~~当然能有脚本或者实例更好
作者: morningboo    时间: 2014-12-31 08:52
本帖最后由 morningboo 于 2014-12-31 08:57 编辑

你这个情况我的游戏中遇到过,我用的是定义数组,然后sample(x)可以选出不重复的X个数,帮你艾特大神看看有没更好的办法
@taroxd @VIPArcher  
作者: tseyik    时间: 2014-12-31 09:16
最簡單做法
先把1-10苹果放入1-10号格子
再用随机求出2-10,交換第一号格子,再重復做幾十次

也可順序1-10(第一次用第一号格子,第二次第二号格子………)
和随机求出1-10的交換,
作者: 喵呜喵5    时间: 2014-12-31 09:23
数组有一个shuffle方法可以用,打乱数组顺序,因此……

p [1..10].shuffle

仅在va中有用
作者: morningboo    时间: 2014-12-31 10:23
差点忘了,给你个数组使用小命令地址http://www.tuicool.com/articles/rMjyIz
作者: 星之沧海    时间: 2015-1-3 09:31
本帖最后由 星之沧海 于 2015-1-3 10:40 编辑

停!
事件党登场!
先确定你的格字的XY(这步不用定义,心里记着就行了,到时候直接判断数字),然后是随机数1~10,最后根据结果把苹果传送到响应的XY。(如果他们是有规律的,请尽量利用,否则挨个判定太累……)
就假设你的格子是这样排列的:
格空格空格空格空格空格空格空格空格空格(假设他们的Y都是5吧。)
一共有十个格子,假设第一个格子的X是2,那么第二个格子的X就是2+2,第三个就是2+2+2……以此类推。
但是如果你的格子什么规律也没有的话——
如果随机数==1
传送到…………
如果随机数==2
传送到…………

(如果你的格子有如上述的规律)
先设定Y=5。
然后随机数×2(如果原来随机数是1,X就是2,如果原来随机数是2,X就是4,3则6,以此类推。)再传送,这样方便很多~~~

然后我们会发现一个很重要的问题:
苹果会重叠!
So,我们必须在设定一个分支条件,先用变量指定(X,Y)的事件ID,如果事件ID==0才能传送,否则就代表着这里面有事件,行不通。(别把这个位置上写简介什么的,否则百分百误判定。除非你再加一个分支条件,会累死的)

最后我要问LZ一个问题


你要这个功能打算干什么(|||゚Д゚)!?!?

苹入格(卧槽这什么名)V1.1.rar (1.42 MB, 下载次数: 75)
V1.1,已经修复已知所有BUG,美中不足的是打开开关的瞬间“苹果”们会不见。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1