设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 北意大利
打印 上一主题 下一主题

[有事请教] 如何实现随机抽到的数字不重复(7月31日追加问题)

[复制链接]

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

11
发表于 2020-7-19 09:56:01 | 只看该作者
等等。
我发现了一个新的写法
MV的事件脚本里面分开还可以继承的吗?
你前面设 var i = 0
这里是一个脚本。
下面 i = ++1
又是一段脚本。
i = ++1也是我没接触过的写法。
长知识了。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5402
在线时间
2559 小时
注册时间
2011-9-27
帖子
1119

极短23参与开拓者

12
发表于 2020-7-19 10:07:56 | 只看该作者
  1. a=[3,5,7,9]
  2. list=a.shuffle
复制代码


在Ruby里面,数组内置 shuffle 方法,功能是打乱排序。  可以实现不重复的随机。

点评

这是MV板块  发表于 2020-7-19 10:54
从平淡走向更平淡。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11209
在线时间
607 小时
注册时间
2016-8-25
帖子
1393

R考场第七期纪念奖

13
发表于 2020-7-19 12:38:01 | 只看该作者
没有思路

随机抽取变量1-6
第一次抽取变量=1

第二次随机抽取变量,抽到1的话再抽一次
直到不是一为止
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
185
在线时间
24 小时
注册时间
2020-7-18
帖子
11
14
发表于 2020-7-19 23:29:59 | 只看该作者
本帖最后由 apporoad 于 2020-7-19 23:31 编辑

楼主,你的需求很简单,关键你的20个数字在哪里?
你可以直接加我qq,我直接给你免费写一个,分分钟的事情 969308614
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
15588
在线时间
3959 小时
注册时间
2015-9-14
帖子
1336

开拓者

15
发表于 2020-7-19 23:55:21 | 只看该作者
本帖最后由 wabcmcc 于 2020-7-20 00:18 编辑

何不直接用插件.
用於創建隨機值而無需重複的插件
HzRandomList.js

作者網誌:https://hiz-tkool.tumblr.com/

過往用事件回答差不多問題:https://rpg.blue/forum.php?mod=viewthread&tid=476708&page=1#pid2859690
                                        https://rpg.blue/forum.php?mod=viewthread&tid=412058&page=1#pid2791666

评分

参与人数 1+1 收起 理由
北意大利 + 1 精品文章

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2676
在线时间
385 小时
注册时间
2015-8-8
帖子
437

R考场第七期纪念奖

16
发表于 2020-7-20 02:22:16 | 只看该作者
你有5个数,存在数组里,11 4 5 1 4
先变量1=随机1..5,然后抽出来第“变量1”个数,然后把这个数和第五个交换。比如抽出来3,数组就变成11 4 4 1 5
然后再变量1=随机1..4,再执行如上操作。这时候,因为5被放到了数组最后,所以就不会被抽到了。
这个算法好像叫扑克牌算法还是什么

点评

!谢谢!!涨姿势了!  发表于 2020-7-31 21:11
旧作《邵彦朝的大冒险》下载

默默无闻的论坛观察者
回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22022
在线时间
8574 小时
注册时间
2011-12-31
帖子
3362
17
发表于 2020-7-20 08:03:12 | 只看该作者
偽随机        
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
185
在线时间
24 小时
注册时间
2020-7-18
帖子
11
18
发表于 2020-7-20 08:33:54 | 只看该作者
本帖最后由 apporoad 于 2020-7-20 08:35 编辑
  1. var pickFromArray = function(randomNumber,existsArr , all){ return all.filter(function(one){ return existsArr.indexOf(one)==-1}).sort(function(){return Math.random() -0.5}).slice(0,randomNumber)}
复制代码


直接脚本中
pickFromArray(2, [1,2],[3,2,1,4,5,6])

点评

谢谢!!  发表于 2020-7-31 21:12
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1809
在线时间
199 小时
注册时间
2018-1-20
帖子
80
19
 楼主| 发表于 2020-7-31 21:08:41 | 只看该作者
yang1zhi 发表于 2020-7-19 09:56
等等。
我发现了一个新的写法
MV的事件脚本里面分开还可以继承的吗?

但是这样的写法经过修改以后还是报错 还是整体用脚本写比较保险x

点评

那就是这样的写法是不可取的....  发表于 2020-8-4 22:37
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
13234
在线时间
5037 小时
注册时间
2017-2-18
帖子
371
20
发表于 2020-7-31 23:21:26 | 只看该作者
本帖最后由 阵颜 于 2020-7-31 23:50 编辑

好吧,我可能还是没看懂,如果理解错了的话,那就抱歉了。



大概看了一下,可能理解了楼主的意思,但是无法给予解答,给个思路吧。
不要踢进数值,而是踢进字符串。
比如说,A类型,a难度,编号1的题目
踢进字符串"A类型a难度编号1"。
这样就可以判断多个范围的重复的问题了。
化而为鸟,其名为鸽。怒而咕,咕咕咕咕——咕咕咕!
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-14 09:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表