您的位置首页生活百科

制作游戏自动辅助第一步:游戏创建角色随机取名

制作游戏自动辅助第一步:游戏创建角色随机取名

的有关信息介绍如下:

制作游戏自动辅助第一步:游戏创建角色随机取名

当我们需要实现自动创建游戏的时候,起名字就成了问题。怎样才能随机取名既好听又快捷呢?既然说是随机取名,那就少不了随机数的应用~看看随机数是如何实现,数字的随机,字母的随机,和汉字的随机~~

内容大纲

1、随机数字取名:随机数字重复及不重复的写法。

2、随机字母取名:随机字母重复及不重复的写法。

3、随机汉字取名:如何取好听的名字。

随机数字取名

随机数字允许重复

思路:

1、设定随机数字的范围(最大数9,最小数1)

2、设置由几个数字组成名字(名字位数5)

3、做一个循环,将设定的随机数范围的数字存入到数组中

4、在数组中取一个随机数

5、将循环五次取到的随机数合成为字符串名字

代码:

名字=""

最大数=9

最小数=1

位数=5

Randomize

数组="|"

Fori=最小数To最大数

数组=数组&i&"|"

Next

While(位数)

随机数=split(数组,"|")(Int((最大数-最小数+1)*Rnd+最小数))//在数组中取一个随机数

名字=名字&随机数

位数=位数-1

Wend

MessageBox名字

运行结果:

运行了两次,第一次结果为:88363,五位数中8和3都是重复的。第二次结果为:85336,五位数中3重复了一次。

随机数字不重复

思路:

1、设定随机数字的范围(最大数9,最小数1)

2、设置由几个数字组成名字(名字位数5)

3、做一个循环,将设定的随机数范围的数字存入到数组中

4、在数组中取一个随机数

5、将当前取到的随机数从数组中删除,以免下一次取到重复的

6、将循环五次取到的随机数合成为字符串名字

代码:

名字=""

最大数=9

最小数=1

位数=5

Randomize

数组="|"

Fori=最小数To最大数

数组=数组&i&"|"

Next

While(位数)

随机数=split(数组,"|")(Int((最大数-最小数+1)*Rnd+最小数))//在数组中取一个随机数

数组=Replace(数组,"|"&随机数&"|","|")//将当前取到的随机数从数组中删除,以免下一次取到重复的

名字=名字&随机数

最大数=最大数-1

位数=位数-1

Wend

MessageBox名字

运行结果:

运行了两次,第一次结果为:23597,第二次结果为:37159。两次运行结果五位数中没有出现重复的情况

随机字母取名

随机字母允许重复

思路:

1、设定随机字母的范围(小写26个加大写26个,总共52个字母)

2、设置由几个字母组成名字(名字位数5)

3、将52个字母赋值给字符串变量

4、随机在52个字母中获取一个字母

5、将循环五次获取到的字母叠加给字符串变量:名字。

代码:

//大小写字母总共52个,52个字母内随机选择五位不同的字母组合成名字

位数=5

字母个数=52

名字=""

Randomize

字母="A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z"

字符串=""

While(位数)

随机字母=split(字母,"|")(Int((字母个数+1)*Rnd))

名字=名字&随机字母

位数=位数-1

Wend

MessageBox名字

运行结果:

运行了两次,第一次结果为:jjFja,五位字母中j重复了。第二次结果为:BEcEG,五位字母中E重复了。

随机字母不重复

思路:

1、设定随机字母的范围(小写26个加大写26个,总共52个字母)

2、设置由几个字母组成名字(名字位数5)

3、将52个字母赋值给字符串变量

4、随机在52个字母中获取一个字母

5、将当前取到的随机字母从数组中删除,以免下一次取到重复的

6、将循环五次获取到的字母叠加给字符串变量:名字。

代码:

//大小写字母总共52个,52个字母内随机选择五位不同的字母组合成名字

位数=5

字母个数=52

名字=""

Randomize

字母="A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z"

字符串=""

While(位数)

随机字母=split(字母,"|")(Int((字母个数+1)*Rnd))

字母=Replace(字母,"|"&随机字母&"|","|")

名字=名字&随机字母

字母个数=字母个数-1

位数=位数-1

Wend

MessageBox名字

运行结果:

随机汉字取名

随机汉字取名方法一

这类型的起名测试想必很多童鞋都有玩过,根据它的规则起出来的名字都不至于太惨不忍睹。咱们也可以利用这个思路,挑选我们觉得好听的姓氏、名字的第一个字、名字的第二个字。好听的姓氏加上好听的名字,组合起来的名字比随机得到是不是正常很多,让我们一起来实验下。

思路:

1、设定10个好听的姓氏,放在selectcasea中。a的值等于10的随机数。

2、设定10个好听的字作为名字的第一个字,放在selectcaseb中。b的值等于10的随机数。

3、设定10个好听的字作为名字的第二个字,放在selectcasec中。c的值等于10的随机数。

4、用随机数获取姓氏,名字的第一个字第二个字,组合成名字

代码:

Randomize

a=CInt(Int((10-1+1)*Rnd+1))

b=CInt(Int((10-1+1)*Rnd+1))

c=CInt(Int((10-1+1)*Rnd+1))

nei=""

SelectCasea

Case1

zhu="傅"

Case2

zhu="薛"

Case3

zhu="夏"

Case4

zhu="上官"

Case5

zhu="欧阳"

Case6

zhu="岳"

Case7

zhu="墨"

Case8

zhu="温"

Case9

zhu="景"

Case10

zhu="燕"

EndSelect

nei=nei&zhu

SelectCaseb

Case1

zhu="琪"

Case2

zhu="汝"

Case3

zhu="瑞"

Case4

zhu="诗"

Case5

zhu="雯"

Case6

zhu="君"

Case7

zhu="沐"

Case8

zhu="双"

Case9

zhu="宇"

Case10

zhu="玉"

EndSelect

nei=nei&zhu

//第三个字

SelectCasec

Case1

zhu="琬"

Case2

zhu="博"

Case3

zhu="涵"

Case4

zhu="彬"

Case5

zhu="棠"

Case6

zhu="宸"

Case7

zhu="海"

Case8

zhu="浪"

Case9

zhu="川"

Case10

zhu="竹"

EndSelect

随机取姓名=nei&zhu

MessageBox随机取姓名

运行的结果是:墨君川,那啥……小编的文化程度也就只有这高度了,童鞋们可以设置自己喜欢的文字,看看组合起来会变成啥,如果组合到了神马奇怪逗逼的名字,务必贴出来让小编也乐乐~~

随机汉字取名方法二

思路:

1、将你觉得好听的名字收集放入到字符串变量,随机名字中

2、分割字符串变量中的名字,并且获取数组元素个数

3、使用随机数从数组中随机获取一个名字

代码

i=0

Randomize

随机名字="依凝|如柏|雁菱|凝竹|宛白|初柔|南蕾|书萱|梦槐|南琴|绿海|沛儿|晓瑶|凝蝶|紫雪|念双|念真|曼寒|凡霜|飞雪|雪兰|雅霜|从蓉|冷雪|靖巧|翠丝|觅翠|凡白|乐蓉|迎波|丹烟|梦旋|书双|念桃|夜天|安筠|觅柔|初南|秋蝶|千易|安露|诗蕊|山雁|友菱|香露|晓兰|白卉|语山|冷珍|秋翠|夏柳|如之|忆南|书易|翠桃|寄瑶|如曼|问柳|幻桃|又菡|醉蝶|亦绿|诗珊|听芹|新之|易巧|念云|晓灵|静枫|夏蓉|如南|幼丝|秋白|冰安|秋白|南风|醉山|初彤|凝海|紫文|凌晴|雅琴|傲安|傲之|初蝶|代芹|诗霜|碧灵|诗柳|夏柳|采白|慕梅|乐安|冬菱|紫安|宛凝|雨雪|易真|安荷|静竹|代柔|丹秋|绮梅|依白|凝荷|幼珊|忆彤|凌青|之桃|芷荷|听荷|代玉|念珍|梦菲|夜春|千秋|白秋|谷菱|飞松|初瑶|惜灵|梦易|新瑶|曼梅|碧曼|友瑶|雨兰|夜柳|芷珍|含芙|夜云|依萱|凝雁|以莲|安南|幼晴|尔琴|飞阳|"

随机名字=split(随机名字,"|")

名字总个数=UBound(随机名字)-1

TracePrint名字总个数

i=(Int((名字总个数+1)*Rnd+1))

TracePrinti

MessageBox随机名字(i)