项目实战-美少女养成记
需求:
使用控制台编写一个小游戏,分别实现以下功能:
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;
}
项目实战-美少女养成记相关推荐
- 美少女养成记---基本信息录入
#include <iostream> #include <iomanip> //io代表输入输出,manip是manipulator(操纵器)的缩写 #include < ...
- 美少女养成记---根据月日计算星座
#include <iostream> #include <iomanip> //io代表输入输出,manip是manipulator(操纵器)的缩写 #include < ...
- C++第一阶段项目《小公举养成记》
展示了游戏的大框架及部分功能,其他功能类似 /*******************************************文件名: main.cpp*创建人: K&J*日期: 202 ...
- C++实战——小公举养成记
本次实战只是学习C++的一个小练习 游戏规则: 游戏一共进行78个月 安排每月行程,合理规划增加基础属性等等- 用到的技能点: 分支结构.循环结构.数组.* vector / array.指针- 代码 ...
- 【实操演练】平民玩家借力AI生成美少女图片
前言 AI的风已经吹了有一阵子了.看着各种头条的AI图片,各种群里的惊艳美女,是不是和我一样也想自己去实操一番呢?说起AI生图领域,目前较火的应该是Midjourney和Stable Diffusio ...
- VS2017学习C++基础十一(项目实战:小公主养成记)
// chapter11a01.cpp : //项目实战:小公主养成记#include <iostream> #include <string> #include <ve ...
- 《小公主养成记》——C++第一阶段项目
/*****************************************************文件名:main.cpp*创建人:郭新亮*日 期:2019-01-12*描 述:C++第一阶 ...
- 【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】
目录 RNN项目实战使用周杰伦专辑歌词训练模型并创作歌曲 1.语言模型数据集预处理 1.1 读取数据集 1.2 建立字符索引 1.3 时序数据的2种采样方式 1.3.1 随机采样 1.3.2 相邻采样 ...
- “牌面”养成记4:阅读顺序,工具,以及小成果
在「"牌面"养成记2:阅读学习计划」中提到过阅读会辅助以私家书藏APP,目前已经都收录完毕. 从目前统计来看,132本书籍中,还是偏爱「中信出版社」(可能是受罗辑思维影响的偏好性) ...
最新文章
- preparedStatement平台:
- Python --金字塔
- DuiLib的Combo控件点击无响应的问题
- Windows下静态链接库的使用
- 从IC设计来看Trace32的用途
- instanceof 的运用
- linux那些事之中断与异常(AMD64架构)_2
- one-hot encoding 并非分类变量编码的唯一选择
- php imagick
- 面向对象的思考过程 (马特·魏斯费尔德 著)
- 国寿鸿寿年金保险(分红型)
- 天正结构TAsd8.2 天正规划与景观设计软件7.5 及注册机
- 网络安全——sql注入漏洞拓扑图
- RCWL-0516微波雷达模块检测人体移动(发光二极管)
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'dataSource' is defin
- android关机闹钟设计思路
- Oracle TRUNCATE语法
- 企业招聘网络推广运营人员的岗位工作职责该如何写?
- c#解决将json中的\u6b66\u6c49等字符转换成中文
- 万能的APT!编译时注解的妙用
热门文章
- 滴滴打车推出的“专车服务”后的见闻以及思考
- 如何查看计算机储存系统,Win7怎么看电脑内存?Win7系统查看电脑内存的三种方法...
- 在Linq to Entity 中使用lambda表达式来实现Left Join和Join
- 特征选择算法在微博业务应用中的演进历程
- 分享:通过JAVA获取优酷、土豆、酷6、6间房等视频
- 文字替代图片(CSS加载不出来文字代替)
- 谷歌造出首台完整功能无人驾驶车 明年上路
- 扫码登录背后的实现原理
- 什么是计算机工作组管理,计算机工作组和域的区别
- Blocs for mac(优秀的可视化代码编辑器)