自制游戏——斗罗大陆
很简陋,没有图,请见谅
// mine[0] = 级数
// mine[1] = 战力
//mine[2] = 1 == 白虎
//mine[2] = 2 == 昊天锤
//mine[2] = 3 == 蓝银草
#include <bits/stdc++.h>
using namespace std;
int mine[100],live=3, dou = 1, luo = 1, da = 1, bag[1000], huan = 0, liang = 30;
long long huannian[100];
void jianjie() {cout << "这里没有魔法,没有武术,却有神奇的武魂。" << endl;cout << "这里的每个人在6岁的时候,都会在武魂殿中在魂师的帮助下进行武魂觉醒。" << endl;cout << "武魂有动物,有植物,有器物,武魂可以辅助人们的日常生活,有特殊天赋的人可以用之修炼并进行战斗。" << endl;cout << "有武魂且可以修炼而且级数在10级以上的被称为魂师。每个人都有级数,总共是1~100级,而每一个级数段位都有一个称号。" << endl;cout << "而1~9级是魂士;10~19级是魂师;20~29级是大魂师;30~39级是魂尊;40~49级是魂宗;50~59级是魂王;60~69级是魂帝;70~79级是魂圣;80~89级是魂斗罗;90~99级是封号斗罗。" << endl;cout << "封号斗罗又可分为90~94级普通封号斗罗,95~98级超级斗罗,99级极限斗罗" << endl;cout << "而且,每10级又可以吸收一个魂环,魂环等级又分为:" << endl;cout << "1,十年魂环(白色):任何魂士都可以吸入,最常见的魂环,也是最低级的,有条件的魂师都不会选择吸入这种魂环,拥有一个技能。" << endl;cout << "2,百年魂环(黄色):魂士可以吸入423年以下,魂师可以吸入764年以下,较为稀有,拥有一个技能。" << endl;cout << "3,千年魂环(紫色):魂尊可以吸收1760年以下,魂宗可以吸收5000年以下,较为罕见,拥有一个技能。" << endl;cout << "4,万年魂环(黑色):魂王可以吸入12000年以下,魂帝可以吸收20000年以下,魂圣可以吸收50000年以下,魂斗罗可以吸收所有万年魂环,极为罕见!拥有一个技能。" << endl;cout << "5,十万年魂环(红色):封号斗罗级,极致武魂或体质的原因才能吸入,拥有一个技能。" << endl;cout << "若超过吸收年限则是越级吸收,越级吸收过程中极其痛苦,失败了就会爆体而亡!" << endl;_sleep(1 * 2000);cout << endl;
}
int sui(int n, int m) {random_device rd;mt19937 reng(rd());uniform_int_distribution<int> sum(n, m);return sum(reng);
}
int hunji() {mine[2] += mine[0];cout << "乱披风之舞" << endl;if (huan >= 1) {cout << "泰坦苍穹破" << endl;cout << "重力沼泽" << endl;}cout << "抓" << endl;if (huan >= 2) cout << "锤撼天地" << endl;cout << "咬" << endl;if (huan >= 3) cout << "旋风狂舞" << endl;cout << "挠" << endl;if (huan >= 4) cout << "邪神破" << endl;cout << "毒液" << endl;if (huan >= 5) cout << "绚烂之爆" << endl;if (huan >= 6) cout << "大地蚁皇斩" << endl;if (huan >= 7) cout << "昊天真身" << endl;if (huan >= 8) cout << "千钧壁垒" << endl;if (huan >= 9) cout << "大须弥锤" << endl;if (huan >= 10) cout << "修罗结界" << endl;
}
int doupan() {if (mine[1] > liang) {cout << "胜利!" << endl;mine[0] += 1;da += 1;liang += 100;} else {cout << "你输了" << endl;live-=1;cout << "生命-1";cout << " 剩余生命" << live << endl; }return mine[100], da, liang,live;
}
void qianqingtiyao() {cout << "你睁开了眼睛" << endl;cout << "我";cout << "这是要死了吗?" << endl;cout << "不!!!" << endl;cout << "我要活着!!!" << endl;cout << "你又睁开了眼睛" << endl;cout << "我";cout << "这是在哪?" << endl;cout << "斗罗世界的生存竞争" << endl;cout << "拉开了序幕" << endl;cout << endl;
}
int kaihun() {_sleep(1*500);int n1,wuhun;n1 = sui(4, 10);wuhun = 2;int sdffs;cout << "你随着杰克长老进行开魂" << endl;cout << "你将手放在了上面" << endl;cout << "请输入你想要的初始魂力:";cout << "顿时,魂力球大放光彩" << endl;_sleep(1*100); cout << "你是" << n1 << "级的" << endl;mine[0] = n1;mine[1] = mine[0] * 34;mine[2] = wuhun;cout << "你的武魂竟是昊天锤" << endl;cout << "你的目标是:";cout << "达到500000" << endl;return mine[100];
}
int thing() {int num;cout << endl;cout << "战力:" << mine[1] << " 级数:" << mine[0] << endl;cout << "--------------------事件-------------------" << endl;cout << "[1]斗罗之路 [2]魂兽森林 [3]人物 [4]结束游戏" << endl;cout << "您选择:";cin >> num;return num;
}
int duida(int douluodalu()) {switch (da) {case 1:cout << " " << da << endl;_sleep(1 * 5000);hunji();doupan();break;case 2:cout << " " << da << endl;_sleep(1 * 1000);hunji();doupan();break;case 3:cout << " " << da << endl;_sleep(1 * 1000);douluodalu();_sleep(1 * 1000);hunji();doupan();if (da > 3) {da = 1;luo += 1;}if (luo > 3) {luo = 1;dou += 1;}break;}return da, luo;
}
int dou1luo1() {cout << "看门人:你是什么人?" << endl;cout << " 我是来上课的学生:唐三" << endl;cout << "看门人:交钱,不交就给我滚开!" << endl;cout << " 你别血口喷人,你看好了,这是我的邀请书:唐三" << endl;cout << "看门人:假的吧?先过了我这一关再说!" << endl;cout << " 来啊,谁怕谁:唐三" << endl;
}
int dou1luo2() {cout << "原社长:你是什么人?" << endl;cout << " 我是来住宿的学生:唐三" << endl;cout << "原社长:看来又要打一架了。" << endl;cout << " 什么意思:唐三" << endl;cout << "原社长:我是社长,只要有新来的学生,我就要和他打一架!" << endl;cout << " 我准备好了,开始吧:唐三" << endl;
}
int dou1luo3() {cout << "小舞:我叫小舞,跳舞的“舞”。" << endl;cout << " 我叫唐三:唐三" << endl;cout << "小舞:一环大魂师,请指教。" << endl;
}
int dou1() {switch (luo) {case 1:cout << " 一" << endl;cout << "看门人的侮辱" << endl;duida(dou1luo1);break;case 2:cout << " 二" << endl;cout << "宿舍中的较量" << endl;duida(dou1luo2);break;case 3:cout << " 三" << endl;cout << "小舞的出现" << endl;duida(dou1luo3);break;}
}
int dou2luo1() {cout << "火舞:一群小垃圾!" << endl;cout << " 说什么呢你:唐三" << endl;cout << "火舞:没什么,只是觉得你太弱了!" << endl;cout << " 凭实力说话:唐三" << endl;cout << "火舞:好啊,赛场上见!" << endl;
}
int dou2luo2() {cout << "风笑天:你欺负火舞!" << endl;cout << " 不,我还帮了她一把:唐三" << endl;cout << "风笑天:放**的**,我现在就要惩罚你这个厚颜无耻之人。" << endl;cout << " 不是,我真没把她怎么样:唐三" << endl;cout << "风笑天:哼!来吧!" << endl;
}
int dou2luo3() {cout << "比比东:十万年魂兽,拿下那个小女孩" << endl;cout << " 不许你们伤害她:唐三" << endl;cout << "比比东:唐三,我承认你很有天赋,可惜你是我的敌人。" << endl;cout << " 你想要怎么样:唐三" << endl;cout << "比比东:杀了他们!" << endl;
}
int dou2() {switch (luo) {case 1:cout << " 一" << endl;cout << "第一场对决" << endl;duida(dou2luo1);break;case 2:cout << " 二" << endl;cout << "风笑天" << endl;duida(dou2luo2);break;case 3:cout << " 三" << endl;cout << "我的小舞" << endl;duida(dou2luo3);break;}
}
int dou3luo1() {cout << "狼盗:抓住他们!" << endl;cout << " 不好,他们越来越多了:唐三" << endl;
}
int dou3luo2() {cout << "深海魔晶王:食物来了!" << endl;cout << " 谁死还不一定呢:唐三" << endl;cout << "深海魔晶王:有点意思,就是你们太弱了!" << endl;
}
int dou3luo3() {cout << "波塞西:来吧,在我手中坚持一炷香!" << endl;cout << " 冒昧了,前辈:唐三" << endl;cout << "波塞西:一炷香记时,开始!" << endl;
}
int dou3() {switch (luo) {case 1:cout << " 一" << endl;cout << "狼盗劫路" << endl;duida(dou3luo1);break;case 2:cout << " 二" << endl;cout << "深海魔晶王" << endl;duida(dou3luo2);break;case 3:cout << " 三" << endl;cout << "海神九考" << endl;duida(dou3luo3);break;}
}
int douluo() {if (dou > 3) {cout << "斗罗之路已打完" << endl; return 0;}cout << "第" << dou << "章第" << luo << "回--" << da << endl;switch (dou) {case 1:cout << "小舞的到来" << endl;dou1();break;case 2:cout << "精英大赛" << endl;dou2();break;case 3:cout << "成神之路" << endl;dou3();break;}
}
int wuhunpanding(int nian) {cout << "是" << nian << "的魂环" << endl;if (mine[0] / 10 != huan) {int num;cout << "是否吸收魂环?([1]是[2]否)";cin >> num;if (num == 1) {cout << "吸收中" << endl;huan += 1;huannian[mine[0] / 10] = nian;cout << "吸收成功" << endl;}}
}
int hunshoupan(int dizhan, int shou) {switch (shou) {case 1:cout << "是" << dizhan << "年的曼陀罗蛇!" << endl;break;case 2:cout << "是" << dizhan << "年的大地之王!" << endl;break;case 3:cout << "是" << dizhan << "年的大力金刚熊!" << endl;break;case 4:cout << "是" << dizhan << "年的狼盗!" << endl;break;case 5:cout << "是" << dizhan << "年的凤尾鸡冠蛇!" << endl;break;case 6:cout << "是" << dizhan << "年的天梦冰蚕!" << endl;break;case 7:cout << "是" << dizhan << "年的人面魔珠!" << endl;break;case 8:cout << "是" << dizhan << "年的大力金刚蚁!" << endl;break;case 9:cout << "是" << dizhan << "年的泰坦巨猿!" << endl;break;case 10:cout << "是" << dizhan << "年的天青牛蟒!" << endl;break;}int sum;cout << "是[1]逃跑[2]战斗" << endl;cin >> sum;if(sum == 1){cout << "逃跑成功" << endl;return 0;} else{hunji();if (mine[1] >= dizhan) {cout << "战斗胜利" << endl;mine[0] += 1;_sleep(1 * 500);wuhunpanding(dizhan);} else {cout << "战斗失败" << endl;live-=1;cout << "生命-1";cout << " 剩余生命" << live << endl;}}
}
int hunshousenling1(int n, int m) {int shou = sui(1, 10);int num = sui(n, m);hunshoupan(num, shou);
}
int muohun(){cout << "正在进入魔魂大白鲨(10 0000年~50 0000年)" << endl;_sleep(1 * 1000);int nian = sui(100000,500000);cout << "是" << nian << "的魔魂大白鲨" << endl; int sum;cout << "是[1]逃跑[2]战斗" << endl;cin >> sum;if(sum == 1){cout << "逃跑成功" << endl;return 0;} else{hunji();if (mine[1] >= nian) {cout << "战斗胜利" << endl;mine[0] += 1;_sleep(1 * 500);wuhunpanding(nian);} else {cout << "战斗失败" << endl;live-=1;cout << "生命-1";cout << " 剩余生命" << live << endl;}}
}
int hunshousenling() {int num;cout << "[1]魂兽森林外围(一)(100年~500年)" << endl;if (dou > 1 || (dou == 1 && luo > 1 ) || (dou == 1 && luo == 1 && da > 1)) {cout << "[2]魂兽森林外围(二)(500年~800年)" << endl;}if (dou > 1 || (dou == 1 && luo > 1 ) || (dou == 1 && luo == 1 && da > 2)) {cout << "[3]魂兽森林外围(三)(800年~1000年)" << endl;}if (dou > 1 || (dou == 1 && luo > 2 ) || (dou == 1 && luo == 2 && da > 2)) {cout << "[4]魂兽森林中间(一)(1000年~1500年)" << endl;}if (dou >= 2) {cout << "[5]魂兽森林中间(二)(1500年~5000年)" << endl;}if (dou >= 2 || (dou>=2 && luo >= 1)) {cout << "[6]魂兽森林中间(三)(5000年~10000年)" << endl;}if (dou >= 3) {cout << "[7]魂兽森林深处(10000年~100000年)" << endl;}if (dou >= 3) {cout << "[8]魔魂大白鲨(10 0000年~20 0000年)" << endl;}cout << "你要去:";cin >> num;switch (num) {case 1:cout << "正在进入魂兽森林外围(一)(100年~500年)" << endl;_sleep(1 * 1000);hunshousenling1(100, 500);break;case 2:cout << "正在进入魂兽森林外围(二)(500年~800年)" << endl;_sleep(1 * 1000);hunshousenling1(500, 800);break;case 3:cout << "正在进入魂兽森林外围(三)(800年~1000年)" << endl;_sleep(1 * 1000);hunshousenling1(800, 1000);break;case 4:cout << "正在进入魂兽森林中间(一)(1000年~1500年)" << endl;_sleep(1 * 1000);hunshousenling1(1000, 1500);break;case 5:cout << "正在进入魂兽森林中间(二)(1500年~5000年)" << endl;_sleep(1 * 1000);hunshousenling1(1500, 5000);break;case 6:cout << "正在进入魂兽森林中间(三)(5000年~10000年)" << endl;_sleep(1 * 1000);hunshousenling1(5000, 10000);break;case 7:cout << "正在进入魂兽森林深处(10000年~100000年)" << endl;_sleep(1 * 1000);hunshousenling1(10000,100000);break;case 8:muohun();break;default:cout << "输入错误" << endl;break;}
}
int renwu(){cout << "现有" << mine[0] << "级" << endl;cout << "现有" << mine[1] << "战力" << endl;cout << "已吸收" << huan << "个魂环" << endl;cout << "剩余可吸收" << (mine[0]/10)-huan << "个魂环" << endl;for(int i=1;i<=huan;i++){cout << i << "个魂环" << huannian[i] << endl;}}
int main() {qianqingtiyao();jianjie();kaihun();while (live > 0) {switch (thing()) {case 1:cout << "----------------------斗罗之路-----------------------" << endl;douluo();mine[1] = mine[0] * 34;for (int i = 1; i <= 10; i++) {mine[1] += huannian[i];}if (mine[1] >= 500000) {_sleep(1 * 1000);cout << "恭喜你,成了一代霸主!" << endl;return 0;}break;case 2:cout << "----------------------魂兽森林-----------------------" << endl;hunshousenling();mine[1] = mine[0] * 34;for (int i = 1; i <= 10; i++) {mine[1] += huannian[i];}if (mine[1] >= 500000) {_sleep(1 * 1000);cout << "恭喜你,成了一代霸主!" << endl;return 0;}break;case 3:cout << "----------------------人物-----------------------" << endl;renwu();break;case 4:cout << "----------------------游戏结束-----------------------" << endl;if (mine[0] < 100) {cout << "未达成目标" << endl;}cout << endl;return 0;break;default:cout << "输入错误" << endl;break;}}if (live == 0) {cout << "您的复活次数已经耗尽" << endl;cout << "您的生命即将转世" << endl;cout << "请重新开启游戏" << endl;}return 0;
}
相关文章:
自制游戏——斗罗大陆
很简陋,没有图,请见谅 // mine[0] 级数 // mine[1] 战力 //mine[2] 1 白虎 //mine[2] 2 昊天锤 //mine[2] 3 蓝银草 #include <bits/stdc.h> using namespace std; int mine[100],live3, dou 1, luo 1, da 1, bag[1000], huan 0, lia…...
MindStudio制作MindSpore TBE算子(四)算子测试(ST测试-Ascend910B/ModelArts)--失败尝试
上一节,MindStudio制作MindSpore TBE算子(三)算子测试(ST测试),因此缺乏对应的硬件环境导致无法进行ST测试,导致难以自安,今天搞来Ascend910B服务器来填坑,看看是否是硬件…...
二、交换机的vlan子设备接入
一、交换机的vlan设置-CSDN博客 二、交换机的vlan子设备接入-CSDN博客 接上篇的文章,本文接入了子设备 网络结构如下: 用路由器A和POE交换机B代替第一篇中的笔记本电脑,路由器A和交换机B都关闭DHCP服务,并分别接入一个IPC&#…...
EFCore相关知识分享
EFCore相关知识分享 文章目录 EFCore相关知识分享前言EFCore 的优势SaveChang的作用EF Core 查询优化小技巧使用投影(投影到所需的数据类型)延迟加载(Lazy Loading)与显式加载(Eager Loading)使用 AsNoTrac…...
检测网络安全漏洞 工具 网络安全 漏洞扫描 实验
实验一的名称为信息收集和漏洞扫描 实验环境:VMware下的kali linux2021和Windows7 32,网络设置均为NAT,这样子两台机器就在一个网络下。攻击的机器为kali,被攻击的机器为Windows 7。 理论知识记录: 1.信息收集的步骤 2.ping命令…...
deepseek + kimi 高效生成PPT
1.在deepseek中生成ppt大纲 2.将大纲复制到kimi中生成PPT kimi:https://kimi.moonshot.cn/...
JavaWeb学习-Mybatis(增删改查)
(一)Mybatis入门程序 1.创建springboot工程,并导入 mybatis的起步依赖、mysql的驱动包。(项目工程创建完成后,自动在pom.xml文件中,导入Mybatis依赖和MySQL驱动依赖) <dependencies> <!-- mybatis起步依赖 --> <dependency> …...
软考高项(二十四)法律法规和标准规范 ★重点集萃★
👑 个人主页 👑 :😜😜😜Fish_Vast😜😜😜 🐝 个人格言 🐝 :🧐🧐🧐说到做到,言出必行&am…...
Django中select_related 的作用
Django中这句代码Dynamic.objects.select_related(song)是什么意思? 在 Django 中,这句代码: Dynamic.objects.select_related(song) 的作用是 在查询 Dynamic 模型的同时,预加载 song 关联的外键对象,从而减少数据…...
vscode无法ssh连接远程机器解决方案
远程服务器配置问题 原因:远程服务器的 SSH 服务配置可能禁止了 TCP 端口转发功能,或者 VS Code Server 在远程服务器上崩溃。 解决办法 检查 SSH 服务配置:登录到远程服务器,打开 /etc/ssh/sshd_config 文件,确保以下…...
计算机组成原理——中央处理器(九)
在每一个清晨醒来,你都有一个全新的机会去塑造你的世界。无论昨日经历了多少风雨,今天的你依旧可以启航向梦想的彼岸。生活或许会给你设置障碍,但请相信,这些都是通往成功的垫脚石。不要让短暂的困境遮蔽了你的视野,因…...
网页版贪吃蛇小游戏开发HTML实现附源码!
项目背景 贪吃蛇是一款经典的休闲小游戏,因其简单易玩的机制和丰富的变形而深受玩家喜爱。本次开发目标是实现一款网页版贪吃蛇小游戏,并通过前端与后端结合的方式,提供一个流畅的在线体验。 实现过程 游戏逻辑设计 蛇的移动:…...
基于java ssm springboot选课推荐交流平台系统设计和实现
基于JavaWeb开发的 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 📝 🚀&…...
Sigma-Aldrich化学品安全技术说明书(SDS)查询教程
在当今的现代工业体系里,化学品的应用极为广泛,贯穿于众多行业的生产环节。以电子、皮革、玩具、工艺品、家具制造等行业为例,有机溶剂的使用频率颇高,这虽极大地推动了生产的发展,却也埋下了风险隐患。在这些企业中&a…...
嵌入式实训室解决方案(2025年最新版)
一、背景概述 随着信息技术的迅猛进步,嵌入式系统已成为智能化设备与应用的核心驱动力,引领产业变革与创新。其应用范围广泛,涵盖智能家居、智能医疗、工业控制、交通及网络通信等领域,是信息化与智能化转型的关键。在此背景下&am…...
Spring Cloud — 深入了解Eureka、Ribbon及Feign
Eureka 负责服务注册与发现;Ribbon负责负载均衡;Feign简化了Web服务客户端调用方式。这三个组件可以协同工作,共同构建稳定、高效的微服务架构。 1 Eureka 分布式系统的CAP定理: 一致性(Consistency)&am…...
全排列(力扣46)
这道题让我们求这个集合有多少种排列方式,那么与之前组合问题的不同就在于要考虑元素之间的顺序了,所以每一层递归的or循环的起始值无需变量控制,都从0开始。但是一个排列中不能出现相同元素,所以别忘了去重,这里的去重…...
Mac部署Jenkins 一
Mac部署Jenkins 一 一.Jenkins 部署依赖 JDK 环境 查看 Mac JDK 环境,如果没有安装,先安装 打开终端输入命令:java -version Mac安装配置 JDK 二. 检查 HomeBrew 安装 检查 HomeBrew 是否安装,终端输入命令:brew -v Mac安装HomeBrew …...
附录1:组维英文简写大全
附录1:组维英文简写大全 中央处理器 一、技术与厂商 FSB 前端总线频率 HT 超线程技术 Intel 英特尔 AMD 美国超微 VIA 威盛 二、CPU插座 Slot 针插式 ZIF 零插拔力的插座 Socket 触点式 LGA (IntelCPU封装形式名称) 三…...
SQL Server:查看内存使用情况
目录标题 **1. 使用系统视图和动态管理视图****查看 SQL Server 进程的内存使用情况****查看系统级别的内存使用情况****查看 SQL Server 内存管理器的状态** **2. 使用性能监视器(PerfMon)****添加内存使用情况计数器** **3. 使用 DBCC MEMORYSTATUS 命…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
