根据b站up主“老九学堂”c++教程“小公主养成记”并结合所学编出一个小游戏:
目前仅结合了:数组、if语句、随机数、三目运算符、for循环、goto语句、设置输出宽度setw(a)、while语句、逻辑运算符等。
#includeusing namespace std; #include #include #include //setw()设置宽度要包含这个头文件 string xingzuo[12][2] = { {"摩羯座","水瓶座"},{"水瓶座","双鱼座"}, {"双鱼座","白羊座"},{"白羊座","金牛座"}, {"金牛座","双子座"},{"双子座","巨蟹座"}, {"巨蟹座","狮子座"},{"狮子座","处女座"}, {"处女座","天秤座"},{"天秤座","天蝎座"}, {"天蝎座","射手座"},{"射手座","摩羯座"} }; int sz_weishu[12] = { 21,20,21,21,22,22,24,24,24,24,23,23 };//每个月划分不同星座的中间日期 int qingshang = 0; int zhishang = 0; int wugong = 0; int money = 20; string shuxing[4] = { "情商","智商","武功","金钱" }; int arr[4] = { qingshang,zhishang,wugong,money }; 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]] == "摩羯座") { arr[0] = 5; arr[1] = 1; arr[2] = 6; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "水瓶座") { arr[0] = 1; arr[1] = 1; arr[2] = 1; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "双鱼座") { arr[0] = 2; arr[1] = 2; arr[2] = 2; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "白羊座") { arr[0] = 3; arr[1] = 3; arr[2] = 3; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "金牛座") { arr[0] = 4; arr[1] = 4; arr[2] = 4; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "双子座") { arr[0] = 5; arr[1] = 5; arr[2] = 5; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "巨蟹座") { arr[0] = 6; arr[1] = 6; arr[2] = 6; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "狮子座") { arr[0] = 7; arr[1] = 7; arr[2] = 7; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "处女座") { arr[0] = 8; arr[1] = 8; arr[2] = 8; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "天秤座") { arr[0] = 9; arr[1] = 9; arr[2] = 9; } else if (xingzuo[birthday_month - 1][birthday_day / sz_weishu[birthday_month - 1]] == "天蝎座") { arr[0] = 10; arr[1] = 10; arr[2] = 10; } //游戏循环主体 srand((unsigned int)time(NULL)); cout << "7年过去了,小女孩慢慢长大了,到了该上学的年纪。但是这时爸爸不幸喝水呛死," << "n只剩下小女孩孤苦伶仃一人生活,爸爸留下了10块钱" << "n这时小女孩不舒服,去看医生,医生告诉她:" << "n你患上了千年一遇的“小脑左部随机性螺旋翻转”," << "n你最多只能再活 2 年,诶嘿,我很抱歉" << "n小女孩面临抉择,假如你是小女孩,你该如何抉择?" << endl; for (int year = 1885; year < 1888; year++) { for (int month = (year == 1885) ? 6 : 1; month <= 12; month++) { A: cout << "n现在时间是" << year << "年" << month << "月。 n你的选择是:" << "n1、上学 n2、习武 n3、打工n4、查询自己能力" << endl; int choice = 0; cin >> choice; int zhishang_1 = rand() % 11; int wugong_1 = rand() % 11; int qingshang_1 = rand() % 11; int money_1 = rand() % 16; int jia_money = rand() % 31; if (choice == 1) { arr[1] += zhishang_1; arr[3] -= money_1; cout << " 一个月过去了,通过上学你的智商增加了" << zhishang_1 << endl; cout << "花费了 "< choice; if (choice == 3) { goto DAGONG; } } } } int max = 0; for (int i = 0; i < 3; i++) { if (arr[i] > max) { max = arr[i]; } } // int arr[4] = { qingshang,zhishang,wugong,money }; string diwei[5] = { "女武神","女博士","富豪","企业高管","舞林盟主" }; if (max == arr[0]) { cout << "你很有天赋,年纪轻轻就成了" << diwei[3] << endl; } else if (max == arr[1]) { cout << "你很有天赋,年纪轻轻就成了" << diwei[1] << endl; } else if (max == arr[2]) { cout << "你很有天赋,年纪轻轻就成了" << diwei[4] << endl; } else if (max == arr[1] && arr[1] == arr[2]) { cout << "你超有天赋,达到了世界之最" << diwei[0] << "!" << "中华上下5000年仅有你一人达成如此成就,你可以复活你爹" << endl; } else if (max == arr[3]) { cout << "你很有天赋,年纪轻轻就成了" << diwei[2] << endl; } cout << "游戏结束,欢迎您投胎再玩哟!" << endl; system("pause"); return 0; }



