当我们需要实现自动创建游戏的时候,起名字就成了问题。怎样才能随机取名既好听又快捷呢?既然说是随机取名,那就少不了随机数的应用~看看随机数是如何实现,数字的随机,字母的随机,和汉字的随机~~
工具/原料
按键精灵2014
方法/步骤
1、内容大纲随机数字取名:随机数字重复及不重复的写法。随机字母取名:随机字母重复及不重复的写法。随机汉字取名:如何取好听的名字。
2、随机数字取名随机数字允许重复思路:设定随机数字的范围(最大数9,最小数1)设置由几个数字组成名字(名字位数5)做一个循环,将设定的随机数范围的数字存入到数组中在数组中取一个随机数将循环五次取到的随机数合成为字符串名字
3、代码:名字=""最大数=9最小数=1位数=5Randomize数组="|"Fori=最小数To最大数数组=数组&i&"|"NextWhile(位数)随机数=split(数组,"|")(Int((最大数-最小数+1)*Rnd+最小数))//在数组中取一个随机数名字=名字&随机数位数=位数-1WendMessageBox名字运行结果:
4、运行了两次,第一次结果为:88363,五位数中8和3都是重复的。第二次结果为:85336,五位数中3重复了一次。随机数字不重复思路:设定随机数字的范围(最大数9,最小数1)设置由几个数字组成名字(名字位数5)做一个循环,将设定的随机数范围的数字存入到数组中在数组中取一个随机数将当前取到的随机数从数组中删除,以免下一次取到重复的将循环五次取到的随机数合成为字符串名字
5、代码:名字=""最大数=9最小数=1位数=5Rand艺皱麾酪omize数组="|"Fori=最小剞麽苍足数To最大数数组=数组&i&"|"NextWhile(位数)随机数=split(数组,"|")(Int((最大数-最小数+1)*Rnd+最小数))//在数组中取一个随机数数组=Replace(数组,"|"&随机数&"|","|")//将当前取到的随机数从数组中删除,以免下一次取到重复的名字=名字&随机数最大数=最大数-1位数=位数-1WendMessageBox名字运行结果:
6、运行了两次,第一次结果为:23597,第二次结果为:37159。两次运行结果五位数中没有出现重复的情况
7、随机字母取名随机字母允许重复思路:设定随机字母的范围(小写26个加大写26个,总共52个字母)设置由几个字母组成名字(名字位数5)将52个字母赋值给字符串变量随机在52个字母中获取一个字母将循环五次获取到的字母叠加给字符串变量:名字。
8、代码://大小写字母总共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))名字=名字&随机字母位数=位数-1WendMessageBox名字运行结果:
9、运行了两次,第一次结果为:jjFja,五位字母中j重复了。第二次结果为:BEcEG,五位字母中E重复了。
10、随机字母不重复思路:设定随机字母的范围(小写26个加大写26个,总共52个字母)设置由几个字母组成名字(名字位数5)将52个字母赋值给字符串变量随机在52个字母中获取一个字母将当前取到的随机字母从数组中删除,以免下一次取到重复的将循环五次获取到的字母叠加给字符串变量:名字。
11、代码://大小写字母总共52个,52个字母内随机选择五位不同的字母组合成荏半吨蛸名字位数=5字母个数=52名字="&quo墉掠载牿t;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位数=位数-1WendMessageBox名字运行结果:
12、随机汉字取名随机汉字取名方法一这类型的起名测试想必很多童鞋都有玩过,根据它的规则起出来的名字都不至于太惨不忍睹。咱们也可以利用这个思路,挑选我们觉得好听的姓氏、名字的第一个字、名字的第二个字。好听的姓氏加上好听的名字,组合起来的名字比随机得到是不是正常很多,让我们一起来实验下。
13、思路:设定10个好听的姓氏,放在selectcasea中。a的值等于10的随机数。设定10个好听的字作为名字的第一个字,放在selectcaseb中。b的值等于10的随机数。设定10个好听的字作为名字的第二个字,放在selectcasec中。c的值等于10的随机数。用随机数获取姓氏,名字的第一个字第二个字,组合成名字
14、代码:Randomizea=CInt(Int((10-1+1)*Rnd+龀音孵茧1))b=CInt(Int(烫喇霰嘴(10-1+1)*Rnd+1))c=CInt(Int((10-1+1)*Rnd+1))nei=""SelectCaseaCase1zhu="傅"Case2zhu="薛"Case3zhu="夏"Case4zhu="上官"Case5zhu="欧阳"Case6zhu="岳"Case7zhu="墨"Case8zhu="温"Case9zhu="景"Case10zhu="燕"EndSelectnei=nei&zhuSelectCasebCase1zhu="琪"Case2zhu="汝"Case3zhu="瑞"Case4zhu="诗"Case5zhu="雯"Case6zhu="君"Case7zhu="沐"Case8zhu="双"Case9zhu="宇"Case10zhu="玉"EndSelectnei=nei&zhu//第三个字SelectCasecCase1zhu="琬"Case2zhu="博"Case3zhu="涵"Case4zhu="彬"Case5zhu="棠"Case6zhu="宸"Case7zhu="海"Case8zhu="浪"Case9zhu="川"Case10zhu="竹"EndSelect随机取姓名=nei&zhuMessageBox随机取姓名
15、运行的结果是:墨君川,那啥……小编的文化程度也就只有这高度了,童鞋们可以设置自己喜欢的文字,看看组合起来会变成啥,如果组合到了神马奇怪逗逼的名字,务必贴出来让小编也乐乐~~
16、随机汉字取名方法二思路:将你觉得好听的名字收集放入到字符串变量,随机名字中分割字符串变量淘篱跬翎中的名字,并且获取数组元素个数使用随机数从数组中随机获取一个名字代码i=0Randomi芰垄孕动ze随机名字="依凝|如柏|雁菱|凝竹|宛白|初柔|南蕾|书萱|梦槐|南琴|绿海|沛儿|晓瑶|凝蝶|紫雪|念双|念真|曼寒|凡霜|飞雪|雪兰|雅霜|从蓉|冷雪|靖巧|翠丝|觅翠|凡白|乐蓉|迎波|丹烟|梦旋|书双|念桃|夜天|安筠|觅柔|初南|秋蝶|千易|安露|诗蕊|山雁|友菱|香露|晓兰|白卉|语山|冷珍|秋翠|夏柳|如之|忆南|书易|翠桃|寄瑶|如曼|问柳|幻桃|又菡|醉蝶|亦绿|诗珊|听芹|新之|易巧|念云|晓灵|静枫|夏蓉|如南|幼丝|秋白|冰安|秋白|南风|醉山|初彤|凝海|紫文|凌晴|雅琴|傲安|傲之|初蝶|代芹|诗霜|碧灵|诗柳|夏柳|采白|慕梅|乐安|冬菱|紫安|宛凝|雨雪|易真|安荷|静竹|代柔|丹秋|绮梅|依白|凝荷|幼珊|忆彤|凌青|之桃|芷荷|听荷|代玉|念珍|梦菲|夜春|千秋|白秋|谷菱|飞松|初瑶|惜灵|梦易|新瑶|曼梅|碧曼|友瑶|雨兰|夜柳|芷珍|含芙|夜云|依萱|凝雁|以莲|安南|幼晴|尔琴|飞阳|"随机名字=split(随机名字,"|")名字总个数=UBound(随机名字)-1TracePrint名字总个数i=(Int((名字总个数+1)*Rnd+1))TracePrintiMessageBox随机名字(i)