每周一练第12期 鱼C生活小游戏【C++版块提升计划】【限免】
本帖最后由 高山 于 2022-11-5 17:01 编辑好久不见,终于等到我亲自发了~
我给大家准备了1个大惊喜~
先上图~
看完了没?期不期待?
期待就先说说程序运行过程吧!
首先,程序询问用户名,并“嘟”一声提示注册成功
然后,随机设置初始积分
选择您要做的事件
看到第4个图了吗?那是触发敏感词了,马上会被随机扣分
其他见程序内帮助
OK,上代码
#include<iostream>
#include<string>
#include <cstdlib>
#include<windows.h>
#include<time.h>
using namespace std;
string name;
int yu=1;//鱼币
int ry=1;//荣誉
int gx=1;//贡献
int jsz=1;//技术值
int cb=1;//C币
void jfxs()
{
cout<<"您剩余鱼币:"<<yu<<endl;
cout<<"您剩余荣誉:"<<ry<<endl;
cout<<"您剩余贡献:"<<gx<<endl;
cout<<"您剩余技术值:"<<jsz<<endl;
cout<<"您剩余C币:"<<cb<<endl;
}
void live()
{
cout<<"欢迎你来到鱼C生活~"<<endl;
cout<<"请告诉我你的名字:";
cin>>name;
cout<<"注册成功!你的名字是:"<<name<<endl<<"如有问题访问fishc.com.cn哦"<<endl;
Beep(800,200);
Sleep(1500);
system("cls");
}
void start()
{
srand((int)time(0));
yu=1 + rand() % 20;
ry=1 + rand() % 20;
gx=1 + rand() % 10;
jsz=1 + rand() % 10;
cb=1 + rand() % 10;
cout<<name<<",你现在的初始鱼币是(系统默认赠送从1到20取随机数)"<<yu<<endl;
cout<<name<<",你现在的初始荣誉是(系统默认赠送从1到20取随机数)"<<ry<<endl;
cout<<name<<",你现在的初始贡献是(系统默认赠送从1到10取随机数)"<<gx<<endl;
cout<<name<<",你现在的初始技术值是(系统默认赠送从1到10取随机数)"<<jsz<<endl;
cout<<name<<",你现在的初始C币是(系统默认赠送从1到10取随机数)"<<cb<<endl;
system("pause");
system("cls");
}
void help()
{
int p;
cout<<"请问您是否需要帮助?"<<endl;
cout<<"跳过输入1,查看输入2:" ;
cin>>p;
if(p==2)
{
cout<<"发帖增加1~3荣誉,1~2鱼币,1贡献,其他事项跟鱼C差不多、字数达30字可以触发神秘大礼~"<<endl;
cout<<"评分会随机增加C币,但会消耗0~5枚荣誉、鱼币和0~3枚贡献"<<endl;
cout<<"发表回复可以增加1荣誉、随机鱼币"<<endl;
cout<<"帖子触及设定的敏感词也会被扣分且删除"<<endl;
}
system("pause");
system("cls");
}
void ft()
{
string title;
string nr;
int ybj;//扣去的鱼币
int ryj;//扣去的荣誉
srand((int)time(0));
ybj=1 + rand() % 5;
ryj=1 + rand() % 5;
cout<<"现在来到鱼C帖子编辑器"<<endl;
cout<<"请输入帖子标题(输入exit可退出编辑):";
cin>>title;
if(title=="1"||title=="水帖"||title=="蹭一下"||title==""||title=="无"||title=="刷一下"||title=="a"||title=="e")
{
cout<<"发现刷分行为,您的帖子已被删除,您的鱼币减去"<<ybj<<",您的荣誉减去"<<ryj<<endl;
jfxs();
yu-=ybj;
ry-=ryj;
system("pause");
system("cls");
return;
}
if(title!="exit")
{
cout<<"记录成功,您的标题为:"<<title;
system("cls");
cout<<"正在编辑{"<<title<<"}帖子,操作人用户名为"<<name<<endl;
cout<< "请输入帖子内容(1行)(输入exit可退出编辑):";
cin>>nr;
if(nr!="exit")
{
if(nr=="1"||nr=="水帖"||nr=="蹭"||nr==""||nr=="无"||nr=="刷一下"||nr=="a"||nr=="e")
{
cout<<"发现刷分行为,您的帖子已被删除,您的鱼币减去"<<ybj<<",您的荣誉减去"<<ryj<<endl;
yu-=ybj;
ry-=ryj;
system("pause");
system("cls");
return;
}
cout<<"发帖完成!"<<endl;
cout<<"您的荣誉+"<<ryj<<",您的鱼币+"<<ybj<<"您的贡献+1"<<endl;
ry+=ryj;
yu+=ybj;
gx++;
jfxs();
system("pause");
system("cls");
}
}
}
void ht()
{
string nr;
int jl;
jl=1+rand()%5;
srand((int)time(0));
cout<<"欢迎进行回帖,您现在有5种方式,100鱼币,10鱼币,5鱼币,1鱼币和无奖励五种,回复后将随机抽取"<<endl;
cout<<"请输入您的回帖内容(输入exit退出编辑,请勿灌水,灌水直接扣除5鱼币5荣誉)";
cin>>nr;
if(nr=="1"||nr=="水帖"||nr=="蹭"||nr==""||nr=="无"||nr=="刷一下"||nr=="a"||nr=="e")
{
cout<<"发现刷分行为,您的帖子已被删除,您的鱼币-5,您的荣誉-5"<<endl;
yu-=5;
ry-=5;
system("pause");
system("cls");
return;
}
if(nr!="exit")
{
cout<<"回帖发表成功!您目前抽中的是";
if(jl==1)
{
cout<<"100鱼币!"<<endl;
yu+=100;
}
if(jl==2)
{
cout<<"10鱼币!"<<endl;
yu+=10;
}
if(jl==3)
{
cout<<"5鱼币!"<<endl;
yu+=5;
}
if(jl==4)
{
cout<<"1鱼币!"<<endl;
yu+=1;
}
if(jl==5)
{
cout<<"很遗憾,没有奖励"<<endl;
}
cout<<"还会收获1荣誉!"<<endl;
ry++;
jfxs();
system("pause");
system("cls");
}
}
void abc()
{
int ybj,ryj,gxj,cbj;
int p;
srand((int)time(0));
ybj=1 + rand() % 3;
ryj=1 + rand() % 3;
gxj=1 + rand() % 3;
cbj=1 + rand() % 5;
cout<<"请问您现在要干什么?" <<endl;
cout<<"1.发帖 2.显示积分 3.给帖子评分"<<endl;
cout<<"4.回帖 "<<endl;
cout<<"请输入操作项目前的数字:";
cin>>p;
if(p==1)
{
ft();
}
if(p==2)
{
jfxs();
system("pause");
system("cls");
}
if(p==3&&yu>=ybj&&gx>=gxj)
{
cout<<"您已评分鱼币"<<ybj<<",您已评分荣誉"<<ryj<<",您已评分贡献"<<gxj<<",您已收获C币"<<cbj<<endl;
yu-=ybj;
gx-=gxj;
ry-=ryj;
cb+=cbj;
jfxs();
system("pause");
system("cls");
}
if(p==3)
{
cout<<"如果您收到评分成功提示,说明您已评分成功,否则为某项无相应积分,可增加积分或重新再试(更换随机数)"<<endl;
system("pause");
system("cls");
}
if(p==4)
{
ht();
}
}
int main()
{
live();
start();
help();
while(true)
{
abc();
}
}这边没有C++的可以下载现成exe文件
还有一个活动,您可以帮我添加敏感词
请跟我上代码
|| nr=="+ 敏感词内容 "并且在第二行再上代码
|| title=="+ 敏感词内容 + "OK,再见
上一期:鸡兔同笼
下一期:二叉树问题 本帖最后由 高山 于 2022-10-30 18:29 编辑
@不二如是 @zhangjinxuan @hveagle @陈尚涵 @编程追风梦 @元豪 @xiaosi4081 @漫星闪求支持 做的真有创意,一定要顶~ zhangjinxuan 发表于 2022-10-30 19:01
做的真有创意,一定要顶~
谢谢,对了,你也有灌水大师了 不{:7_146:}打{:10_256:} 做的真不戳 嗯,记得上一篇链接{:10_256:}
|| nr.size()<=1
|| title.size()<=1
还可以看长度~
哇!{:10_257:}{:10_257:} 怼bug:
输入英文会刷频。{:10_250:}{:10_250:}@高山 好厉害的样子,可惜代码一行都看不懂{:10_266:} 有趣味性的东西总是能让人很喜欢{:5_108:} 本帖最后由 Jason茗 于 2022-11-7 14:27 编辑
提个意见哈:我起的名字带空格,结果空格后面的名字就神秘失踪了……
看看能不能修复一下,提供两个思路:
1、禁止取带有空格的名字
2、取完带空格的名字可以把全名保存 Jason茗 发表于 2022-11-7 14:25
提个意见哈:我起的名字带空格,结果空格后面的名字就神秘失踪了……
看看能不能修复一下,提供两个思路 ...
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl+C强制退出了
用一个不带空格的名字就没事 Jason茗 发表于 2022-11-7 14:32
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl ...
可以亲自试一试 Jason茗 发表于 2022-11-7 14:25
提个意见哈:我起的名字带空格,结果空格后面的名字就神秘失踪了……
看看能不能修复一下,提供两个思路 ...
我只能提供思路了,C++我不太会,也没法帮忙改 建议:可不可以添加一个储存数据功能,这样不用每次来都从头开始(同时配套一个删除存档功能)
存档就存在玩家的电脑上 元豪 发表于 2022-11-5 09:55
怼bug:
输入英文会刷频。@高山
准确的来讲,是问你进行什么操作让你输1234的时候输入字母会触发(看起来触发死循环式刷屏的方法不少啊,我再去瞅瞅还有没有) 本帖最后由 Jason茗 于 2022-11-7 15:08 编辑
我发现,发帖的内容为“12”时不会扣分,看看能不能设置输入纯数字为触发敏感词 Jason茗 发表于 2022-11-7 14:32
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl ...
结尾是空格也没事,空格后面带东西就得出事 Jason茗 发表于 2022-11-7 14:32
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl ...
我也遇到过这样的事情,你退出重进程序就OK了,还有空格的问题,我不太会
页:
[1]
2