【c语言】人生重开模拟器

  前言:

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

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循环,如果玩家输入正确结束循环,反之循环继续。这里我们可以取标记值count=1,如果玩家输入无误只需count-1=0就可以跳出循环了,反之count+1继续循环。

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 || strong>10 || strong < 1 || iq>10 || iq < 1 || home>10 || 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函数生成一个随机数,就可以间接的随机生成一个性别了。

#include<stdio.h>
#include<time.h>
#include<stdlib.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函数,需要使用#include<string.h>对它进行调用。

2.让一些事件重复执行

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

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

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

我在这里使用了Sleep函数,需要使用#include<windows.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

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<windows.h>
#include<string.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 || strong>10 || strong < 1 || iq>10 || iq < 1 || home>10 || 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--;
		
	}
}

游戏截图: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/353599.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

新建一个基于标准库的工程(STM32)

目录 1.新建存放工程的文件夹 2.打开KEIL5软件 3.新建一个本次工程的文件夹 4.添加工程的必要文件 4.1打开STM32的启动文件 ​编辑 4.2&#xff1a; 4.3添加内核寄存器文件 ​编辑 5.回到keil5软件&#xff0c;将刚才复制的那些文件添加到工程中 5.1添加一个启动文件&am…

【服务器数据恢复】EqualLogic存储磁盘坏道导致存储不可用的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 某公司IT部门一台某品牌EqualLogic PS6100系列存储在运行过程中突然崩溃。 服务器管理员对故障服务器存储进行初步检查&#xff0c;经过检测发现导致该服务器存储无法正常工作的原因是该存储中raid5磁盘阵列内有2块硬盘出现故障离线&a…

VitePress-03-标题锚点的使用与文档内部链接跳转

说明 本文介绍如下内容&#xff1a; 1、vitepress 中 md 文件中的标题锚点 2、锚点的使用 &#xff1a; 文档内部的快速跳转 锚点 什么是锚点 锚点 &#xff1a; 通俗的理解就是一个位置标记&#xff0c;通过这个标记可以快速的进行定位。 【vitepress 中&#xff0c;md 文档的…

LeetCode 40.组合总和 II

组合总和 II 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 方法一、回溯 由于题目要求解集…

day23 其他事件(页面加载事件、页面滚动事件)

目录 页面加载事件页面/元素滚动事件页面滚动事件——获取位置 页面加载事件 加载外部资源&#xff08;如图片、外联CSS和JavaScript等&#xff09;加载完毕时触发的事件为什么使用&#xff1a; 有时候需要等页面资源全部处理完毕再做一些事老代码喜欢把script写在head中&…

CentOS使用

1.使用SSH连接操作虚拟机中的CentOS 使用代理软件(MobaX/Xshell)通过ssh连接vmware中的虚拟机,可以摆脱vmware笨重的软件,直接在代理软件中进行操作. 包括使用云虚拟器,其实也只是在本地通过ssh连接别处的云服务商的硬件而已. 1.1 配置静态IP 为什么要配置静态IP? 想要使用…

【Linux 内核源码分析】多核调度分析

多核调度 SMP&#xff08;Symmetric Multiprocessing&#xff0c;对称多处理&#xff09;是一种常见的多核处理器架构。它将多个处理器集成到一个计算机系统中&#xff0c;并通过共享系统总线和内存子系统来实现处理器之间的通信。 首先&#xff0c;SMP架构将一组处理器集中在…

leetcode hot100岛屿数量

本题中要求统计岛屿数量&#xff08;数字1的上下左右均为1&#xff0c;则是连续的1&#xff0c;称为一块岛屿&#xff09;。那么这种类型题都是需要依靠深度优先搜索&#xff08;DFS&#xff09;或者广度优先搜索&#xff08;BFS&#xff09;来做的。这两种搜索&#xff0c;实际…

【开源】基于JAVA+Vue+SpringBoot的民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

第2章-神经网络的数学基础——python深度学习

第2章 神经网络的数学基础 2.1 初识神经网络 我们来看一个具体的神经网络示例&#xff0c;使用 Python 的 Keras 库 来学习手写数字分类。 我们这里要解决的问题是&#xff0c; 将手写数字的灰度图像&#xff08;28 像素28 像素&#xff09;划分到 10 个类别 中&#xff08;0…

【动态规划】【逆向思考】【C++算法】960. 删列造序 III

作者推荐 【动态规划】【map】【C算法】1289. 下降路径最小和 II 本文涉及知识点 动态规划汇总 LeetCode960. 删列造序 III 给定由 n 个小写字母字符串组成的数组 strs &#xff0c;其中每个字符串长度相等。 选取一个删除索引序列&#xff0c;对于 strs 中的每个字符串&a…

STM正点mini-跑马灯

一.库函数版 1.硬件连接 &#xff27;&#xff30;&#xff29;&#xff2f;的输出方式&#xff1a;推挽输出 &#xff29;&#xff2f;口输出为高电平时&#xff0c;P-MOS置高&#xff0c;输出为&#xff11;&#xff0c;LED对应引脚处为高电平&#xff0c;而二极管正&#…

【代码随想录-数组】螺旋矩阵 II

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

《动手学深度学习(PyTorch版)》笔记4.7

Chapter4 Multilayer Perceptron 4.7 Forward/Backward Propagation and Computational Graphs 本节将通过一些基本的数学和计算图&#xff0c;深入探讨反向传播的细节。首先&#xff0c;我们将重点放在带权重衰减&#xff08; L 2 L_2 L2​正则化&#xff09;的单隐藏层多层…

SQL注入:盲注

SQL注入系列文章&#xff1a; 初识SQL注入-CSDN博客 SQL注入&#xff1a;联合查询的三个绕过技巧-CSDN博客 SQL注入&#xff1a;报错注入-CSDN博客 目录 什么是盲注&#xff1f; 布尔盲注 手工注入 使用python脚本 使用sqlmap 时间盲注 手工注入 使用python脚本 使…

深兰科技入选亿欧《“制”敬不凡先锋榜·智能机器人Top10》榜单

日前&#xff0c;由亿欧协办的2023工博会工业智能化发展高峰论坛于上海成功举办&#xff0c;会上发布了《2023智能制造&#xff1a;“制”敬不凡先锋者》系列名单。深兰科技凭借在智能机器人开发中的技术创新和模式应用&#xff0c;入选《“制”敬不凡先锋榜——智能机器人Top1…

第3章-python深度学习——(波斯美女)

第3章 神经网络入门 本章包括以下内容&#xff1a; 神经网络的核心组件 Keras 简介 建立深度学习工作站 使用神经网络解决基本的分类问题与回归问题 本章的目的是让你开始用神经网络来解决实际问题。你将进一步巩固在第 2 章第一个示例中学到的知识&#xff0c;还会将学到的…

Linux——软件安装

1、软件包的分类 Linux下的软件包众多&#xff0c;而且几乎都是经GPL授权的&#xff0c;也就是说这些软件都免费&#xff0c;振奋人心吧&#xff1f;而且更棒的是&#xff0c;这些软件几乎都提供源代码&#xff08;开源的&#xff09;&#xff0c;只要你愿意&#xff0c;就可以…

【GitHub项目推荐--开源PDF 工具】【转载】

12 年历史的 PDF 工具开源了 最近在整理 PDF 的时候&#xff0c;有一些需求普通的 PDF 编辑器没办法满足&#xff0c;比如 PDF 批量合并、编辑等。 于是&#xff0c;我就去 GitHub 上看一看有没有现成的轮子&#xff0c;发现了这个 PDF 神器「PDF 补丁丁」&#xff0c;让人惊…

C++类和对象——构造函数与解析函数介绍

目录 1.构造函数和析构函数 1.构造函数&#xff0c;进行初始化 2.析构函数&#xff0c;进行清理 2.构造函数的分类及调用 1.括号法 注意&#xff1a; 2.显示法 3.隐式转化法 匿名对象 3.拷贝构造函数调用时机 4.构造函数调用规则 1.定义有参构造函数&#xff0c;不…