- 博客(32)
- 收藏
- 关注
原创 计算机图形学Games101笔记--光线追踪。RTX ON!!!(<--删除线)
本博文仅作为复习笔记或者快速浏览。不适用于从零开始了解光线追踪。
2025-05-22 15:59:29
748
原创 游戏开发实战(三):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】
本博文是奇美拉项目的完结篇章。
2025-05-20 20:46:50
1305
原创 游戏开发实战(二):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】
这里的很多规则是在实现过程中不断完善的,有了方便读者阅读和理解,在此我先给出所有的规则,之后再给出所有奇美拉类的具体实现。采用回合制,第一回合开始的时候统一设置奇美拉登场相关的属性从而触发奇美拉登场技能。每回合开始时回合数加1,以便触发奇美拉每回合的技能。固定奇美拉攻击力,这点非常重要!!这保证了本项目的结果和游戏结果一致!!因为在实际游戏中,对于攻击力的buff最后才会执行,因此我们固定攻击力快照后,即使增加攻击力的buff提前执行,也并不影响实际的结果!!!第一个奇美拉工作。
2025-05-20 16:37:53
1295
原创 Effective C++阅读笔记(item 1-4)
我们回到最开始说的*p的情况,p是一个单纯变量名,如果decltype§返回的是p的声明类型,然而*p是返回左值的复杂表达式了,因此decltype返回的是左值引用,类型是表达式的类型。传递一个临时变量也并不是没有意义,有时候用户可能只是想简单的获得临时容器中的一个元素的拷贝,比如这样)==,我们需要将声明改为通用引用(也可以重载函数)。忽略引用行在指向常量的常量指针情况下只会忽略底层const,这一特性只会对形参本身有效,因此指针的常量特定会被忽略,但是指针所指对象的常量特性会被保留。
2025-05-19 21:49:26
953
原创 游戏开发实战(一):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】
由于项目工程较大,并且我打算把我的思考过程和实现过程中踩过的坑都分享一下,因此会分3-4篇博文详细讲解本项目。本文首先介绍下游戏规则并给出奇美拉档案。
2025-05-19 21:46:07
3040
1
原创 c++从入门到精通(五)--异常处理,命名空间,多继承与虚继承
因为catch语句是按照其出现的顺序逐一进行匹配的,所以当程序使用具有继承关系的多个异常时必须对catch语句的顺序进行组织和管理,使得派生类异常的处理代码出现在基类异常的处理代码之前。与实参和形参的匹配规则相比,异常和catch异常声明的匹配规则受到更多限制。此时,绝大多数类型转换都不被允许,除了一些极细小的差别之外,要求异常的类型和catch声明的类型是精确匹配的:【非常量向常量的转换,派生类向基类的转换,数组被转换为指针,函数被转换为指向该函数的指针】
2025-05-17 23:13:24
975
原创 计算机图形学基础--Games101笔记(一)数学基础与光栅化
从上述公式中我们发现,平移变换需要两个向量的加和,为了使得所有的变换统一写成矩阵乘法的形式,我们引入齐次坐标。通过这种方式我们可以确保,点加点等于点(中点),点减点等于向量,向量加减向量还是向量。点加减向量还是向量。特别地,我们认为xykTxkyk1TxykTxkyk1T。
2025-05-16 22:34:56
695
原创 c++从入门到精通(四)--动态内存,模板与泛型编程
模板中的函数参数是const的引用。函数体中的条件判断仅使用<比较运算。return 0;**非类型参数:**非类型参数被一个用户提供的或编译器推断出的值所代替。这些值必须是常量表达式。template<unsigned N,unsigned M> //N和M是非类型参数//编译器确定N=3,M=4,注意字符串字面值常量末尾会被插入一个空字符作为终结符。一个非类型参数可以是一个整型,或者是一个指向对象或函数类型的指针或(左值)引用。绑定到非类型整型参数的实参必须是一个常量表达式。
2025-05-15 21:20:33
671
原创 c++从入门到精通(三)--面向对象部分
面向对象编程(OOP)的初级和高级概念涉及类的设计、成员函数与变量的管理、构造函数与析构函数的使用、以及拷贝控制等。在初级部分,重点包括成员函数的声明与定义、聚合类与字面值常量类的特性、构造函数的语法与初始化列表的使用、以及成员函数的常量性与内联性。高级部分则深入探讨了拷贝构造函数、拷贝赋值运算符、析构函数的使用,以及如何通过删除函数阻止拷贝。此外,还介绍了移动构造函数和移动赋值运算符,这些操作通过右值引用实现,旨在提升性能,特别是在对象拷贝后立即销毁的场景中。整体而言,这些概念和技巧是构建高效、可维护的面
2025-05-13 21:42:36
708
原创 c++从入门到精通(二)
一个不限定作用域的枚举类型的对象或枚举成员自动地转换成整型。尽管每个enum都定义了唯一的类型,但实际上enum是由某种整数类型表示的。在C++11新标准中,我们可以在enum的名字后加上冒号以及我们想在该enum中使用的类型如果我们没有指定enum的潜在类型,则默认情况下限定作用域的enum成员类型是int。对于不限定作用域的枚举类型来说,其枚举成员不存在默认类型,我们只知道成员的潜在类型足够大,肯定能够容纳枚举值。
2025-05-13 19:06:03
1000
原创 c++从入门到精通(一)
本人之前发布过一个c++primer第五版的阅读笔记。但该笔记太长了共7w多字。这次我根据自己的理解,把c++primer第五版中的一些值得注意的c++语法规则和编码规范整理一下。同时还会把常用标准库整理一下。本系列持续更新中。。。。
2025-05-12 09:24:27
1014
原创 c++进阶项目:与或非文本查询及组合查询--300行代码实现--详细讲解
在本程序中,我们首先定义了一个抽象基类,然后派生出单词查询,非查询和一个二元查询抽象基类。二元查询抽象基类又派生出与和或查询。我们通过重载与或非运算符来创建相应的与或非查询对象。接着我们定义了一个Query类作为接口类对用户隐藏继承体系。我们在Query的成员中保存了指向QueryBase类的指针,以便可以虚调用派生类的查询对象。由于程序支持组合查询,因此在不同的派生类中都有可能创建其他派生类对象。例如与查询(派生类)的两个运算对象可能是或查询(派生类)。
2025-05-10 10:58:10
606
原创 c++练手项目--实现简单的文本查询
本文介绍了一个简单的文本查询程序,旨在从文本文件中查找指定单词出现的次数、行号及对应行内容。程序分为两个功能模块:输入模块负责读取文件并生成单词与行号的映射关系;输出模块根据输入的单词查询并输出相关信息。文章详细描述了如何通过C++标准库实现这两个模块,并提供了代码框架。具体实现包括使用vector存储文件内容,map关联单词与行号,shared_ptr管理共享数据,以及定义TextQuery和QueryResult类来封装查询逻辑。最后,文章建议将QueryResult类嵌套在TextQuery类中,以限
2025-05-09 15:06:31
823
原创 C++primer第五版阅读笔记,【已完结】共7.5w字
本文是笔者在通读c++primer第五版中,所作的笔记,共7.5w字体,适合有一定c++基础的人快速过一遍c++11的所有特性。适合有一定c++基础的人在复习过程中进行知识检查。
2025-04-06 17:49:20
871
原创 博客摘录「 【Python】9.函数用法和底层分析」2025年3月4日
程序的可读性最重要,一般建议在函数体开始的部分附上函数定义说明,这就是“文档字符串”,也有人成为“函数的注释”。我们通过三个单引号或者三个双引号来实现,中间可以加入多行文字进行说明。我们在前面讲的类定义格式中,“class 类名:”。实际上,当解释器执行class语句时,就会创建一个类对象。print("耗时{0}".format((end-start)))print("耗时{0}".format((end-start)))局部变量:储存在栈帧(stark frame)中,函数运行结束,栈帧销毁。
2025-03-04 22:55:50
304
原创 阅读笔记--深度强化学习的攻防与安全性综述
进行学习,利用该代理奖励训练能将模型从误导奖励中解救出来。实验证明, 使用代理奖励值训练得到的智能体 在奖励噪声场景下具有更好的表现。
2023-07-26 10:22:17
1329
2
原创 文献阅读笔记Intellectual Property Protection for Deep Learning-Taxonomy, Methods, Attacks, and Evaluations
DNN IP protect methods;综述论文阅读笔记;深度学习模型版权保护研究论文阅读笔记;
2023-07-12 15:36:06
511
1
原创 java笔记,持续更新中包括java基础,web,各种框架,微服务框架,后续也会单独发布。
注意:长篇警告!!目前本笔记7w+字,且图片没能上传成功(懒得搞了)如果觉得有用可以私信我。本笔记为个人学习过程中记录,所学课程均来自网络公开课,笔记内容如有错误欢迎指正。本笔记仅供个人学习使用,转载请联系私信本人。
2023-04-20 17:00:10
470
原创 python基础和第三方库 笔记(python基础完结包括高级用法,第三方库持续更新中...)
*注:本笔记面向有一定基础的人 本笔记包括python常用基础用法,和数据分析人工智能相关的第三方库用法本笔记是本人快速复习python过程中记录的,不适合零基础的人学习python的主工具,可以作为辅工具,本笔记记录了入门阶段常用操作,如有错误的地方,希望读者不吝赐教。
2023-04-06 18:59:31
694
原创 《TCP/IP网络编程》阅读笔记
阅读 ICP/IP网络编程 后做的笔记,本人只是阅读了一遍,当作参考书看,因此一部分内容笔记并不全面。有些具体内容标注了在书本的第几页《TCP/IP网络编程》
2022-01-03 21:09:33
1975
原创 unable to access android sdk add-on list解决方案
unable to access android sdk add-on list解决方案问题原因解决方案1.配置Proxy2.跳过检测在Android Studio的安装目录下,找到\bin\idea.properties在尾行添加disable.android.first.run=true,表示初次启动不检测SDK跳过后设置Android Stuido 模式下载SDK总结问题更新Android Studio 4.2 版本,启动后报错如下原因AS启动之后,会检查默认路径下的An
2021-10-09 18:09:27
630
原创 idea常用快捷键
ctrl+shift+alt:多行操作psvm:生成main()方法;fori:生成for循环;Ctrl+Alt+v:自动补齐返回值类型ctrl+o:覆写方法ctrl+i:实现接口中的方法ctrl+shift+u:大小写转换CTRL+SHIFT+Z:取消撤销Alt+Insert:生成构造方法、getter、setterctrl+y:删除当前行Ctrl+Shift+J:将选中的行合并成一行ctrl+g:定位到某一行Ctrl+Shitft+向下箭头:将光标所在的代码块向下整体移动Ct.
2021-08-23 15:29:16
154
原创 cookie与session基础操作
cookie与session都是可以在同一个项目的不同servlet中使用的cookie的获取与使用req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");resp.setContentType("text/html");//获取cookieCookie[] cookies = req.getCookies();PrintWriter out = resp.getWriter();//取出cookie中的匹配
2021-08-21 17:41:35
142
原创 Maven资源导出问题
List item由于Maven约定大于配置,因此如果再java文件下写了其他类型的文件在资源导出时就会出。因此在pom.xml中添加以下代码即可解决问题。 <!--在build中配置resources,来防止我们资源导出失败的问题--> <build> <resources> <resource> <directory>src/main/resourc..
2021-08-18 16:23:21
152
1
原创 操作系统课设 简单 shell 命令行解释器的设计与实现
简单 shell 命令行解释器的设计与实现linux上创建一个文件,复制下面代码,改文件名为.c编译运行即可.#include <stdio.h>#include <unistd.h>#include <string.h>#include <sys/wait.h>#include <sys/types.h>//help方法void help(){ char str[100]; scanf("%s", str); if(str
2021-06-28 16:30:10
1466
1
原创 力扣220存在重复元素
问题描述给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。如果存在则返回 true,不存在返回 false。示例 1:输入:nums = [1,2,3,1], k = 3, t = 0输出:true示例 2:输入:nums = [1,0,1,1], k = 1, t = 2输出:true示例 3:输入:nums =
2021-04-17 22:56:52
121
原创 C++的vector和unordered_map用法简介,快速上手
memset将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作,其返回值为指向S的指针。比如private: bool isEnd; Trie* next[26];public: Trie(){ isEnd = false; memset(next,0,sizeof(next)); //初始化next指针并设置为空 }vector**向量(Vector)**是一个封装了动态大小数组的顺
2021-04-16 23:07:16
2042
原创 trie树的基本操作
trie树介绍Trie????(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点
2021-04-15 20:14:41
445
原创 markdown一些常用操作
markdown字体两个*(左右都要)进行加粗啊士大夫一个*斜体(两边都要)啊士大夫三个*(两边都要)加粗又斜体阿斯蒂芬就和引用‘>’进行引用操作分割线—空格下划线***也是分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CoXwmqpS-1618464509958)(C:\Users\32695\AppData\Roaming\Typora\typora-user-images\image-202104151305500
2021-04-15 13:29:19
177
Java基础笔记(包括底层原理)
2023-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人