Vanadium的小屋御用公告板
停更?
似乎是快一个月没有更新原创文章了
而且很多笔记都荒废掉了
好叭只是太懒 + 太忙惹
果然坚持记笔记是一件很难坚持的事情(?)
致敬传奇笔记王!!!
短学期再说吧~ 希望能活过期末粥
2024/06/12 by Vanadium
五一计划
有谁五一要卑微留校阴暗爬行呐? 哦, 是我啊
那就写一份计划书吧
整理笔记: 计算机系统I 的相关笔记, 参考 slides, 学长的资料
https://note.hobbitqia.cc/ICS/
https://note.tonycrane.cc/cs/system/
https://note.isshikih.top/cour_note/D2QD_DigitalDesign/
填坑: 继续学习 C++ 到头秃, 填补游戏开发日经记录贴
肝 DDL: 系统 lab4 你把大家都害亖re!
史纲头脑风暴
最重要的!!! 摸鱼
2024/04/27 by Vanadium
暂时关闭评论系统
由于博客代码重构, 评论系统暂时关闭, 如有联系需要请参考 关于
2024/03/25 by Vanadium
博客图片迁移
由于之前拿 Git ...
数据安全与密码学基础期中学习报告
Lec1
什么是密码学?
密码学的英文是 cryptography,来源于希腊文中的隐藏和写;也就是说,密码学研究的是一种隐写术,目的是确保传输消息时的保密性
加密算法的语法
定义一个加密算法,至少要包含以下几个部分
密钥生成函数 Gen() -> sk:随机的
加密函数 Enc(sk, M) -> C:随机 / 确定的
解密函数 Dec(sk, C) -> M:确定的
正确性
什么是正确性
形式化描述:解密密文一定可以得到原来的明文
∀m∈M,Pr[Dec(Enc(sk,m))=m]=1\forall m\in M,Pr[Dec(Enc(sk, m))=m]=1
∀m∈M,Pr[Dec(Enc(sk,m))=m]=1
sk←Gen()sk\leftarrow Gen()
sk←Gen()
安全性
攻击者的力量
攻击者知道什么
攻击者的计算能力
安全性是否依赖攻击者不知道加密算法
这个假设是非常不好、不合理的
因此现代密码学倾向于公开加密算法,让大家去攻击,寻找漏洞;假如都找不出漏洞,那么加密算法就是安全的
安全性依赖于攻击者无法攻破加密算法
现代密码学的 ...
ADS 期中补天笔记
AVL Trees, Splay Trees, and Amortized Analysis
AVL Tree
定义
空树是平衡的(空树的高度被定义为 -1)
如果树 T 满足以下条件,那么 T 是平衡的
BF(T)=∣TL−TR∣≤1BF(T)=|T_L-T_R|\le1
BF(T)=∣TL−TR∣≤1
旋转
AVL 树是自平衡的,因此需要旋转操作保持其平衡的性质
如果插入的节点在右子树的右子树,那么要做 RR 旋转
节点数 n 与高度 h 的关系
令 nhn_hnh 为高度为 h 的树所拥有的最小节点数,则有
nh=nh−1+nh−2+1n_h=n_{h-1}+n_{h-2}+1
nh=nh−1+nh−2+1
⇒nh=Fh+2−1≈15(1+52)h+2−1\Rightarrow n_h=F_{h+2}-1\approx\displaystyle\frac{1}{\sqrt{5}}(\frac{1+\sqrt{5}}{2})^{h+2}-1
⇒nh=Fh+2−1≈51(21+5)h+2−1
⇒h=O(lnn)\Rightarrow h=O(\ln n) ...
有机化学补天笔记
一些广为人知的基础知识就略过了
Ch1 有机化合物分子结构基础
基本都是高中化学选修内容
共价键的极性
不同杂化轨道碳原子的电负性(酸性)大小顺序为:Csp>Csp2>Csp3C_{sp} > C_{sp^2} > C_{sp^3}Csp>Csp2>Csp3
诱导效应
吸电子诱导效应
NH3+>NO2>SO2R>CN>CHO>COOH>COCl>CONH2>F>Cl>Br>I>OH>OR>NR2>Ph>CH2=CH2>HNH_3^+ > NO_2 > SO_2R > CN > CHO > COOH > COCl > CONH_2 > F > Cl > Br > I > OH > OR > NR_2 > Ph > CH_2=CH_2 > HNH3+>NO2>SO2R>CN>CHO>COOH>COC ...
高级数据结构与算法分析
Basic Infomation
Teachers: myc
Lecture 1
Lecture 2
数据安全与密码学基础
Basic Infomation
Teachers: zc
Lecture 1
Lecture 2
面向对象程序设计
Basic Infomation
Teachers: hyc
Assignment
Lab (50%, including the in-class quiz)
Final Exam (50%)
Lecture 1
Lecture 2
文明 6 mod 制作学习笔记 (3) 新的文明
文明6 Mod教程(3)创建一个新文明
准备工作
想要制作一个新的文明, 需要为领袖, 特色单位, 特色建筑准备大大小小, 不同分辨率的 dds 图标
想要实现 png 图片格式化为 dds 图标, PS 就可以做到, 但是非常不方便
可以参考专栏, 利用 mod 辅助工具进行批量转化
为了实现一个完整的文明, 需要准备以下图片资源
特色建筑图标 dds
文明图标 dds
领袖图标 dds
特色单位图标 dds
特色单位头像 dds
前景 / 背景图 dds
使用 mod 辅助工具开始制作新的文明
Mod 辅助工具可以理解为一个图形化的文本生成器, 可以通过更为用户友好的方式生成代码文本, 从而达到方便 mod 制作的目的
制作目标
由于政治因素, 文明 6 避免了很多近现代领袖和文明的出现
但是我们是 mod 制作者, 目标是制作一个苏联 mod, 实现文明苏联和领袖列宁
要求苏联有一个特色建筑军工制造厂 (取代工厂), 特色单位苏联红军 (取代步兵), 特色能力共产主义; 领袖列宁有一个特色能力十月革命
新建 project
同样, 在 ModBuddy 中新建一个 proje ...
文明 6 mod 制作学习笔记 (2) 新的单位
文明6 Mod教程(2)创建人物
Mod 相关文件类型
文明 6 的 mod 主要由以下文件构成
xml: 最主要的文件
artdef: 模型定义
xlp: 图像资源变量名
dds: 贴图
本质上, 后面 3 个其实也是 xml 文件, 只是后缀名不同, 语法格式是相同的
创建新的单位
设计目标
设计一个单位, 名称为职业军队 ProfessionalArmy, 替代步兵, 造价和维护费低于步兵, 速度更快, 强于步兵
新建 project
与修改文本类似, 这次新建一个 unit project, 命名为 UNIT_ProfessionalArmy
删除无用的 GettingStarted.html, 无视不重要的 .Art.xml 文件
重要的是下面几个文件
Units.artdef: 模型定义
UNIT_ProfessionalArmy_Gameplay.xml: 参数设置
UNIT_ProfessionalArmy_Icons.xml: 图标设置
UNIT_ProfessionalArmy_Text.xml: 文本设置
单位参数设置
原版单位结构
作为参考, 打开含 ...
文明 6 mod 制作学习笔记 (1) 从水下第一个 mod 开始
文明6 Mod制作教程(1)做一个最简单的MOD
开发前准备
开发工具
ModBuddy
在拥有文明 6 游戏本体后, 在 Steam - 库 - 工具中可以找到 Sid Meier’s Civilization VI Development Tools
安装后打开, 选择 ModBuddy
ModBuddy 是官方为 mod 开发者提供的 mod 开发工具
其实是 VS2013 套壳版
制作 mod
新建 project
与平时使用 VS 相似, 首先要新建一个 project, 不同的是, ModBuddy 提供了一些模板, 如新建筑, 新文明与领袖等等
由于是水下第一个 mod, 这里选择空的模板
创建完毕后, 模板提供了一个 EmptyMod1.Art.xml 文件, 保存了 mod 的基础信息, 直接删除
删除后右键 EmptyMod1, 新建一个 GameData1.xml 文件, 作为 mod 的本体
替换游戏内文本
原版游戏文本文件
打开游戏本地文件 Sid Meier’s Civilization VI\Base\Assets\Text\Vanilla_zh_H ...