• C语言游戏实战(4):人生重开模拟器


     前言:

    人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 

    网页版游戏:

    人生重开模拟器 (ytecn.com)

    1.实现一个简化版的人生重开模拟器

    (1) 游戏开始的时候,设定初始属性:颜值,体质,智力,家境

    (2)开始游戏,随机生成性别和出生点

    (3)针对每一年生成一些人生的经历(依靠一定的随机因素+当前角色的属性)

    2.打印菜单

    1. void menu()
    2. {
    3. printf("---------------------------------------------------\n");
    4. printf("| |\n");
    5. printf("| 欢迎来到人生重开模拟器 |\n");
    6. printf("| 1.play |\n");
    7. printf("| 2.exit |\n");
    8. printf("| |\n");
    9. printf("---------------------------------------------------\n");
    10. }
    11. void game()
    12. {
    13. }
    14. int main()
    15. {
    16. int input = 0;
    17. do
    18. {
    19. menu();
    20. printf("请选择>:");
    21. scanf("%d", &input);
    22. switch (input)
    23. {
    24. case 1:
    25. game();
    26. break;
    27. case 0:
    28. printf("退出游戏\n");
    29. break;
    30. default:
    31. printf("选择错误,请重新选择\n");
    32. }
    33. } while (input);
    34. return 0;
    35. }

    3.设置初始属性

    (1)颜值,体制,智力,家境,总和不能超过20,每一项取值都是1-10之间

    1. printf("请设置初始属性(可用点数总数为 20)>:\n");
    2. printf("请输入颜值(1-10):");
    3. scanf("%d", &face);
    4. printf("请输入体质(1-10):");
    5. scanf("%d", &strong);
    6. printf("请输入智力(1-10):");
    7. scanf("%d", &iq);
    8. printf("请输入家境(1-10):");
    9. scanf("%d", &home);

    (2)对用户输入的内容进行校验

    可以写一个while循环,如果玩家输入正确结束循环,反之循环继续。这里我们可以取标记值count=1,如果玩家输入无误只需count-1=0就可以跳出循环了,反之count+1继续循环。

    1. int face = 0, strong = 0, iq = 0, home = 0;
    2. int count = 1;
    3. while (count)
    4. {
    5. printf("请设置初始属性(可用点数总数为 20)>:\n");
    6. printf("请输入颜值(1-10):");
    7. scanf("%d", &face);
    8. printf("请输入体质(1-10):");
    9. scanf("%d", &strong);
    10. printf("请输入智力(1-10):");
    11. scanf("%d", &iq);
    12. printf("请输入家境(1-10):");
    13. scanf("%d", &home);
    14. if (face > 10 || face < 1 || strong>10 || strong < 1 || iq>10 || iq < 1 || home>10 || home < 1)
    15. {
    16. printf("属性点输入有误,请重新输入\a\n");
    17. count++;
    18. }
    19. else if (face + strong + iq + home > 20)
    20. {
    21. printf("属性总和大于20,请重新输入\a\n");
    22. count++;
    23. }
    24. count--;
    25. }
    26. printf("初始属性输入完毕!\n");
    27. printf("颜值:%d,体质:%d,智力:%d,家境:%d\n", face, strong, iq, home);

    4.生成角色的性别

    利用rand函数srand函数time函数生成一个随机数,就可以间接的随机生成一个性别了。

    1. #include
    2. #include
    3. #include
    4. srand((unsigned int)time(NULL));
    5. int sex = rand() % 2;
    6. if (sex == 1)
    7. {
    8. printf("你是个男孩.\n");
    9. }
    10. else
    11. {
    12. printf("你是个女孩.\n");
    13. }

    5.设置角色的出生点

    大致思路:

    家境 10 第一档,带来一些属性的加成

    家境 7-9 第二档,也会带来属性的加成

    家境 4-6 第三档,少数属性加成

    家境 1-3 第四档,会扣属性

    每一个档又通过随机数分为三种情况。

    1. int point = rand() % 3;
    2. //第一档
    3. if (home == 10)
    4. {
    5. printf("你出生在帝都,你的父母是高管政要.\n");
    6. home += 1;
    7. iq += 1;
    8. face += 1;
    9. }
    10. //第二档
    11. else if (home <= 9 && home >= 7)
    12. {
    13. if (point == 1)
    14. {
    15. printf("你出生在大城市,你的父母是公务员.\n");
    16. face += 2;
    17. }
    18. else if (point == 2)
    19. {
    20. printf("你出生在大城市,你的父母是企业高管.\n");
    21. home += 2;
    22. }
    23. else
    24. {
    25. printf("你出生在大城市,你的父母是大学教授.\n");
    26. iq += 2;
    27. }
    28. }
    29. //第三档
    30. else if (home <= 6 && home >= 4)
    31. {
    32. if (point == 1)
    33. {
    34. printf("你出生在三线城市,你的父母是医生.\n");
    35. strong += 1;
    36. }
    37. else if (point == 2)
    38. {
    39. printf("你出生在镇上,你的父母是老师.\n");
    40. iq += 1;
    41. }
    42. else
    43. {
    44. printf("你出生在镇上,你的父母是个体户.\n");
    45. home += 1;
    46. }
    47. }
    48. //第四档
    49. else
    50. {
    51. if (point == 1)
    52. {
    53. printf("你出生在农村,你的父母是辛苦劳作的农民.\n");
    54. strong += 1;
    55. face -= 2;
    56. }
    57. else if (point)
    58. {
    59. printf("你出生在穷乡僻壤,你的父母是无业游民.\n");
    60. home -= 1;
    61. }
    62. else
    63. {
    64. printf("你出生在镇上,你的父母感情不和.\n");
    65. strong -= 1;
    66. }
    67. }
    68. printf("颜值:%d,体质:%d,智力:%d,家境:%d\n", face, strong, iq, home);

    6.幼年阶段(1-10岁)

    大致思路:

    先使用for循环,按照年龄,从1循环到10

    针对每一年,都生成一个随机数(1-3)

    根据角色,心别,年龄,各种属性,触发各种事件,随机数会对事件的结果造成影响

    这里的事件可能会对属性带来变更

    每一年执行结束,都打印这一年发生的事件(让每年只发生一个事件)

    也可能会遇到夭折的情况

    代码难点:

    1.利用结构题数组给数组赋值字符串:

    其中利用了strcpy函数,需要使用#include对它进行调用。

    2.让一些事件重复执行

    这里利用了switch语句,和while循环,以及rand函数srand函数time函数生成随机数。

    因为这里只是打印1-10岁的事件,所以我在这里给count赋值了一个10然后count--,这样就可以循环打印1-10岁了,再然后我在这里利用了随机数,使其随机在我写好的事件中选一个事件打印。

    3.打印的时候可以打印得慢一点

    我在这里使用了Sleep函数,需要使用#include对它进行调用。

    4.为了丰富故事内容,我在里面加入了类似于的新闻的事件,且这种事件与受人物属性影响的事件的不同点是:1.这个事件不受人物属性的影响,也不能影响人物属性,它的产生是随机的。2.这个事件只能执行(打印)一次,而受人物属性影响的事件可以执行多次。

    这里的难点是如何让这种新闻性的事件不重复执行。我在这里用到了goto语句,先赋值一个元素为0,执行一次之后使其加1,然后通过if语句判断,如果赋值的那个元素已经不等于零,则执行goto语句,使其重新生成一个随机数,和重新执行switch语句。

    1. struct Event
    2. {
    3. char eve[80];
    4. };
    5. void even(int face,int strong,int iq,int home,int sex,int point)
    6. {
    7. int t = 0, o = 0, w = 0, r = 0, f = 0, v = 0, s = 0, e = 0, n = 0, g = 0;
    8. int count = 10;
    9. int age = 1;
    10. while (count)
    11. {
    12. int a = rand((unsigned int)time(NULL)) % 10;
    13. struct Event arr[10];
    14. again:
    15. switch (a + 1)
    16. {
    17. case 1:
    18. if (sex == 0 && home <= 3 && point == 1)
    19. {
    20. strcpy(arr[0].eve, "你的家里人重男轻女观念非常严重,你被遗弃了!\n游戏结束!");
    21. printf("%s\n", arr[0].eve);
    22. count = 1;
    23. }
    24. else
    25. {
    26. if (o == 0)
    27. {
    28. strcpy(arr[0].eve, "全球范围实现碳中和。");
    29. o++;
    30. }
    31. else
    32. {
    33. a = rand((unsigned int)time(NULL)) % 10;
    34. goto again;
    35. }
    36. }
    37. break;
    38. case 2:
    39. if (strong < 6 && point < 3)
    40. {
    41. if (home >= 5)
    42. {
    43. strcpy(arr[1].eve, "你生了一场病,在你的父母悉心照顾下,你康复了");
    44. strong += 1;
    45. home -= 1;
    46. }
    47. else
    48. {
    49. strcpy(arr[1].eve, "你生了一场病,你的父母没精力管你,你的身体状况更糟糕了");
    50. strong -= 1;
    51. }
    52. }
    53. else
    54. {
    55. if (w == 0)
    56. {
    57. strcpy(arr[1].eve, "火星建立永久性人类居住基地。");
    58. w++;
    59. }
    60. else
    61. {
    62. a = rand((unsigned int)time(NULL)) % 10;
    63. goto again;
    64. }
    65. }
    66. break;
    67. case 3:
    68. if (face <= 4&& age >= 7)
    69. {
    70. if (iq > 5)
    71. {
    72. strcpy(arr[2].eve, "你长得太丑了,别的小朋友不喜欢你,你决定用学习填充自己");
    73. }
    74. else
    75. {
    76. if (sex == 1)
    77. {
    78. strcpy(arr[2].eve, "你长得太丑了,别的小朋友不喜欢你,你和别的小朋友经常打架!");
    79. strong += 1;
    80. iq -= 1;
    81. }
    82. else
    83. {
    84. strcpy(arr[2].eve, "你长得太丑了,别的小朋友不喜欢你,你进常被被别的小朋友欺负");
    85. strong -= 1;
    86. }
    87. }
    88. }
    89. else
    90. {
    91. if (r == 0)
    92. {
    93. strcpy(arr[2].eve, "全球范围内的无人驾驶汽车技术普及。");
    94. r++;
    95. }
    96. else
    97. {
    98. a = rand((unsigned int)time(NULL)) % 10;
    99. goto again;
    100. }
    101. }
    102. break;
    103. case 4:
    104. if (iq < 5)
    105. {
    106. if (home >= 8 && age >= 6)
    107. {
    108. strcpy(arr[3].eve, "你看起来傻傻的,你的父母把你送到更好的学校学习。");
    109. iq += 1;
    110. }
    111. else if (home >= 4 && home <= 7)
    112. {
    113. if (sex == 1)
    114. {
    115. strcpy(arr[3].eve, "你看起来傻傻的,你的父母鼓励你多运动,争取成为运动员。");
    116. strong += 1;
    117. }
    118. else
    119. {
    120. strcpy(arr[3].eve, "你看起来傻傻的,你的父母鼓励你多打扮自己。");
    121. face += 1;
    122. }
    123. }
    124. else
    125. {
    126. strcpy(arr[3].eve, "你看起来傻傻的,你的父母为此经常吵架。");
    127. if (point == 1)
    128. strong -= 1;
    129. else if (point == 2)
    130. iq -= 1;
    131. }
    132. }
    133. else
    134. {
    135. if (f == 0)
    136. {
    137. strcpy(arr[3].eve, "人工智能与人类共同创造新文化。");
    138. f++;
    139. }
    140. else
    141. {
    142. a = rand((unsigned int)time(NULL)) % 10;
    143. goto again;
    144. }
    145. }
    146. break;
    147. case 5:
    148. {
    149. if (point == 1)
    150. {
    151. strcpy(arr[4].eve, "你健康成长,你看起来更结实了。");
    152. strong += 1;
    153. }
    154. else if (point == 2)
    155. {
    156. strcpy(arr[4].eve, "你健康成长,你看起来更好看了。");
    157. face += 1;
    158. }
    159. else
    160. {
    161. if (v == 0)
    162. {
    163. strcpy(arr[4].eve, "人类开始探索宇宙深处,与外星文明建立联系。");
    164. v++;
    165. }
    166. else
    167. {
    168. a = rand((unsigned int)time(NULL)) % 10;
    169. goto again;
    170. }
    171. }
    172. }
    173. break;
    174. case 6:
    175. if (s == 0)
    176. {
    177. strcpy(arr[5].eve, "人类成功实现核聚变能源的商业化应用,彻底解决能源危机问题。");
    178. s++;
    179. }
    180. else
    181. {
    182. a = rand((unsigned int)time(NULL)) % 10;
    183. goto again;
    184. }
    185. break;
    186. case 7:
    187. if (e == 0)
    188. {
    189. strcpy(arr[6].eve, "虚拟实现技术发展到一个全新的高度,人们可以随时地沉浸到虚拟世界中。");
    190. e++;
    191. }
    192. else
    193. {
    194. a = rand((unsigned int)time(NULL)) % 10;
    195. goto again;
    196. }
    197. break;
    198. case 8:
    199. if (n == 0)
    200. {
    201. strcpy(arr[7].eve, "全球范围内的高速交通网络初步建成,人们可以在几小时内穿越地球。");
    202. n++;
    203. }
    204. else
    205. {
    206. a = rand((unsigned int)time(NULL)) % 10;
    207. goto again;
    208. }
    209. break;
    210. case 9:
    211. if (g == 0)
    212. {
    213. strcpy(arr[8].eve, "高考取消英语这门科目。");
    214. g++;
    215. }
    216. else
    217. {
    218. a = rand((unsigned int)time(NULL)) % 10;
    219. goto again;
    220. }
    221. break;
    222. case 10:
    223. if (t == 0)
    224. {
    225. strcpy(arr[9].eve, "全球实现无国界教育,世界各地的学生都能接受优质的教育。");
    226. t++;
    227. }
    228. else
    229. {
    230. a = rand((unsigned int)time(NULL)) % 10;
    231. goto again;
    232. }
    233. break;
    234. }
    235. if (strong <= 0)
    236. {
    237. printf("你今年 %d 岁\n", age);
    238. if (point == 1)
    239. {
    240. printf("你染上了新冠病毒,没能抗住病毒的侵袭,你死了!\n");
    241. printf("游戏结束!\n");
    242. break;
    243. }
    244. else if (point == 2)
    245. {
    246. printf("你得了白血病,不幸去世!\n");
    247. printf("游戏结束!\n");
    248. break;
    249. }
    250. else
    251. {
    252. printf("你吃东西的时候不小心被呛死了!\n");
    253. printf("游戏结束!\n");
    254. break;
    255. }
    256. }
    257. else if (iq <= 0)
    258. {
    259. printf("你今年 %d 岁\n", age);
    260. if (point == 1)
    261. {
    262. printf("你发高烧的时候,由于治疗不及时变成了一个智障!\n");
    263. printf("游戏结束!\n");
    264. break;
    265. }
    266. else if (point == 2)
    267. {
    268. printf("你不小心喝了日本核污水变成了一个智障!\n");
    269. printf("游戏结束!\n");
    270. break;
    271. }
    272. else
    273. {
    274. printf("由于酒精中毒,你变成了一个智障\n");
    275. printf("游戏结束!\n");
    276. break;
    277. }
    278. }
    279. printf("---------------------------------------------------------------\n");
    280. printf("你今年 %d 岁了\n", age);
    281. printf("%s\n", arr[a].eve);
    282. printf("颜值:%d,体质:%d,智力:%d,家境:%d\n", face, strong, iq, home);
    283. printf("---------------------------------------------------------------\n");
    284. Sleep(1000);
    285. age++;
    286. count--;
    287. }
    288. }

    7.其他年龄段:

     如果你感兴趣的话,你可以充分发挥你的想象力,将其他年龄段的事件完善完善,例如在某个年龄段觉醒了修仙天赋,从此脱离凡尘,步入仙境;再比如在某个年龄段接触了电子竞技,对游戏的天赋极高,成为了一个职业玩家。

    完整代码:

    1. #define _CRT_SECURE_NO_WARNINGS 1
    2. #include
    3. #include
    4. #include
    5. #include
    6. #include
    7. void menu()
    8. {
    9. printf("---------------------------------------------------\n");
    10. printf("| |\n");
    11. printf("| 欢迎来到人生重开模拟器 |\n");
    12. printf("| 1.play |\n");
    13. printf("| 2.exit |\n");
    14. printf("| |\n");
    15. printf("---------------------------------------------------\n");
    16. }
    17. struct Event
    18. {
    19. char eve[80];
    20. };
    21. void even(int face, int strong, int iq, int home, int sex, int point);
    22. void game()
    23. {
    24. srand((unsigned int)time(NULL));
    25. //输入初始属性
    26. int face = 0, strong = 0, iq = 0, home = 0;
    27. int count = 1;
    28. while (count)
    29. {
    30. printf("请设置初始属性(可用点数总数为 20)>:\n");
    31. printf("请输入颜值(1-10):");
    32. scanf("%d", &face);
    33. printf("请输入体质(1-10):");
    34. scanf("%d", &strong);
    35. printf("请输入智力(1-10):");
    36. scanf("%d", &iq);
    37. printf("请输入家境(1-10):");
    38. scanf("%d", &home);
    39. if (face > 10 || face < 1 || strong>10 || strong < 1 || iq>10 || iq < 1 || home>10 || home < 1)
    40. {
    41. printf("属性点输入有误,请重新输入\a\n");
    42. count++;
    43. }
    44. else if (face + strong + iq + home > 20)
    45. {
    46. printf("属性总和大于20,请重新输入\a\n");
    47. count++;
    48. }
    49. count--;
    50. }
    51. printf("初始属性输入完毕!\n");
    52. printf("颜值:%d,体质:%d,智力:%d,家境:%d\n", face, strong, iq, home);
    53. //生成角色的性别
    54. int sex = rand() % 2;
    55. if (sex == 1)
    56. {
    57. printf("你是个男孩.\n");
    58. }
    59. else
    60. {
    61. printf("你是个女孩.\n");
    62. }
    63. //设定角色的出生点
    64. int point = rand() % 3;
    65. //第一档
    66. if (home == 10)
    67. {
    68. printf("你出生在帝都,你的父母是高管政要.\n");
    69. home += 1;
    70. iq += 1;
    71. face += 1;
    72. }
    73. //第二档
    74. else if (home <= 9 && home >= 7)
    75. {
    76. if (point == 1)
    77. {
    78. printf("你出生在大城市,你的父母是公务员.\n");
    79. face += 2;
    80. }
    81. else if (point == 2)
    82. {
    83. printf("你出生在大城市,你的父母是企业高管.\n");
    84. home += 2;
    85. }
    86. else
    87. {
    88. printf("你出生在大城市,你的父母是大学教授.\n");
    89. iq += 2;
    90. }
    91. }
    92. //第三档
    93. else if (home <= 6 && home >= 4)
    94. {
    95. if (point == 1)
    96. {
    97. printf("你出生在三线城市,你的父母是医生.\n");
    98. strong += 1;
    99. }
    100. else if (point == 2)
    101. {
    102. printf("你出生在镇上,你的父母是老师.\n");
    103. iq += 1;
    104. }
    105. else
    106. {
    107. printf("你出生在镇上,你的父母是个体户.\n");
    108. home += 1;
    109. }
    110. }
    111. //第四档
    112. else
    113. {
    114. if (point == 1)
    115. {
    116. printf("你出生在农村,你的父母是辛苦劳作的农民.\n");
    117. strong += 1;
    118. face -= 2;
    119. }
    120. else if (point)
    121. {
    122. printf("你出生在穷乡僻壤,你的父母是无业游民.\n");
    123. home -= 1;
    124. }
    125. else
    126. {
    127. printf("你出生在镇上,你的父母感情不和.\n");
    128. strong -= 1;
    129. }
    130. }
    131. printf("颜值:%d,体质:%d,智力:%d,家境:%d\n", face, strong, iq, home);
    132. even(face, strong, iq, home, sex, point);
    133. }
    134. int main()
    135. {
    136. int input = 0;
    137. do
    138. {
    139. menu();
    140. printf("请选择>:");
    141. scanf("%d", &input);
    142. switch (input)
    143. {
    144. case 1:
    145. game();
    146. break;
    147. case 0:
    148. printf("退出游戏\n");
    149. break;
    150. default:
    151. printf("选择错误,请重新选择\n");
    152. }
    153. } while (input);
    154. return 0;
    155. }
    156. void even(int face,int strong,int iq,int home,int sex,int point)
    157. {
    158. int t = 0, o = 0, w = 0, r = 0, f = 0, v = 0, s = 0, e = 0, n = 0, g = 0;
    159. int count = 10;
    160. int age = 1;
    161. while (count)
    162. {
    163. int a = rand((unsigned int)time(NULL)) % 10;
    164. struct Event arr[10];
    165. again:
    166. switch (a + 1)
    167. {
    168. case 1:
    169. if (sex == 0 && home <= 3 && point == 1)
    170. {
    171. strcpy(arr[0].eve, "你的家里人重男轻女观念非常严重,你被遗弃了!\n游戏结束!");
    172. printf("%s\n", arr[0].eve);
    173. count = 1;
    174. }
    175. else
    176. {
    177. if (o == 0)
    178. {
    179. strcpy(arr[0].eve, "全球范围实现碳中和。");
    180. o++;
    181. }
    182. else
    183. {
    184. a = rand((unsigned int)time(NULL)) % 10;
    185. goto again;
    186. }
    187. }
    188. break;
    189. case 2:
    190. if (strong < 6 && point < 3)
    191. {
    192. if (home >= 5)
    193. {
    194. strcpy(arr[1].eve, "你生了一场病,在你的父母悉心照顾下,你康复了");
    195. strong += 1;
    196. home -= 1;
    197. }
    198. else
    199. {
    200. strcpy(arr[1].eve, "你生了一场病,你的父母没精力管你,你的身体状况更糟糕了");
    201. strong -= 1;
    202. }
    203. }
    204. else
    205. {
    206. if (w == 0)
    207. {
    208. strcpy(arr[1].eve, "火星建立永久性人类居住基地。");
    209. w++;
    210. }
    211. else
    212. {
    213. a = rand((unsigned int)time(NULL)) % 10;
    214. goto again;
    215. }
    216. }
    217. break;
    218. case 3:
    219. if (face <= 4&& age >= 7)
    220. {
    221. if (iq > 5)
    222. {
    223. strcpy(arr[2].eve, "你长得太丑了,别的小朋友不喜欢你,你决定用学习填充自己");
    224. }
    225. else
    226. {
    227. if (sex == 1)
    228. {
    229. strcpy(arr[2].eve, "你长得太丑了,别的小朋友不喜欢你,你和别的小朋友经常打架!");
    230. strong += 1;
    231. iq -= 1;
    232. }
    233. else
    234. {
    235. strcpy(arr[2].eve, "你长得太丑了,别的小朋友不喜欢你,你进常被被别的小朋友欺负");
    236. strong -= 1;
    237. }
    238. }
    239. }
    240. else
    241. {
    242. if (r == 0)
    243. {
    244. strcpy(arr[2].eve, "全球范围内的无人驾驶汽车技术普及。");
    245. r++;
    246. }
    247. else
    248. {
    249. a = rand((unsigned int)time(NULL)) % 10;
    250. goto again;
    251. }
    252. }
    253. break;
    254. case 4:
    255. if (iq < 5)
    256. {
    257. if (home >= 8 && age >= 6)
    258. {
    259. strcpy(arr[3].eve, "你看起来傻傻的,你的父母把你送到更好的学校学习。");
    260. iq += 1;
    261. }
    262. else if (home >= 4 && home <= 7)
    263. {
    264. if (sex == 1)
    265. {
    266. strcpy(arr[3].eve, "你看起来傻傻的,你的父母鼓励你多运动,争取成为运动员。");
    267. strong += 1;
    268. }
    269. else
    270. {
    271. strcpy(arr[3].eve, "你看起来傻傻的,你的父母鼓励你多打扮自己。");
    272. face += 1;
    273. }
    274. }
    275. else
    276. {
    277. strcpy(arr[3].eve, "你看起来傻傻的,你的父母为此经常吵架。");
    278. if (point == 1)
    279. strong -= 1;
    280. else if (point == 2)
    281. iq -= 1;
    282. }
    283. }
    284. else
    285. {
    286. if (f == 0)
    287. {
    288. strcpy(arr[3].eve, "人工智能与人类共同创造新文化。");
    289. f++;
    290. }
    291. else
    292. {
    293. a = rand((unsigned int)time(NULL)) % 10;
    294. goto again;
    295. }
    296. }
    297. break;
    298. case 5:
    299. {
    300. if (point == 1)
    301. {
    302. strcpy(arr[4].eve, "你健康成长,你看起来更结实了。");
    303. strong += 1;
    304. }
    305. else if (point == 2)
    306. {
    307. strcpy(arr[4].eve, "你健康成长,你看起来更好看了。");
    308. face += 1;
    309. }
    310. else
    311. {
    312. if (v == 0)
    313. {
    314. strcpy(arr[4].eve, "人类开始探索宇宙深处,与外星文明建立联系。");
    315. v++;
    316. }
    317. else
    318. {
    319. a = rand((unsigned int)time(NULL)) % 10;
    320. goto again;
    321. }
    322. }
    323. }
    324. break;
    325. case 6:
    326. if (s == 0)
    327. {
    328. strcpy(arr[5].eve, "人类成功实现核聚变能源的商业化应用,彻底解决能源危机问题。");
    329. s++;
    330. }
    331. else
    332. {
    333. a = rand((unsigned int)time(NULL)) % 10;
    334. goto again;
    335. }
    336. break;
    337. case 7:
    338. if (e == 0)
    339. {
    340. strcpy(arr[6].eve, "虚拟实现技术发展到一个全新的高度,人们可以随时地沉浸到虚拟世界中。");
    341. e++;
    342. }
    343. else
    344. {
    345. a = rand((unsigned int)time(NULL)) % 10;
    346. goto again;
    347. }
    348. break;
    349. case 8:
    350. if (n == 0)
    351. {
    352. strcpy(arr[7].eve, "全球范围内的高速交通网络初步建成,人们可以在几小时内穿越地球。");
    353. n++;
    354. }
    355. else
    356. {
    357. a = rand((unsigned int)time(NULL)) % 10;
    358. goto again;
    359. }
    360. break;
    361. case 9:
    362. if (g == 0)
    363. {
    364. strcpy(arr[8].eve, "高考取消英语这门科目。");
    365. g++;
    366. }
    367. else
    368. {
    369. a = rand((unsigned int)time(NULL)) % 10;
    370. goto again;
    371. }
    372. break;
    373. case 10:
    374. if (t == 0)
    375. {
    376. strcpy(arr[9].eve, "全球实现无国界教育,世界各地的学生都能接受优质的教育。");
    377. t++;
    378. }
    379. else
    380. {
    381. a = rand((unsigned int)time(NULL)) % 10;
    382. goto again;
    383. }
    384. break;
    385. }
    386. if (strong <= 0)
    387. {
    388. printf("你今年 %d 岁\n", age);
    389. if (point == 1)
    390. {
    391. printf("你染上了新冠病毒,没能抗住病毒的侵袭,你死了!\n");
    392. printf("游戏结束!\n");
    393. break;
    394. }
    395. else if (point == 2)
    396. {
    397. printf("你得了白血病,不幸去世!\n");
    398. printf("游戏结束!\n");
    399. break;
    400. }
    401. else
    402. {
    403. printf("你吃东西的时候不小心被呛死了!\n");
    404. printf("游戏结束!\n");
    405. break;
    406. }
    407. }
    408. else if (iq <= 0)
    409. {
    410. printf("你今年 %d 岁\n", age);
    411. if (point == 1)
    412. {
    413. printf("你发高烧的时候,由于治疗不及时变成了一个智障!\n");
    414. printf("游戏结束!\n");
    415. break;
    416. }
    417. else if (point == 2)
    418. {
    419. printf("你不小心喝了日本核污水变成了一个智障!\n");
    420. printf("游戏结束!\n");
    421. break;
    422. }
    423. else
    424. {
    425. printf("由于酒精中毒,你变成了一个智障\n");
    426. printf("游戏结束!\n");
    427. break;
    428. }
    429. }
    430. printf("---------------------------------------------------------------\n");
    431. printf("你今年 %d 岁了\n", age);
    432. printf("%s\n", arr[a].eve);
    433. printf("颜值:%d,体质:%d,智力:%d,家境:%d\n", face, strong, iq, home);
    434. printf("---------------------------------------------------------------\n");
    435. Sleep(1000);
    436. age++;
    437. count--;
    438. }
    439. }

    游戏截图: 

  • 相关阅读:
    百度之星(夏日漫步)
    Linux入侵排查
    【项目】云备份系统基础功能实现
    Linux文件系统
    第十四届蓝桥杯(第二期)模拟赛试题与题解 C++
    怎么找回删除的照片和视频呢?
    Word处理控件Aspose.Words功能演示:使用C#或VB.NET在Word文档中进行邮件合并
    torch.nn.utils.rnn下面pack_padded_sequence和pad_packed_sequence方法
    896. 最长上升子序列 II 线性dp (优化版 nlogn 贪心+二分)
    git上push代码错误回退代码
  • 原文地址:https://blog.csdn.net/weixin_58252863/article/details/136638090