招生网站开发的背景,高青县住房和城乡建设局网站,wordpress 主题宽度,wordpress调用内容前言#xff1a;
人生重开模拟器是前段时间非常火的一个小游戏#xff0c;接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏#xff1a;
人生重开模拟器 (ytecn.com)
1.实现一个简化版的人生重开模拟器
#xff08;1#xff09; 游戏开始的时… 前言
人生重开模拟器是前段时间非常火的一个小游戏接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏
人生重开模拟器 (ytecn.com)
1.实现一个简化版的人生重开模拟器
1 游戏开始的时候设定初始属性颜值体质智力家境
2开始游戏随机生成性别和出生点
3针对每一年生成一些人生的经历依靠一定的随机因素当前角色的属性
2.打印菜单
void menu()
{printf(---------------------------------------------------\n);printf(| |\n);printf(| 欢迎来到人生重开模拟器 |\n);printf(| 1.play |\n);printf(| 2.exit |\n);printf(| |\n);printf(---------------------------------------------------\n);}
void game()
{}
int main()
{int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误请重新选择\n);}} while (input);return 0;
}
3.设置初始属性
1颜值体制智力家境总和不能超过20每一项取值都是1-10之间
printf(请设置初始属性可用点数总数为 20\n);
printf(请输入颜值1-10);
scanf(%d, face);
printf(请输入体质1-10);
scanf(%d, strong);
printf(请输入智力1-10);
scanf(%d, iq);
printf(请输入家境1-10);
scanf(%d, home);
2对用户输入的内容进行校验
可以写一个while循环如果玩家输入正确结束循环反之循环继续。这里我们可以取标记值count1如果玩家输入无误只需count-10就可以跳出循环了反之count1继续循环。
int face 0, strong 0, iq 0, home 0;
int count 1;
while (count)
{printf(请设置初始属性可用点数总数为 20\n);printf(请输入颜值1-10);scanf(%d, face);printf(请输入体质1-10);scanf(%d, strong);printf(请输入智力1-10);scanf(%d, iq);printf(请输入家境1-10);scanf(%d, home);if (face 10 || face 1 || strong10 || strong 1 || iq10 || iq 1 || home10 || home 1){printf(属性点输入有误请重新输入\a\n);count;}else if (face strong iq home 20){printf(属性总和大于20请重新输入\a\n);count;}count--;
}
printf(初始属性输入完毕\n);
printf(颜值%d体质%d智力%d家境%d\n, face, strong, iq, home);
4.生成角色的性别
利用rand函数srand函数time函数生成一个随机数就可以间接的随机生成一个性别了。
#includestdio.h
#includetime.h
#includestdlib.h
srand((unsigned int)time(NULL));
int sex rand() % 2;
if (sex 1)
{printf(你是个男孩.\n);
}
else
{printf(你是个女孩.\n);
}
5.设置角色的出生点
大致思路
家境 10 第一档带来一些属性的加成
家境 7-9 第二档也会带来属性的加成
家境 4-6 第三档少数属性加成
家境 1-3 第四档会扣属性
每一个档又通过随机数分为三种情况。
int point rand() % 3;
//第一档
if (home 10)
{printf(你出生在帝都你的父母是高管政要.\n);home 1;iq 1;face 1;
}
//第二档
else if (home 9 home 7)
{if (point 1){printf(你出生在大城市你的父母是公务员.\n);face 2;}else if (point 2){printf(你出生在大城市你的父母是企业高管.\n);home 2;}else{printf(你出生在大城市你的父母是大学教授.\n);iq 2;}
}
//第三档
else if (home 6 home 4)
{if (point 1){printf(你出生在三线城市你的父母是医生.\n);strong 1;}else if (point 2){printf(你出生在镇上你的父母是老师.\n);iq 1;}else{printf(你出生在镇上你的父母是个体户.\n);home 1;}
}
//第四档
else
{if (point 1){printf(你出生在农村你的父母是辛苦劳作的农民.\n);strong 1;face - 2;}else if (point){printf(你出生在穷乡僻壤你的父母是无业游民.\n);home - 1;}else{printf(你出生在镇上,你的父母感情不和.\n);strong - 1;}
}
printf(颜值%d体质%d智力%d家境%d\n, face, strong, iq, home);
6.幼年阶段1-10岁
大致思路
先使用for循环按照年龄从1循环到10
针对每一年都生成一个随机数1-3
根据角色心别年龄各种属性触发各种事件随机数会对事件的结果造成影响
这里的事件可能会对属性带来变更
每一年执行结束都打印这一年发生的事件让每年只发生一个事件
也可能会遇到夭折的情况
代码难点
1.利用结构题数组给数组赋值字符串
其中利用了strcpy函数需要使用#includestring.h对它进行调用。
2.让一些事件重复执行
这里利用了switch语句和while循环以及rand函数srand函数time函数生成随机数。
因为这里只是打印1-10岁的事件所以我在这里给count赋值了一个10然后count--这样就可以循环打印1-10岁了再然后我在这里利用了随机数使其随机在我写好的事件中选一个事件打印。
3.打印的时候可以打印得慢一点
我在这里使用了Sleep函数需要使用#includewindows.h对它进行调用。
4.为了丰富故事内容我在里面加入了类似于的新闻的事件且这种事件与受人物属性影响的事件的不同点是1.这个事件不受人物属性的影响也不能影响人物属性它的产生是随机的。2.这个事件只能执行打印一次而受人物属性影响的事件可以执行多次。
这里的难点是如何让这种新闻性的事件不重复执行。我在这里用到了goto语句先赋值一个元素为0执行一次之后使其加1然后通过if语句判断如果赋值的那个元素已经不等于零则执行goto语句使其重新生成一个随机数和重新执行switch语句。 struct Event
{char eve[80];
};
void even(int face,int strong,int iq,int home,int sex,int point)
{int t 0, o 0, w 0, r 0, f 0, v 0, s 0, e 0, n 0, g 0;int count 10;int age 1;while (count){int a rand((unsigned int)time(NULL)) % 10;struct Event arr[10];again:switch (a 1){case 1:if (sex 0 home 3 point 1){strcpy(arr[0].eve, 你的家里人重男轻女观念非常严重你被遗弃了\n游戏结束!);printf(%s\n, arr[0].eve);count 1;}else{if (o 0){strcpy(arr[0].eve, 全球范围实现碳中和。);o;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 2:if (strong 6 point 3){if (home 5){strcpy(arr[1].eve, 你生了一场病,在你的父母悉心照顾下你康复了);strong 1;home - 1;}else{strcpy(arr[1].eve, 你生了一场病,你的父母没精力管你你的身体状况更糟糕了);strong - 1;}}else{if (w 0){strcpy(arr[1].eve, 火星建立永久性人类居住基地。);w;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 3:if (face 4 age 7){if (iq 5){strcpy(arr[2].eve, 你长得太丑了别的小朋友不喜欢你,你决定用学习填充自己);}else{if (sex 1){strcpy(arr[2].eve, 你长得太丑了别的小朋友不喜欢你,你和别的小朋友经常打架);strong 1;iq - 1;}else{strcpy(arr[2].eve, 你长得太丑了别的小朋友不喜欢你,你进常被被别的小朋友欺负);strong - 1;}}}else{if (r 0){strcpy(arr[2].eve, 全球范围内的无人驾驶汽车技术普及。);r;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 4:if (iq 5){if (home 8 age 6){strcpy(arr[3].eve, 你看起来傻傻的你的父母把你送到更好的学校学习。);iq 1;}else if (home 4 home 7){if (sex 1){strcpy(arr[3].eve, 你看起来傻傻的你的父母鼓励你多运动争取成为运动员。);strong 1;}else{strcpy(arr[3].eve, 你看起来傻傻的你的父母鼓励你多打扮自己。);face 1;}}else{strcpy(arr[3].eve, 你看起来傻傻的你的父母为此经常吵架。);if (point 1)strong - 1;else if (point 2)iq - 1;}}else{if (f 0){strcpy(arr[3].eve, 人工智能与人类共同创造新文化。);f;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 5:{if (point 1){strcpy(arr[4].eve, 你健康成长你看起来更结实了。);strong 1;}else if (point 2){strcpy(arr[4].eve, 你健康成长你看起来更好看了。);face 1;}else{if (v 0){strcpy(arr[4].eve, 人类开始探索宇宙深处与外星文明建立联系。);v;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}}break;case 6:if (s 0){strcpy(arr[5].eve, 人类成功实现核聚变能源的商业化应用彻底解决能源危机问题。);s;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 7:if (e 0){strcpy(arr[6].eve, 虚拟实现技术发展到一个全新的高度人们可以随时地沉浸到虚拟世界中。);e;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 8:if (n 0){strcpy(arr[7].eve, 全球范围内的高速交通网络初步建成人们可以在几小时内穿越地球。);n;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 9:if (g 0){strcpy(arr[8].eve, 高考取消英语这门科目。);g;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 10:if (t 0){strcpy(arr[9].eve, 全球实现无国界教育世界各地的学生都能接受优质的教育。);t;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;}if (strong 0){printf(你今年 %d 岁\n, age);if (point 1){printf(你染上了新冠病毒没能抗住病毒的侵袭你死了\n);printf(游戏结束!\n);break;}else if (point 2){printf(你得了白血病不幸去世!\n);printf(游戏结束!\n);break;}else {printf(你吃东西的时候不小心被呛死了\n);printf(游戏结束!\n);break;}}else if (iq 0){printf(你今年 %d 岁\n, age);if (point 1){printf(你发高烧的时候由于治疗不及时变成了一个智障\n);printf(游戏结束!\n);break;}else if (point 2){printf(你不小心喝了日本核污水变成了一个智障\n);printf(游戏结束!\n);break;}else{printf(由于酒精中毒你变成了一个智障\n); printf(游戏结束!\n);break;}}printf(---------------------------------------------------------------\n);printf(你今年 %d 岁了\n, age);printf(%s\n, arr[a].eve);printf(颜值%d体质%d智力%d家境%d\n, face, strong, iq, home);printf(---------------------------------------------------------------\n);Sleep(1000);age;count--;}
}7.其他年龄段 如果你感兴趣的话你可以充分发挥你的想象力将其他年龄段的事件完善完善例如在某个年龄段觉醒了修仙天赋从此脱离凡尘步入仙境再比如在某个年龄段接触了电子竞技对游戏的天赋极高成为了一个职业玩家。
完整代码
#define _CRT_SECURE_NO_WARNINGS 1#includestdio.h
#includetime.h
#includestdlib.h
#includewindows.h
#includestring.h
void menu()
{printf(---------------------------------------------------\n);printf(| |\n);printf(| 欢迎来到人生重开模拟器 |\n);printf(| 1.play |\n);printf(| 2.exit |\n);printf(| |\n);printf(---------------------------------------------------\n);}
struct Event
{char eve[80];
};
void even(int face, int strong, int iq, int home, int sex, int point);
void game()
{srand((unsigned int)time(NULL));//输入初始属性int face 0, strong 0, iq 0, home 0;int count 1;while (count){printf(请设置初始属性可用点数总数为 20\n);printf(请输入颜值1-10);scanf(%d, face);printf(请输入体质1-10);scanf(%d, strong);printf(请输入智力1-10);scanf(%d, iq);printf(请输入家境1-10);scanf(%d, home);if (face 10 || face 1 || strong10 || strong 1 || iq10 || iq 1 || home10 || home 1){printf(属性点输入有误请重新输入\a\n);count;}else if (face strong iq home 20){printf(属性总和大于20请重新输入\a\n);count;}count--;}printf(初始属性输入完毕\n);printf(颜值%d体质%d智力%d家境%d\n, face, strong, iq, home);//生成角色的性别int sex rand() % 2;if (sex 1){printf(你是个男孩.\n);}else{printf(你是个女孩.\n);}//设定角色的出生点int point rand() % 3;//第一档if (home 10){printf(你出生在帝都你的父母是高管政要.\n);home 1;iq 1;face 1;}//第二档else if (home 9 home 7){if (point 1){printf(你出生在大城市你的父母是公务员.\n);face 2;}else if (point 2){printf(你出生在大城市你的父母是企业高管.\n);home 2;}else{printf(你出生在大城市你的父母是大学教授.\n);iq 2;}}//第三档else if (home 6 home 4){if (point 1){printf(你出生在三线城市你的父母是医生.\n);strong 1;}else if (point 2){printf(你出生在镇上你的父母是老师.\n);iq 1;}else{printf(你出生在镇上你的父母是个体户.\n);home 1;}}//第四档else{if (point 1){printf(你出生在农村你的父母是辛苦劳作的农民.\n);strong 1;face - 2;}else if (point){printf(你出生在穷乡僻壤你的父母是无业游民.\n);home - 1;}else{printf(你出生在镇上,你的父母感情不和.\n);strong - 1;}}printf(颜值%d体质%d智力%d家境%d\n, face, strong, iq, home);even(face, strong, iq, home, sex, point);
}
int main()
{int input 0;do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误请重新选择\n);}} while (input);return 0;
}
void even(int face,int strong,int iq,int home,int sex,int point)
{int t 0, o 0, w 0, r 0, f 0, v 0, s 0, e 0, n 0, g 0;int count 10;int age 1;while (count){int a rand((unsigned int)time(NULL)) % 10;struct Event arr[10];again:switch (a 1){case 1:if (sex 0 home 3 point 1){strcpy(arr[0].eve, 你的家里人重男轻女观念非常严重你被遗弃了\n游戏结束!);printf(%s\n, arr[0].eve);count 1;}else{if (o 0){strcpy(arr[0].eve, 全球范围实现碳中和。);o;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 2:if (strong 6 point 3){if (home 5){strcpy(arr[1].eve, 你生了一场病,在你的父母悉心照顾下你康复了);strong 1;home - 1;}else{strcpy(arr[1].eve, 你生了一场病,你的父母没精力管你你的身体状况更糟糕了);strong - 1;}}else{if (w 0){strcpy(arr[1].eve, 火星建立永久性人类居住基地。);w;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 3:if (face 4 age 7){if (iq 5){strcpy(arr[2].eve, 你长得太丑了别的小朋友不喜欢你,你决定用学习填充自己);}else{if (sex 1){strcpy(arr[2].eve, 你长得太丑了别的小朋友不喜欢你,你和别的小朋友经常打架);strong 1;iq - 1;}else{strcpy(arr[2].eve, 你长得太丑了别的小朋友不喜欢你,你进常被被别的小朋友欺负);strong - 1;}}}else{if (r 0){strcpy(arr[2].eve, 全球范围内的无人驾驶汽车技术普及。);r;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 4:if (iq 5){if (home 8 age 6){strcpy(arr[3].eve, 你看起来傻傻的你的父母把你送到更好的学校学习。);iq 1;}else if (home 4 home 7){if (sex 1){strcpy(arr[3].eve, 你看起来傻傻的你的父母鼓励你多运动争取成为运动员。);strong 1;}else{strcpy(arr[3].eve, 你看起来傻傻的你的父母鼓励你多打扮自己。);face 1;}}else{strcpy(arr[3].eve, 你看起来傻傻的你的父母为此经常吵架。);if (point 1)strong - 1;else if (point 2)iq - 1;}}else{if (f 0){strcpy(arr[3].eve, 人工智能与人类共同创造新文化。);f;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}break;case 5:{if (point 1){strcpy(arr[4].eve, 你健康成长你看起来更结实了。);strong 1;}else if (point 2){strcpy(arr[4].eve, 你健康成长你看起来更好看了。);face 1;}else{if (v 0){strcpy(arr[4].eve, 人类开始探索宇宙深处与外星文明建立联系。);v;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}}}break;case 6:if (s 0){strcpy(arr[5].eve, 人类成功实现核聚变能源的商业化应用彻底解决能源危机问题。);s;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 7:if (e 0){strcpy(arr[6].eve, 虚拟实现技术发展到一个全新的高度人们可以随时地沉浸到虚拟世界中。);e;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 8:if (n 0){strcpy(arr[7].eve, 全球范围内的高速交通网络初步建成人们可以在几小时内穿越地球。);n;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 9:if (g 0){strcpy(arr[8].eve, 高考取消英语这门科目。);g;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;case 10:if (t 0){strcpy(arr[9].eve, 全球实现无国界教育世界各地的学生都能接受优质的教育。);t;}else{a rand((unsigned int)time(NULL)) % 10;goto again;}break;}if (strong 0){printf(你今年 %d 岁\n, age);if (point 1){printf(你染上了新冠病毒没能抗住病毒的侵袭你死了\n);printf(游戏结束!\n);break;}else if (point 2){printf(你得了白血病不幸去世!\n);printf(游戏结束!\n);break;}else {printf(你吃东西的时候不小心被呛死了\n);printf(游戏结束!\n);break;}}else if (iq 0){printf(你今年 %d 岁\n, age);if (point 1){printf(你发高烧的时候由于治疗不及时变成了一个智障\n);printf(游戏结束!\n);break;}else if (point 2){printf(你不小心喝了日本核污水变成了一个智障\n);printf(游戏结束!\n);break;}else{printf(由于酒精中毒你变成了一个智障\n); printf(游戏结束!\n);break;}}printf(---------------------------------------------------------------\n);printf(你今年 %d 岁了\n, age);printf(%s\n, arr[a].eve);printf(颜值%d体质%d智力%d家境%d\n, face, strong, iq, home);printf(---------------------------------------------------------------\n);Sleep(1000);age;count--;}
}游戏截图