鱼C论坛

 找回密码
 立即注册
查看: 3772|回复: 24

[技术交流] 每周一练第12期 鱼C生活小游戏【C++版块提升计划】【限免】

[复制链接]
发表于 2022-10-30 18:24:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 高山 于 2022-11-5 17:01 编辑

好久不见,终于等到我亲自发了~
我给大家准备了1个惊喜~

先上图~

代码.png 代码2.png 代码3.png 代码4.png
看完了没?期不期待?
期待就先说说程序运行过程吧!
首先,程序询问用户名,并“”一声提示注册成功
然后,随机设置初始积分
选择您要做的事件
看到第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文件
鱼C生活(源码 成品).zip (437.44 KB, 下载次数: 7)
还有一个活动,您可以帮我添加敏感词
请跟我上代码
|| nr=="+ 敏感词内容 "
并且在第二行再上代码
|| title=="+ 敏感词内容 + "
OK,再见
上一期:鸡兔同笼
下一期:二叉树问题

评分

参与人数 2荣誉 +4 鱼币 +4 收起 理由
陈尚涵 + 2 + 2 鱼C有你更精彩^_^
zhangjinxuan + 2 + 2 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-10-30 18:28:28 | 显示全部楼层
本帖最后由 高山 于 2022-10-30 18:29 编辑

@不二如是 @zhangjinxuan @hveagle @陈尚涵 @编程追风梦 @元豪 @xiaosi4081 @漫星闪  求支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-30 19:01:41 From FishC Mobile | 显示全部楼层
做的真有创意,一定要顶~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-30 19:03:23 | 显示全部楼层
zhangjinxuan 发表于 2022-10-30 19:01
做的真有创意,一定要顶~

谢谢,对了,你也有灌水大师了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-30 19:13:34 | 显示全部楼层

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
高山 + 1 + 1 谢谢!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-31 19:28:21 | 显示全部楼层
做的真不戳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-3 18:55:43 | 显示全部楼层
嗯,记得上一篇链接
|| nr.size()<=1
|| title.size()<=1
还可以看长度~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-5 09:50:33 | 显示全部楼层
哇!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-5 09:55:57 | 显示全部楼层
怼bug:
输入英文会刷频。@高山
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-6 13:04:57 | 显示全部楼层
好厉害的样子,可惜代码一行都看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-6 22:34:20 | 显示全部楼层
有趣味性的东西总是能让人很喜欢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:25:00 | 显示全部楼层
本帖最后由 Jason茗 于 2022-11-7 14:27 编辑

提个意见哈:我起的名字带空格,结果空格后面的名字就神秘失踪了……

看看能不能修复一下,提供两个思路:
1、禁止取带有空格的名字
2、取完带空格的名字可以把全名保存
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:32:33 | 显示全部楼层
Jason茗 发表于 2022-11-7 14:25
提个意见哈:我起的名字带空格,结果空格后面的名字就神秘失踪了……

看看能不能修复一下,提供两个思路 ...

还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl+C强制退出了

用一个不带空格的名字就没事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:33:21 | 显示全部楼层
Jason茗 发表于 2022-11-7 14:32
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl ...

可以亲自试一试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:34:34 | 显示全部楼层
Jason茗 发表于 2022-11-7 14:25
提个意见哈:我起的名字带空格,结果空格后面的名字就神秘失踪了……

看看能不能修复一下,提供两个思路 ...

我只能提供思路了,C++我不太会,也没法帮忙改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:41:11 | 显示全部楼层
建议:可不可以添加一个储存数据功能,这样不用每次来都从头开始(同时配套一个删除存档功能)

存档就存在玩家的电脑上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:43:33 | 显示全部楼层
元豪 发表于 2022-11-5 09:55
怼bug:
输入英文会刷频。@高山

准确的来讲,是问你进行什么操作让你输1234的时候输入字母会触发(看起来触发死循环式刷屏的方法不少啊,我再去瞅瞅还有没有)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 14:46:38 | 显示全部楼层
本帖最后由 Jason茗 于 2022-11-7 15:08 编辑

我发现,发帖的内容为“12”时不会扣分,看看能不能设置输入纯数字为触发敏感词
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-7 15:07:39 | 显示全部楼层
Jason茗 发表于 2022-11-7 14:32
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl ...

结尾是空格也没事,空格后面带东西就得出事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-7 17:35:32 | 显示全部楼层
Jason茗 发表于 2022-11-7 14:32
还有,取完名字之后,问我需不需要帮助,结果我试过了,不管点1还是2,都会陷入一个死循环,导致我用Ctrl ...

我也遇到过这样的事情,你退出重进程序就OK了,还有空格的问题,我不太会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 15:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表