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

本文记录了C++初学者在完成《小公主养成记》项目过程中的学习经历,通过该项目,作者加深了对C++编程的理解,并表达了对指导资源‘老九学堂’的感激之情。
摘要由CSDN通过智能技术生成
    /****************************************************
    *文件名: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
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值