根据b站up主“老九学堂”c++教程“小公主养成记”并结合所学编出一个小游戏:

目前仅结合了:数组、if语句、随机数、三目运算符、for循环、goto语句、设置输出宽度setw(a)、while语句、逻辑运算符、结构体等。

#include<iostream>
using namespace std;
#include<string>
#include<ctime>
#include <iomanip>//setw()设置宽度要包含这个头文件string xingzuo[12][2] =
{{"摩羯座","水瓶座"},{"水瓶座","双鱼座"},{"双鱼座","白羊座"},{"白羊座","金牛座"},{"金牛座","双子座"},{"双子座","巨蟹座"},{"巨蟹座","狮子座"},{"狮子座","处女座"},{"处女座","天秤座"},{"天秤座","天蝎座"},{"天蝎座","射手座"},{"射手座","摩羯座"}
};
int sz_weishu[12] = { 21,20,21,21,22,22,24,24,24,24,23,23 };//每个月划分不同星座的中间日期
int EQ = 5;
int IQ = 5;
int kung_fu = 5;
int money = 20;int main()
{//游戏背景cout << "故事发生在1878年,父亲捡了一个被丢弃在垃圾桶旁边的小女孩," <<"\n小女孩看起来只有3岁左右,父亲发现她的时候,小女孩在嚎啕大哭" <<"\n父亲刚好不孕不育,所以他决定将小女孩捡回家并把她养大" << endl;//1、输入父亲的信息string father_name;cout << "请输入父亲的名字:" << endl;cin >> father_name;//2、输入女儿信息(名字、生日)string daughter_name;int birthday_month;int birthday_day;cout << "请输入女儿的名字:" << endl;cin >> daughter_name;cout << "请输入女儿的生日 月:" << endl;cin >> birthday_month;while (birthday_month < 0 || birthday_month>12){cout << "请输入正确的月" << endl;cin >> birthday_month;}cout << "请输入女儿的生日 日:" << endl;cin >> birthday_day;while (birthday_day < 0 || birthday_day>31){cout << "请输入正确的日" << endl;cin >> birthday_day;}//3、根据女儿生日判断星座,并输出所有信息cout << "父亲的姓名为: " << father_name << endl;cout << "女儿的姓名为: " << daughter_name << endl;cout << "女儿的生日为 " << birthday_month << "月" << birthday_day << "号 " << "\n女儿的星座为: "<< xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] << endl;//4、根据星座给定不同的属性初值:【情商】【智商】【武功】【金钱】if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "摩羯座"){EQ = 5;IQ = 1;kung_fu = 6;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "水瓶座"){EQ = 1;IQ = 1;kung_fu = 1;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "双鱼座"){EQ = 2;IQ = 2;kung_fu = 2;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "白羊座"){EQ = 3;IQ = 3;kung_fu = 3;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "金牛座"){EQ = 4;IQ = 4;kung_fu = 4;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "双子座"){EQ = 5;IQ = 5;kung_fu = 5;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "巨蟹座"){EQ = 6;IQ = 6;kung_fu = 6;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "狮子座"){EQ = 7;IQ = 7;kung_fu = 7;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "处女座"){EQ = 8;IQ = 8;kung_fu = 8;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "天秤座"){EQ = 9;IQ = 9;kung_fu = 9;}else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "天蝎座"){EQ = 10;IQ = 10;kung_fu = 10;}//游戏循环主体srand((unsigned int)time(NULL));cout << "8年过去了,小女孩慢慢长大了,到了该上学的年纪。但是这时爸爸不幸喝水呛死,"<< "\n只剩下小女孩孤苦伶仃一人生活,爸爸留下了20块钱"<< "\n这时小女孩不舒服,去看医生,医生告诉她:"<< "\n你患上了千年一遇的“小脑左部随机性螺旋翻转”,"<< "\n你最多只能再活  1  年,我很抱歉"<< "\n小女孩面临抉择,假如你是小女孩,你该如何抉择?" << endl;int rest_month = 20;for (int year = 1886; year < 1888; year++){for (int month = (year == 1886) ? 6 : 1; month <= 12; month++){A:rest_month--;cout << "------------------------" << endl;cout << "\n现在时间是" << year << "年" << month << "月。你还剩下 " << rest_month<< "个月 \n你的选择是:" << "\n1、上学 \n2、习武 \n3、打工\n4、查询自己能力" << endl;int choice = 0;cin >> choice;int IQ_1 = rand() % 11;int kung_fu_1 = rand() % 11;int EQ_1 = rand() % 6;int cost_money = rand() % 11 + 15;int add_money = rand() % 11 + 20;if (choice == 1){IQ += IQ_1;money -= cost_money;cout << "  一个月过去了,通过上学你的智商增加了" << IQ_1 << endl;cout << "花费了 " << cost_money << "你现在的金钱为 " << money << endl;}else if (choice == 2){kung_fu += kung_fu_1;money -= cost_money;cout << "  一个月过去了,通过习武你的武功增加了" << kung_fu_1 << endl;cout << "花费了 " << cost_money << "你现在的金钱为 " << money << endl;}else if (choice == 3){WORK:EQ += EQ_1;money += add_money;cout << "  一个月过去了,通过打工你的情商增加了" << EQ_1 << endl;cout << "你的存款增加了" << add_money << endl;cout << "你现在的金钱为 " << money << endl;}else if (choice != 1 && choice != 2 && choice != 3 && choice != 4){cout << "你选择浑浑噩噩度过了这一个月,啥也没干" << endl;}while (choice == 4){struct girl{string name;int number;};girl arr[4] ={{"情商",EQ},{"智商",IQ},{"武功",kung_fu},{ "金钱" ,money}};rest_month += 1;for (int i = 0; i < 4 - 1; i++){for (int j = 0; j < 4 - i - 1; j++){if (arr[j].number < arr[j + 1].number){girl temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}int max = arr[0].number;for (int j = 0; j < 4; j++){cout << "\n" << arr[j].name << " : " << setw(3) << arr[j].number;int len = arr[j].number / 10;for (int a = 0; a < len; a++){cout << "■";}for (int b = 0; b <= 12 - len; b++){cout << "□";}}cout << endl;goto A;}while (money <= 0){cout << "金钱不足,请打工赚钱!" << endl;cin >> choice;if (choice == 3){goto WORK;}}}}int arr[4] = { money,EQ,IQ,kung_fu };int max = 0;for (int i = 0; i < 4; i++){if (arr[i] > max){max = arr[i];}}string diwei[5] = { "女武神","女博士","富豪","企业高管","舞林盟主" };if (max == EQ){cout << "你很有天赋,年纪轻轻就成了" << diwei[3] << endl;}else if (max == IQ && IQ == kung_fu){cout << "你超有天赋,达到了世界之最" << diwei[0] << "!"<< "中华上下5000年仅有你一人达成如此成就,你可以复活你爹" << endl;system("pause");system("cls");cout << "  父亲慢慢睁开了了她那丹凤眼,当女孩看到她醒来的那一刻,一滴圆润的泪滴"<< "\n从女孩眼角滴落,女孩努力多年终于露出了久违的笑容,"<< "父亲缓慢张开嘴,\n令女孩想不到的是,父亲第一句话竟然不是“谢谢”,而是“对不起”"<< "父亲接着说\n“很抱歉,其实我早已发现你不对劲,于是我一直潜心钻研,终于研制出了伸腿瞪眼丸,"<< "\n只要你吃下它,就会没事,可谁知,我华佗神医,竟被水呛死,唉。"<< "来吧,女儿,吃下她,我们一起幸福生活吧”\n说着,父亲把手伸到胳肢窝,掏出了"<< "一个散发出耀眼光芒的药丸,女孩强忍巨臭吃下它,感觉好多了。"<< "\n---END---";cout << endl;}else if (max == IQ){cout << "你很有天赋,年纪轻轻就成了" << diwei[1] << endl;}else if (max == kung_fu){cout << "你很有天赋,年纪轻轻就成了" << diwei[4] << endl;}else if (max == money){cout << "你很有天赋,年纪轻轻就成了" << diwei[2] << endl;}cout << "游戏结束,欢迎您投胎再玩哟!" << endl;system("pause");return 0;
}

利用c++编写一个养成类小游戏相关推荐

  1. 【第三篇:利用ChatGPT编写贪食蛇小游戏】

    好像现在最近对ChatGPT讨论越来越热,ChatGPT的出现应该会引发"一次新的社会变革",未来很多码农会失业啊!与其坐着被改变,不如尝试主动改变,我今天就利用ChatGPT编写 ...

  2. android打地鼠设计报告,android开发中利用handler制作一个打地鼠小游戏

    android开发中利用handler制作一个打地鼠小游戏 发布时间:2020-11-25 15:21:11 来源:亿速云 阅读:136 作者:Leah 这期内容当中小编将会给大家带来有关androi ...

  3. python制作阴阳师脚本_利用python制作一个阴阳师小游戏

    利用python制作一个阴阳师小游戏 发布时间:2020-11-27 13:59:49 来源:亿速云 阅读:84 这期内容当中小编将会给大家带来有关利用python制作一个阴阳师小游戏,文章内容丰富且 ...

  4. 请用python编写一个斗地主小游戏,并给出完整代码

    很高兴为您服务!这是一个使用Python编写的斗地主小游戏的完整代码:# 导入必备模块 import random# 定义一副牌 poker = ['A', 2, 3, 4, 5, 6, 7, 8, ...

  5. python连连看小游戏_利用Python制作一个连连看小游戏,边学边玩!

    导语 今天我们将制作一个连连看小游戏,让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 环境搭建 安装Python并添加到环 ...

  6. 用C语言代码编写一个五子棋小游戏

    五子棋: 需要的数据: 1.定义一个1515的棋盘 2.定义变量用于记录棋子的坐标 3.定义角色变量 业务逻辑: 是否需要对数据进行初始化 for( ; ; ) { 1.刷新屏幕,显示棋盘 2.落子 ...

  7. 利用java编写剪刀石头布的小游戏

    import java.util.Scanner; import java.util.Random; public class Demo2Game {public static void main(S ...

  8. C++、使用QT编写一个表白小游戏

    一.游戏截图 1.主界面展示 2.点击不愿意按钮呈现一系列调皮的文字,在这里贴出任意点击两次的运行效果. 3.点击容我再仔细想想按钮,进入一个子窗口而后主界面隐藏,点击子窗口上文字按钮,弹出QMess ...

  9. 10分钟用python编写贪吃蛇小游戏_牛得一批!10分钟用Python编写一个贪吃蛇小游戏...

    贪吃蛇,大家应该都玩过.当初第一次接触贪吃蛇的时候 ,还是能砸核桃的诺基亚上,当时玩的不亦乐乎.今天,我们用Python编程一个贪吃蛇游戏,下面我们先看看效果: 好了,先介绍一个思路 所有的游戏最主要 ...

最新文章

  1. Cisco ASA防火墙常用命令
  2. 获取页面可见区域,屏幕区域的尺寸
  3. C# 的未来:主构造函数
  4. Arduino笔记-解决上传时出现avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00问题
  5. java 文件目录操作_Java---文件夹及文件操作
  6. ie visio 打开_Visio viewer 不能从IE打开vsd文件
  7. java规则计算_亲属计算规则算法--java实现(关键算法摘要)
  8. Latex常用数学公式
  9. 疑难杂症、易混淆、易遗忘的知识点记录
  10. linux命令——ll详解
  11. django+vue全
  12. JAVA核心知识点--HttpClient获取302响应中的Location头信息
  13. 电脑中的计算机为什么打不开怎么办,电脑当中msconfig打不开怎么办-电脑自学网...
  14. 别人的六一兴高彩烈,我的六一苦逼的敲代码采集壁纸~
  15. Incorrect string value: ‘‘\\xE5\\x87\\xBA\\xE4\\xBB\\xBB...‘‘ for column ‘‘note_describe‘‘ at row 1
  16. 如何修复硬盘坏道(360)
  17. 单片机c语言 〉〉,PìC单片机C语言编程入门(课件).doc
  18. 解决Git add无法提交,报错fatal : LF would be replaced by CRLF...
  19. linux命令界面维护,在Linux命令行中使用Um来创建和维护man手册
  20. flutter -- 自定义音乐播放器/视频播放器

热门文章

  1. Android界面布局练习
  2. visio中画电路的节点
  3. 计算机ip无法连接打印机,网络打印机无法连接的原因与解决办法-电脑故障
  4. 10分钟带你彻底搞懂服务限流和服务降级
  5. ZigBee无线通讯技术
  6. 如何myabtis使用注解对数据库进行操作呢?
  7. 上网设备linux共享网络,共享上网 - Linux Wiki
  8. 所有职位 岗位 大全 看看都有些什么岗位 职位
  9. Qter 遇见的大牛!
  10. Leetcode1407. 排名靠前的旅行者