c/c++语言开发共享玩家免费精选名字大全生成器の实现 C++

我们在注册游戏时,有些用户名游戏可以自动生成,下面带大家来实现一下这一功能. 思路: 用几个容器存放很多个字符串,然后使用随机数调用TA们. 这里使用string字符串数组,就是这句代码: cout<<Where[rand()]<<"的"<<Describe[rand()]<<Who[rand()] …


我们在注册游戏时,有些用户名游戏可以自动生成,下面带大家来实现一下这一功能.

  

思路:

用几个容器存放很多个字符串,然后使用随机数调用ta们.

这里使用string字符串数组,就是这句代码:

cout<<where[rand()]<<"的"<<describe[rand()]<<who[rand()];

where数组:   哪里

describe数组:   怎么样(形容)

who数组:   谁

 

举个栗子:二次元世界的神奇小姐姐

二次元世界  →  where数组

神奇     →  describe数组

小姐姐    →  who数组

 

看到这里,很多猿和媛就要发话了,rand()重复怎么办?

很简单,用这句代码放main里:

srand(time(0));

到此,思路差不多了,给大家放个例程,给个更完善的思路:

/*各个函数的使用: 系统自带的函数:  rand() 随机数 sysytem(命令) 调用cmd命令  system("cls") 清屏 system("title 标题") 更改在窗口最上面的免费精选名字大全,一言难尽,自己开个程序试一hà吧 system("color *1*2") *1 代表背景 *2代表字体颜色(前景),*1*2中间不用加空格  sleep(时间)    顾名思义,让程序”休息“一小会,自己可以试一下,时间处填1000为1秒,以此类推 getch() 让程序无需回车录入一个字符,有点像system("pause"),只不过把按哪个键记录下来了 goto 地点    用法:goto where;就会跳转到写有where:(没有分号)的地方   自己搞的函数(当然都定义了): enter(数量) 数量处填n的数量,比如我填3程序就会换行三行 space(数量) 数量处填3就会输出三个空格 tab(数量)   数量处 填3就会输出三个tab(t) run(时间,提示语(string),回车数,空格数) 比如我填run(3,正在加载中,3,3)就会先输出 3个换行再输出3个空格再显示3秒“正在加载中”的动画,自己可以复制粘贴试试看 conformity(换行数,空格数) 排版的一个工具,集合了enter和space,比如我填3和3就会 换3行再输出3个空格     */  #include <algorithm> #include <iostream> #include <cstring> #include <string> #include <stack> #include <queue> #include <cmath> #include <windows.h> #include <cstdlib> #include <conio.h> #include <ctime> using namespace std; hwnd hwnd=getforegroundwindow();//让hwnd代表最前端的窗口  void enter(int x)//回车函数  {     for(int i=1;i<=x;i++)    cout<<endl; } void space(int x)//空格函数  {     for(int i=1;i<=x;i++)    cout<<" "; } void tab(int x)//制表符函数  {     for(int i=1;i<=x;i++)    cout<<"t"; } void conformity(int a,int b)//排版函数  {     enter(a);     space(b); } void run(int x,string a,int enter,int space)//开始动画  {     for(int i=1;i<=x;i++)     {         system("cls");         conformity(enter,space);         cout<<a;          if(i%3==1) cout<<".";         if(i%3==2) cout<<"..";         if(i%3==0)    cout<<"...";         sleep(500);              } } string where[]={"外星","宇宙","二次元","中国","美国","泰国","越南","澳洲","北极","南极","印度","韩国","日本","上海","东京","北京","南京","天津","湖南","湖北","河北","陕西","山西","河南","内蒙古","中国台湾","大阪","名古屋","尼泊尔","四川","武汉","英国","巴基斯坦","伊朗","土耳其","海南","葡萄牙","西班牙","法国","瑞士","瑞典","荷兰","钉钉","四维空间","三次元","四次元","五维空间","主世界","异世界"}; string describe[]={"神奇","无敌","超级","厉害","幽默","搞笑","腻害","好玩","","","","","","","","","隐忍","高兴","流弊","软萌","可爱","小小","好玩","炒鸡可爱"};  string who[]={"史蒂夫","史蒂夫大叔","牛仔","史莱姆","牛牛","羊羊","猫咪","狗狗","玩家","玩家","玩家","客人","骑士","tnt","红鲤鱼和绿鲤鱼","红鲤鱼与绿鲤鱼与驴","战马","小可爱","妹子"}; string area;//存放地区  bool flag; char cheek,t; int main() {     system("cls"); //清屏的好习惯      system("color 07");//颜色初始化      showwindow(hwnd,sw_maximize);//窗口初始化      srand(time(0));//选取随机数种子           system("title 玩家免费精选名字大全生成器1.0");//设置标题           conformity(20,85);//排版           cout<<"玩家免费精选名字大全生成器"<<endl;     space(65);//空格           cout<<"你 愿意透露你的地区吗?这将关乎到你的免费精选名字大全(免费精选名字大全始终是中文的)"<<endl;     space(78);//空格      cout<<"什么,我不愿透露我所在的地区?"<<endl<<endl;     space(78);//空格      cout<<"输入y以确认,n以不愿透露地区";     cheek=getch();//存放y和n      if(cheek=='n')    {flag=true;cout<<cheek;goto there;}//如果不愿透露地区,就传送到there:           system("cls");//清屏      conformity(20,83);//排版      cout<<"请输入你的地区(城市):"<<endl;      space(83);//空格      cin>>area;//输入地区           there://传送门      system("cls");//清屏      conformity(20,85);//排版      cout<<"玩家免费精选名字大全生成器"<<endl;     space(85);//空格      cout<<"按任意键以生成:";     getch();//实现按任意键           system("cls");//清屏      run(3,"in run",20,85);//"加载中"动画           here://传送门      int ttt=rand()%31;//生成类似于抽奖机的字体滚动效果,什么效果见运行的exe      for(int i=1;i<=ttt;i++)     {         system("cls");//清屏          conformity(20,85);//排版          if(flag==true)         cout<<"你的免费精选名字大全:"<<where[rand()%(49-1)]<<"的"<<describe[rand()%(24-1)]<<who[rand()%(19-1)];         else         cout<<"你的免费精选名字大全:"<<area<<"的"<<describe[rand()%(24-1)]<<who[rand()%(19-1)];     }          enter(5);//回车      space(85);//空格      cout<<"什么,我不满意?按tab键以换一个免费精选名字大全"<<endl;     space(85);//空格      cout<<"什么,我满意了?按空格键以退出";     //排除法      t=getch();     if(t==' ')    return 0;//退出      goto here;//传送门      return 0; }

本人小学生,难怪有这么低水平的内容,还请各位前辈指正.

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/600171.html

(0)
上一篇 2021年5月9日
下一篇 2021年5月9日

精彩推荐