需求:

使用控制台编写一个小游戏,分别实现以下功能:

1.新增数据

2.修改数据

3.删除数据

4.查询数据

游戏规则:

1.游戏一共进行78个月

2.安排每月行程,合理规划增加基础属性

3.成为小公主,登基为女王,嫁给高富帅,从此走上人生巅峰~

用到的技能点:

1.分支结构

2.循环结构

3.数组

4.*vectory/array

5.指针

上代码:

#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
#include <vector>
#include <array>
#include <string>using namespace std;int main()
{//1.为父女取名字string value_father_name;string value_daugther_name;/*女儿生日月份和日期*/int value_birth_month;int value_birth_date;/*女儿的星座*/string value_daugther_constell;/*女儿的五项基本信息:体力、智力、魅力、道德、气质*///int value_duagther_baseinfos[5];//vector<int> value_vec_info;//动态分配内存的数组array<int, 5> value_array_info;//动态分配内存的数组//五项基本属性值array<string, 5> value_array_baseinfo_names = {"体力","智力","魅力","道德","气质"};int value_duagther_gold = 500;/*根据生日计算星座,星座二维数组*/string constells_names[12][2] = {{ "山羊座", "水瓶座" },//一月{ "水瓶座", "双鱼座" },//二月{ "双鱼座", "白羊座" },//三月{ "白羊座", "金牛座" },//四月{ "金牛座", "双子座" },//五月{ "双子座", "巨蟹座" },//六月{ "巨蟹座", "狮子座" },//七月{ "狮子座", "处女座" },//八月{ "处女座", "天秤座" },//九月{ "天秤座", "天蝎座" },//十月{ "天蝎座", "射手座" },//十一月{ "射手座", "山羊座" },//十二月};int choice,temp1, temp2, temp3;cout << "父亲的姓名: ";cin >> value_father_name;cout << "女儿的姓名: ";cin >> value_daugther_name;cout << "女儿的生日(MM DD): ";cin >> value_birth_month >> value_birth_date;/*各个月的跨星座日期*/int constells_dates[] = { 20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22 };value_daugther_constell = constells_names[value_birth_month - 1][value_birth_date / constells_dates[value_birth_month - 1]];cout << "女儿的信息: ";cout << "姓名:" << value_daugther_name << endl;cout << "生日:1659-" << value_birth_month << "-" << value_birth_date << endl;cout << "星座:" << value_daugther_constell << endl;if (value_daugther_constell == "白羊座"){/*value_vec_info.push_back(80);value_vec_info.push_back(15);value_vec_info.push_back(15);value_vec_info.push_back(11);value_vec_info.push_back(21);*/value_array_info[0] = 80;value_array_info[1] = 15;value_array_info[2] = 15;value_array_info[3] = 11;value_array_info[4] = 21;}else if (value_daugther_constell == "金牛座"){value_array_info[0]=46; value_array_info[1]=33; value_array_info[2]=28; value_array_info[3]=35; value_array_info[4]=20;}else if (value_daugther_constell == "双子座"){value_array_info[0]=50; value_array_info[1]=35; value_array_info[2]=23; value_array_info[3]=26; value_array_info[4]=8;}else if (value_daugther_constell == "巨蟹座"){value_array_info[0]=40; value_array_info[1]=31; value_array_info[2]=33; value_array_info[3]=23; value_array_info[4]=17;}else if (value_daugther_constell == "狮子座"){value_array_info[0]=85; value_array_info[1]=9; value_array_info[2]=11; value_array_info[3]=28; value_array_info[4]=20;}else if (value_daugther_constell == "处女座"){value_array_info[0]=35; value_array_info[1]=28; value_array_info[2]=36; value_array_info[3]=19; value_array_info[4]=18;}else if (value_daugther_constell == "天秤座"){value_array_info[0]=42; value_array_info[1]=33; value_array_info[2]=25; value_array_info[3]=24; value_array_info[4]=32;}else if (value_daugther_constell == "天蝎座"){value_array_info[0]=50; value_array_info[1]=25; value_array_info[2]=40; value_array_info[3]=20; value_array_info[4]=18;}else if (value_daugther_constell == "射手座"){value_array_info[0]=52; value_array_info[1]=35; value_array_info[2]=15; value_array_info[3]=26; value_array_info[4]=19;}else if (value_daugther_constell == "山羊座"){value_array_info[0]=56; value_array_info[1]=21; value_array_info[2]=16; value_array_info[3]=22; value_array_info[4]=25;}else if (value_daugther_constell == "水瓶座"){value_array_info[0]=43; value_array_info[1]=43; value_array_info[2]=20; value_array_info[3]=27; value_array_info[4]=21;}else if (value_daugther_constell == "双鱼座"){value_array_info[0]=45; value_array_info[1]=20; value_array_info[2]=29; value_array_info[3]=25; value_array_info[4]=21;}for (int i = 0; i < 5; i++){cout << value_array_info[i] << '\t' << endl;}cout << endl;//2.为女儿录入初始信息 生日、星座//  根据女儿的星座,设置游戏的基本参数(体力、智力、魅力、道德、气质)//3.开始游戏大循环//游戏从1659年6月开始for (int year = 1659; year <= 1659 + 7; year++){for (int month = (year ==1659)?6: 1; month <= 12; month++){//判断是否是女儿的生日if (month == value_birth_month){cout << "本月是" << value_daugther_name << "的生日,要不要送礼物呢?" << endl;//根据用户的输入自行判断}//显示游戏主菜单cout << "\n1、查看状态\n2、安排行程\n3、亲自谈话\n4、存档\n5、读档" << endl;cin >> choice;switch(choice){case 1://查看状态cout << "女儿的信息: \n";cout << "姓名:" << value_daugther_name << endl;cout << "生日:1659-" << value_birth_month << "-" << value_birth_date << endl;cout << "星座:" << value_daugther_constell << endl;cout << "金币:"<<value_duagther_gold<<endl;cout << left;for (int i = 0; i < 5; i++){cout << value_array_baseinfo_names[i] << ": " <<setw(2)<< value_array_info[i];//计算实心方框的数量int solidCount = value_array_info[i] / 10;for (int j = 0; j < 10; j++){if (j < solidCount){cout << "■";}elsecout << "□";}cout << endl;}break;case 2:{//安排行程:一个月最多安排三个行程string month_parts[] = {"上旬","中旬","下旬"};for (int i = 0; i < 3; i++){cout << "-- " << month << "-- " << month_parts[i] << endl;cout << "1、学习武艺\n2、上私塾\n3、学习礼法\n4、出城修行\n5、打工赚钱" << endl;cout << "请选择:";cin >> choice;//这里需要注意没钱的情况,强制打工srand(time(NULL));if (choice == 1)//+体力 +魅力 -金钱{value_array_info[0] += temp1 = rand() % 11;//rand()范围在32272之间,%11,数值在0~10value_array_info[2] += temp2 = rand() % 11;value_duagther_gold -= temp3 = rand() % 51;cout << "学习张无忌好榜样!!";cout << "体力+" << temp1 << ",魅力+" << temp2 << ",金钱-" << temp3 << endl;}else if (choice == 5){value_duagther_gold += temp3 = rand() % 101;cout << "通过努力打工,获得了" << temp3 << "个金币" << endl;}}break;}case 3:break;case 4:break;case 5:break;default:break;}}}//4.根据各项参数,判定游戏结果/*女王 属性2000以上王妃 属性总数1800-2000女将军 属性总数1600-1800皇家学院总裁 属性总数在1200-1600,智力最高,且体力>智力高级祭司 属性总数在1200-1600,道德最高,且魅力>气质*/int sum = 0;for (int i = 0; i < 5; i++){sum += value_array_info[i];}if (sum > 2000){cout << "最优游戏结果:登基为女王陛下" << endl;}else if (sum > 1800 && sum < 2000){cout << "次优游戏结果:成为王妃" << endl;}else if (sum > 1200 && sum < 1600){int maxValue = value_array_info[0];int maxIndex = 0;for (int i = 0; i < 5; i++){if (maxValue < value_array_info[i]){maxValue = value_array_info[i];maxIndex = i;}}if ("道德" == value_array_baseinfo_names[maxIndex] && value_array_info[2]>value_array_info[4]){cout << "经过长期的训练,"<<value_daugther_name<<"成长为一名光荣的祭祀!!" << endl;}}return 0;
}

项目实战-美少女养成记相关推荐

  1. 美少女养成记---基本信息录入

    #include <iostream> #include <iomanip> //io代表输入输出,manip是manipulator(操纵器)的缩写 #include < ...

  2. 美少女养成记---根据月日计算星座

    #include <iostream> #include <iomanip> //io代表输入输出,manip是manipulator(操纵器)的缩写 #include < ...

  3. C++第一阶段项目《小公举养成记》

    展示了游戏的大框架及部分功能,其他功能类似 /*******************************************文件名: main.cpp*创建人: K&J*日期: 202 ...

  4. C++实战——小公举养成记

    本次实战只是学习C++的一个小练习 游戏规则: 游戏一共进行78个月 安排每月行程,合理规划增加基础属性等等- 用到的技能点: 分支结构.循环结构.数组.* vector / array.指针- 代码 ...

  5. 【实操演练】平民玩家借力AI生成美少女图片

    前言 AI的风已经吹了有一阵子了.看着各种头条的AI图片,各种群里的惊艳美女,是不是和我一样也想自己去实操一番呢?说起AI生图领域,目前较火的应该是Midjourney和Stable Diffusio ...

  6. VS2017学习C++基础十一(项目实战:小公主养成记)

    // chapter11a01.cpp : //项目实战:小公主养成记#include <iostream> #include <string> #include <ve ...

  7. 《小公主养成记》——C++第一阶段项目

    /*****************************************************文件名:main.cpp*创建人:郭新亮*日 期:2019-01-12*描 述:C++第一阶 ...

  8. 【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】

    目录 RNN项目实战使用周杰伦专辑歌词训练模型并创作歌曲 1.语言模型数据集预处理 1.1 读取数据集 1.2 建立字符索引 1.3 时序数据的2种采样方式 1.3.1 随机采样 1.3.2 相邻采样 ...

  9. “牌面”养成记4:阅读顺序,工具,以及小成果

    在「"牌面"养成记2:阅读学习计划」中提到过阅读会辅助以私家书藏APP,目前已经都收录完毕. 从目前统计来看,132本书籍中,还是偏爱「中信出版社」(可能是受罗辑思维影响的偏好性) ...

最新文章

  1. preparedStatement平台:
  2. Python --金字塔
  3. DuiLib的Combo控件点击无响应的问题
  4. Windows下静态链接库的使用
  5. 从IC设计来看Trace32的用途
  6. instanceof 的运用
  7. linux那些事之中断与异常(AMD64架构)_2
  8. one-hot encoding 并非分类变量编码的唯一选择
  9. php imagick
  10. 面向对象的思考过程 (马特·魏斯费尔德 著)
  11. 国寿鸿寿年金保险(分红型)
  12. 天正结构TAsd8.2 天正规划与景观设计软件7.5 及注册机
  13. 网络安全——sql注入漏洞拓扑图
  14. RCWL-0516微波雷达模块检测人体移动(发光二极管)
  15. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defin
  16. android关机闹钟设计思路
  17. Oracle TRUNCATE语法
  18. 企业招聘网络推广运营人员的岗位工作职责该如何写?
  19. c#解决将json中的\u6b66\u6c49等字符转换成中文
  20. 万能的APT!编译时注解的妙用

热门文章

  1. 滴滴打车推出的“专车服务”后的见闻以及思考
  2. 如何查看计算机储存系统,Win7怎么看电脑内存?Win7系统查看电脑内存的三种方法...
  3. 在Linq to Entity 中使用lambda表达式来实现Left Join和Join
  4. 特征选择算法在微博业务应用中的演进历程
  5. 分享:通过JAVA获取优酷、土豆、酷6、6间房等视频
  6. 文字替代图片(CSS加载不出来文字代替)
  7. 谷歌造出首台完整功能无人驾驶车 明年上路
  8. 扫码登录背后的实现原理
  9. 什么是计算机工作组管理,计算机工作组和域的区别
  10. Blocs for mac(优秀的可视化代码编辑器)