- 初中三年级
- 2220985
- 396
- 0
- 532 朵
- 2506 个
- 334 个
- 480
- 2013-10-27
|
1#
t
T
发表于 2014-10-14 17:38
|
|只看楼主
游戏创建角色随机取名 随机数字不重复代码作者:118184017
当我们需要实现自动创建游戏的时候,起名字就成了问题。怎样才能随机取名既好听又快捷呢?既然说是随机取名,那就少不了随机数的应用~看看随机数是如何实现,数字的随机,字母的随机,和汉字的随机~~ |
内容大纲
[backcolor=rgb(46, 139, 87)] 1 随机数字取名: 随机数字重复及不重复的写法。 [backcolor=rgb(46, 139, 87)]2 随机字母取名: 随机字母重复及不重复的写法。 [backcolor=rgb(46, 139, 87)]3 随机汉字取名: 如何取好听的名字。
|
随机数字取名
随机数字允许重复 | [backcolor=rgb(46, 139, 87)]思路:
- 1、设定随机数字的范围(最大数9,最小数1)
- 2、设置由几个数字组成名字(名字位数 5)
- 3、做一个循环,将设定的随机数范围的数字存入到数组中
- 4、在数组中取一个随机数
- 5、将循环五次取到的随机数合成为字符串名字
复制代码 |
[backcolor=rgb(46, 139, 87)]代码:
- 名字=""
- 最大数 = 9
- 最小数 = 1
- 位数 = 5
- Randomize
- 数组 = "|"
- For i = 最小数 To 最大数
- 数组=数组&i&"|"
- Next
- While (位数)
- 随机数 = split(数组, "|")(Int((最大数 - 最小数 + 1) * Rnd + 最小数))//在数组中取一个随机数
- 名字 = 名字 & 随机数
- 位数=位数-1
- Wend
- MessageBox 名字
复制代码 [backcolor=rgb(46, 139, 87)]运行结果:
- 您所在的用户组无法下载或查看附件
- 您所在的用户组无法下载或查看附件
运行了两次,第一次结果为:88363,五位数中8和3都是重复的。第二次结果为:85336,五位数中3重复了一次。
|
|
随机数字不重复
| [backcolor=rgb(46, 139, 87)]思路:
- 1、设定随机数字的范围(最大数9,最小数1)
- 2、设置由几个数字组成名字(名字位数 5)
- 3、做一个循环,将设定的随机数范围的数字存入到数组中
- 4、在数组中取一个随机数
- 5、将当前取到的随机数从数组中删除,以免下一次取到重复的
- 6、将循环五次取到的随机数合成为字符串名字
复制代码 |
[backcolor=rgb(46, 139, 87)]代码:- 名字=""
- 最大数 = 9
- 最小数 = 1
- 位数 = 5
- Randomize
- 数组 = "|"
- For i = 最小数 To 最大数
- 数组=数组&i&"|"
- Next
- While (位数)
- 随机数 = split(数组, "|")(Int((最大数 - 最小数 + 1) * Rnd + 最小数))//在数组中取一个随机数
- 数组=Replace(数组,"|"&随机数&"|","|") //将当前取到的随机数从数组中删除,以免下一次取到重复的
- 名字 = 名字 & 随机数
- 最大数=最大数-1
- 位数=位数-1
- Wend
- MessageBox 名字
复制代码 |
[backcolor=rgb(46, 139, 87)]运行结果:
- 您所在的用户组无法下载或查看附件
- 您所在的用户组无法下载或查看附件
运行了两次,第一次结果为:23597,第二次结果为:37159。两次运行结果五位数中没有出现重复的情况
|
|
|