C语言游戏实战(4):人生重开模拟器
前言:
人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用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循环,如果玩家输入正确结束循环,反之循环继续。这里我们可以取标记值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--;}
}
游戏截图:

相关文章:
C语言游戏实战(4):人生重开模拟器
前言: 人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏: 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 (1) 游戏开始的时…...
MVC架构模式学习笔记(动力节点老杜2022)
GitHub代码笔记:laodu-mvc: 动力节点学习javaweb中的mvc笔记。 文章目录 1.视频链接 2.不使用MVC架构模式程序存在的缺陷 3.MVC架构模式理论基础 4.JavaEE设计模式-DAO模式 5.pojo & bean & domain 6.业务层抽取以及业务类实现 7.控制层 8.MVC架构模式与三…...
docker常用操作-docker私有仓库的搭建(Harbor),并将本地镜像推送至远程仓库中。
1、docker-compose安装,下载docker-compose的最新版本 第一步:创建docker-compose空白存放文件vi /usr/local/bin/docker-compose 第二步:使用curl命令在线下载,并制定写入路径 curl -L "https://github.com/docker/compos…...
什么是MVC
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面ÿ…...
ChatGPT浪潮来袭!谁先掌握,谁将领先!
任正非在接受采访时说 今后职场上只有两种人, 一种是熟练使用AI的人, 另一种是创造AI工具的人。 虽然这个现实听起来有些夸张的残酷, 但这就是我们必须面对的事实 📆 对于我们普通人来说,我们需要努力成为能够掌握…...
Focal and Global Knowledge Distillation forDetectors
摘要 文章指出,在目标检测中,教师和学生在不同领域的特征差异很大,尤其是在前景和背景中。如果我们 平等地蒸馏它们,特征图之间的不均匀差异将对蒸馏产生负面影响。因此,我们提出了局部和全局蒸馏。局部蒸馏分离前景和…...
FX110网:1月美国零售货币资金环比上升2.61%,嘉盛环比上升1.86%
美国商品期货交易委员会(CFTC)发布的最新月度报告显示,2024年1月零售货币存款与上月相比上升2.61%。 这份报告涵盖在美国运营的注册零售货币对交易商(RFED)和经纪自营商。包括嘉信理财(CHARLES SCHWAB Futu…...
全量知识系统的核心-全量知识的一个“恰当组织”的构想及百度AI答问
全量知识系统的核心-全量知识的一个恰当组织 Q1. 以下是对 我刚刚完成的文档“全量知识系统的核心:全量知识的一个恰当组织构想”的百度AI答复。由于字数400的限制,内容被分成四段. 第一次回答:学科和科学的框架 关于技术学科、一般学科和…...
C++中using 和 typedef 的区别
C中using 和 typedef 的区别_typedef using-CSDN博客 在C中,“using”和“typedef”执行声明类型别名的相同任务。两者之间没有重大区别。C中的“Using”被认为是类型定义同义词。此方法也称为别名声明。定义这些别名声明的工作方式类似于使用“using”语句定义C中…...
LeetCode-1944题: 队列中可以看到的人数(原创)
【题目描述】 有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights ,每个整数 互不相同,heights[i] 表示第 i 个人的高度。一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他们两人 矮 。更正式的&…...
Java基础面试题整理2024/3/13
1、可以使用switch的数据类型 Java5以前,switch(arg)表达式中,arg只能是byte、short、char、int。 Java5之后引入了枚举类型,也可以是枚举类型。 Java7开始引入了字符串类型。 2、Java中的goto有什么作用 goto是Java中的保留字,…...
MachineSink - 优化阅读笔记
注:该优化与全局子表达式消除刚好是相反的过程,具体该不该做这个优化得看代价模型算出来的结果(有采样文件指导算得会更准确) 该优化过程将指令移动到后继基本块中,以便它们不会在不需要其结果的路径上执行。 该优化过程并非旨在替代或完全…...
虾皮shopee根据ID取商品详情 API
公共参数 名称类型必须描述keyString是免费申请调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认y…...
你知道数据库有哪些约束吗?
目录 1. NULL约束 2. 唯一(UNIQUE)约束 3. 默认值(DEFAULT)约束 4. 主键约束 5. 外键约束 6. CHECK约束 数据库约束是一种用于确保数据库中数据完整性和一致性的规则或条件。这些约束可以应用于表、列或整个数据库࿰…...
QT----基于QT的人脸考勤系统(未完成)
目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…...
机试:成绩排名
问题描述: 代码示例: #include <bits/stdc.h> using namespace std;int main(){cout << "样例输入" << endl; int n;int m;cin >> n;int nums[n];for(int i 0; i < n; i){cin >> nums[i];}// 排序for(int i 0; i < n; i){//…...
C编程基础四十分笔记
都是一些基础的C语言 一 输入一个整数,计算这个整数有几位二 编写程序计算一个分布函数三 输入一个字符串,再随便输入一个字母,判断这个字母出现几次四 求 1到10的阶乘之和五 求一个球体体积六 写一个链表,存1,2&#…...
k8s关于pod
目录 1、POD 的创建流程 kubectl 发起创建 Pod 请求: API Server 接收请求并处理: 写入 Etcd 数据库: Kubelet 监听并创建 Pod: Pod 状态更新和汇报: 2、POD 的状态解析 1. Pending Pod 2. Running Pod 3. S…...
yum安装mysql 数据库tab自动补全
centos7上面没有mysql,它的数据库名字叫做mariadb [rootlocalhost ~]#yum install mariadb-server -y [rootlocalhost ~]#systemctl start mariadb.service [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#ss -na…...
MBT-Net
feature F,edge feature E-F where r related to the relative position 辅助信息 作者未提供代码...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...

