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

Project1

 找回密码
 注册会员
搜索
查看: 1942|回复: 1
打印 上一主题 下一主题

[RMXP发布] 产生不重复随即数代码

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
57 小时
注册时间
2009-7-9
帖子
124
跳转到指定楼层
1
发表于 2012-2-15 14:52:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 精灵使者 于 2012-2-17 19:53 编辑
  1. # 可以是数字  也可是数组y = ["hhh","ggg","jjj"]  or y = [*2..4]  #2到4的随即数
  2.    # he 表示输出相连的字符串。。。
  3.   def 无重复随即数(x = 3 ,y = 10,he = false)
  4.        h = []            #记录数字
  5.       if y.class == Fixnum
  6.         while h.size != x
  7.           h << rand(y)
  8.           h.uniq!
  9.         end  
  10.        else
  11.           while h.size != x
  12.              h << y[rand(y.size)]
  13.              h.uniq!
  14.           end  
  15.         end
  16.         if he
  17.             w = ""
  18.             for i in 0 ... h.size
  19.              w += h[i].to_s
  20.            end
  21.             return w
  22.           else
  23.             return h
  24.           end
  25.          
  26.   end
复制代码

评分

参与人数 2星屑 0 收起 理由
orzfly + 2 有勇气发出来已经很不错了
Kimu -2 代码用[code]括起来

查看全部评分

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60650
在线时间
1933 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

2
发表于 2012-2-15 16:07:32 | 只看该作者
本帖最后由 orzfly 于 2012-2-15 16:10 编辑
  1. def orz(x=3,y=10,he=false)
  2.   sand=y.is_a?(Fixnum) ? (1..y).to_a : y
  3.   out=sand.sort_by{rand}[1..x]
  4.   he ? out.join "" : out
  5. end
复制代码
@忧雪の伤
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 05:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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