/****************************************************
*文件名:main.cpp
*创建人:郭新亮
*日 期:2019-01-12
*描 述:C++第一阶段项目——小公主养成记
*修改人:郭新亮
*日 期:2019-02-28
*版 本:1.0.0
*Copyright (c) 2019 GuoXinliang
****************************************************/
#include <iostream> //
#include <iomanip> //控制输出格式、设置宽度
#include <cmath>
#include <string>
#include <cstdlib> //引入该头文件
#include <ctime> //随机数(需要用到时间)
#include <windows.h> //引入休眠函数包
#include <vector> //可能会用到集合
#include <array>
#include <windows.h> //引入指定时间间隔的头文件
using namespace std;
//需求:老九学堂_第8章视频02:小公主养成记
//任务:
//1.为父、女取名字
//2.为女儿录入初始信息
// 根据女儿的星座,设置游戏的基本参数,包括:
// (1)正面的:体力、智力、魅力、道德、气质等
// (2)负面的:疲劳度、健康值
//3.开始游戏大循环
//4.根据各项游戏参数,判定游戏结果,这个游戏最麻烦的就是变量和数组
int main(){
//1.为父、女取名字(命名变量时,最好起成一个系列)
string value_father_name; //父亲的姓名,名字格式统一,方便后边的程序书写
string value_daughter_name; //女儿的姓名
cout << "父亲的名字:";
cin >> value_father_name;
cout << "女儿的名字:";
cin >> value_daughter_name;
//2.为女儿录入初始信息:生日(年份不需要我们定义,只用定义月、日)、星座
int value_birth_month; //女儿生日的月份,6月6号
int value_birth_date; //女儿生日的日期
cout << "请输入女儿的出生日期(MM DD)_月份:";
cin >> value_birth_month;
cout << "请输入女儿的出生日期(MM DD)_日期:";
cin >> value_birth_date;
string value_daughter_constell; //女儿的星座.用string型二维数组来判断女儿的星座
string constell_names[12][2] ={
{"山羊座", "水瓶座"}, //一月
{"水瓶座", "双鱼座"}, //二月
{"双鱼座", "白羊座"}, //三月
{"白羊座", "金牛座"}, //四月
{"金牛座", "双子座"}, //五月
{"双子座", "巨蟹座"}, //六月
{"巨蟹座", "狮子座"}, //七月
{"狮子座", "处女座"}, //八月
{"处女座", "天秤座"}, //九月
{"天秤座", "天蝎座"}, //十月
{"天蝎座", "射手座"}, //十一月
{"射手座", "山羊座"}, //十二月
};
/*计算各月份的跨星座日期*/
/*声明每一个月里,首先跨星座的是哪一天(注意:一个月总是跨越两个星座,此处仅考虑第一次跨星座的日期)*/
int constell_dates[] = {20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22};
/*计算,某个月某一天出生的女儿,究竟对应哪一个星座*/
value_daughter_constell = constell_names[value_birth_month-1][value_birth_date/constell_dates[value_birth_month-1]];
/*汇总女儿的基本信息*/
cout << endl;
cout << "女儿" << value_daughter_name << "当前的信息如下:" << endl;
cout << "女儿的姓名为:" << value_daughter_name << "。" << endl;
cout << "女儿的生日为:1659年" << value_birth_month << "月" << value_birth_date << "日。" << endl;
cout << "女儿的星座为:" << value_daughter_constell << "。" << endl;
/*后续完善部分:(1)还可以计算,出生当天是星期几*/
cout << endl;
/*根据女儿的星座,设置游戏的基本参数,包括:体力、智力、魅力、自尊、道德、气质、感受、体贴、武术、魔法*/
/*定义一个数组,包含10个元素,分别对应女儿的10种属性*/
array<string , 10> value_name_attributes = {"体力", "智力", "魅力", "自尊", "道德", "气质", "感受", "体贴", "武术", "魔法"};
/*定义一个整型数组,存放10个属性的值*/
array<int , 10> value_array_attributes;
int value_daughter_gold = 500; //女儿的初始金币数量
if(value_daughter_constell == "白羊座" )
{
value_array_attributes[0] = 80;
value_array_attributes[1] = 18;
value_array_attributes[2] = 18;
value_array_attributes[3] = 28;
value_array_attributes[4] = 14;
value_array_attributes[5] = 24;
value_array_attributes[6] = 24;
value_array_attributes[7] = 13;
value_array_attributes[8] = 43;
value_array_attributes[9] = 38;
}
else if(value_daughter_constell == "金牛座")
{
value_array_attributes[0] = 65;
value_array_attributes[1] = 30;
value_array_attributes[2] = 28;
value_array_attributes[3] = 35;
value_array_attributes[4] = 20;
value_array_attributes[5] = 29;
value_array_attributes[6] = 20;
value_array_attributes[7] = 23;
value_array_attributes[8] = 20;
value_array_attributes[9] = 30;
}
else if(value_daughter_constell == "双子座" )
{
value_array_attributes[0] = 50;
value_array_attributes[1] = 35;
value_array_attributes[2] = 23;
value_array_attributes[3] = 26;
value_array_attributes[4] = 27;
value_array_attributes[5] = 20;
value_array_attributes[6] = 42;
value_array_attributes[7] = 12;
value_array_attributes[8] = 25;
value_array_attributes[9] = 40;
}
else if(value_daughter_constell == "巨蟹座" )
{
value_array_attributes[0] = 40;
value_array_attributes[1] = 31;
value_array_attributes[2] = 31;
value_array_attributes[3] = 23;
value_array_attributes[4] = 37;
value_array_attributes[5] = 31;
value_array_attributes[6] = 37;
value_arr
《小公主养成记》——C++第一阶段项目
最新推荐文章于 2022-03-20 19:48:47 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)