Compare commits

..

2 Commits

Author SHA1 Message Date
Yogi cf62adeb0a note update 2023-11-18 18:00:06 +08:00
Yogi 6f94b990b0 .. 2023-11-18 17:34:43 +08:00
22 changed files with 133 additions and 253 deletions

9
.obsidian/bookmarks.json Normal file
View File

@ -0,0 +1,9 @@
{
"items": [
{
"type": "file",
"ctime": 1699969992508,
"path": "Watching List.md"
}
]
}

View File

@ -1,5 +1,5 @@
{ {
"collapse-filter": true, "collapse-filter": false,
"search": "", "search": "",
"showTags": false, "showTags": false,
"showAttachments": false, "showAttachments": false,
@ -17,6 +17,6 @@
"repelStrength": 10, "repelStrength": 10,
"linkStrength": 1, "linkStrength": 1,
"linkDistance": 250, "linkDistance": 250,
"scale": 1, "scale": 0.015355906606692777,
"close": false "close": false
} }

View File

@ -8,7 +8,8 @@
"Linux": 2, "Linux": 2,
"worldtree": 3, "worldtree": 3,
"tes": 4, "tes": 4,
"todo": 5 "todo": 5,
"vim": 6
}, },
"_version": 2 "_version": 2
} }

View File

@ -4,48 +4,16 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "1a16c3ad5e0f8c65", "id": "8418613a58a25a90",
"type": "tabs", "type": "tabs",
"dimension": 50.31645569620253,
"children": [ "children": [
{ {
"id": "88534f74aecd6c5e", "id": "5fe6602ed11ec031",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Game Dev Common Web.md",
"mode": "source",
"source": false
}
}
}
]
},
{
"id": "2afdaf4448e53ac9",
"type": "tabs",
"dimension": 49.68354430379747,
"children": [
{
"id": "d75287d25025d4a1",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Today Todo.md", "file": "Today Todo.md",
"mode": "preview",
"source": false
}
}
},
{
"id": "8a553b917481f881",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Godot GDScript Trick.md",
"mode": "source", "mode": "source",
"source": false "source": false
} }
@ -63,6 +31,7 @@
{ {
"id": "5d7f9cd87816f7de", "id": "5d7f9cd87816f7de",
"type": "tabs", "type": "tabs",
"dimension": 65.21317829457365,
"children": [ "children": [
{ {
"id": "8c405ad6bbea496b", "id": "8c405ad6bbea496b",
@ -88,7 +57,14 @@
"sortOrder": "alphabetical" "sortOrder": "alphabetical"
} }
} }
}, }
]
},
{
"id": "8b7b366422e476c2",
"type": "tabs",
"dimension": 34.786821705426355,
"children": [
{ {
"id": "e03b25839994c10d", "id": "e03b25839994c10d",
"type": "leaf", "type": "leaf",
@ -101,7 +77,7 @@
} }
], ],
"direction": "horizontal", "direction": "horizontal",
"width": 296.5 "width": 448.5
}, },
"right": { "right": {
"id": "94db76309491c04e", "id": "94db76309491c04e",
@ -117,7 +93,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "Game Dev Common Web.md", "file": "Today Todo.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -134,7 +110,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "Game Dev Common Web.md", "file": "Today Todo.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} }
@ -157,11 +133,12 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "Game Dev Common Web.md" "file": "Today Todo.md"
} }
} }
} }
] ],
"currentTab": 3
} }
], ],
"direction": "horizontal", "direction": "horizontal",
@ -182,42 +159,43 @@
"html-server:Turn Http Server Off": false "html-server:Turn Http Server Off": false
} }
}, },
"active": "88534f74aecd6c5e", "active": "5fe6602ed11ec031",
"lastOpenFiles": [ "lastOpenFiles": [
"TagSystem.md", "备忘.md",
"Game Dev Common Web.md",
"Today Todo.md", "Today Todo.md",
"Godot GDScript Trick.md", "TODO.md",
"Watching List.md",
"foragerlike.md",
"Game Dev Common Web.md",
"GDShader.md",
"Git.md",
"Godot Shader.md",
"Godot 中文教程.md", "Godot 中文教程.md",
"软件工程.md",
"苏菲的定制linux系统.md",
"积极心理.md",
"破解享乐的欲望牢笼.md",
"目的达成流程PDCA.md",
"有关Godot和Lunarvim如何结合使用.md",
"局域网共享文件方法.md",
"WorldTreeModule.md",
"vim.md",
"TODO模板.md",
"neovim.md",
"Lunarvim.md",
"TriggerAreaConfig.md",
"Think in UML.canvas",
"TagSystem.md",
"README.md",
"linux安装与应用.md",
"Aseets/TagSystem.drawio.png", "Aseets/TagSystem.drawio.png",
"Aseets/Pasted image 20231113190838.png",
"Aseets/Dev.png", "Aseets/Dev.png",
"Aseets/vimEdit.png", "Aseets/vimEdit.png",
"Aseets/Procedure.jpeg", "Aseets/Procedure.jpeg",
"Aseets/PDAC2.png", "Aseets/PDAC2.png",
"Aseets/PDAC1.png", "Aseets/PDAC1.png",
"目的达成流程PDCA.md",
"Aseets/exapmle.png", "Aseets/exapmle.png",
"软件工程.md", "Aseets/dev2.png"
"Aseets/dev2.png",
"TODO.md",
"Untitled Kanban.md",
"2023-11-01.md",
"GDShader.md",
"foragerlike.md",
"TODO模板.md",
"vim.md",
"积极心理.md",
"Think in UML.canvas",
"linux安装与应用.md",
"README.md",
"Git.md",
"Godot Shader.md",
"TMP.md",
"lazygit.md",
"Linux Setup.md",
"Lunarvim.md",
"dwm桌面.md",
"WorldTreeModule.md",
"Watching List.md"
] ]
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -1,131 +0,0 @@
> Cause Record Screen crash so I obuse this
超级爽的tilling window manager, 而且配置好了, 用起来无敌爽
https://www.youtube.com/watch?v=1QQps1qTgG4
Github Info:
https://github.com/ChrisTitusTech/titus-awesome
### Step by step
> 配置基础环境
```
sudo apt install awesome fonts-roboto rofi compton i3lock xclip qt5-style-plugins materia-gtk-theme lxappearance xbacklight flameshot nautilus xfce4-power-manager pnmixer network-manager-gnome policykit-1-gnome -y
wget -qO- https://git.io/papirus-icon-theme-install | sh
```
```
sudo apt install terminator
```
视频内又输入了一次上面的指令, 这里我猜测是填错了,但是先填上
```
wget -qO- https://git.io/papirus-icon-theme-install | sh
```
> 克隆他的配置文件到指定目录 (这里我使用自己的库)
> 他的库:
```
git clone --branch debian https://github.com/ChrisTitusTech/titus-awesome ~/.config/awesome
```
> 我的库:
```
git clone --branch debian http://47.100.81.115/Yogi/awesome.git ~/.config/awesome
```
> 切换虚拟桌面
>
> 登出当前桌面(最好重启)
> 在输入密码的界面中, 选择页面上的图标(Ubuntu的右下角有个齿轮)
> 选择 Awesome 后 登陆即可
> Tips
> win键(Super键)+F1 可以弹出快捷键的提示窗口
> 打开终端(Super+x), 然后 设置 themes
```
mkdir -p ~/.config/rofi
cp $HOME/.config/awesome/theme/config.rasi ~/.config/rofi/config.rasi
sed -i '/@import/c\@import "'$HOME'/.config/awesome/theme/sidebar.rasi"' ~/.config/rofi/config.rasi
```
> Tips: 这里会修改 Super+r 的themes
> 下载鼠标 Icon 图集
进下面的网站, 然后点击Files 下载你喜欢的 (我这里选第一个)
https://www.pling.com/p/1148692
或者去这里去搞 https://github.com/keeferrourke/capitaine-cursors
> 解压到 地址栏输入下面的东西 (Ctrl+ L)
```
.icons/
```
> 切换 窗口,文件图标,鼠标 Theme
运行程序(Alt+Space) lxa (也就是 Customize Look and Feel)
切换为 `Widget/Material-dark``Icon Theme/Papirus-Dark``Mouse Cursor/Capitaine Cursors Light`
> 设置虚拟桌面启动默认项 (不用每次都在登陆界面点了)
> 打开配置文件
```
sudo gedit /etc/environment
```
> 增加到末尾新行
```
XDG_CURRENT_DESKTOP=Unity
QT_QPA_PLATFORMTHEME=gtk2
```
> vscode编辑器安装
```
sudo apt-get install code
```
> ide 打开配置目录 **重要** : 所有配置基本上都在这里修改了
```
code .config/awesome
```
> 比如 apps.lua 是控制开机启动(开机启动项需要输入目录,具体参考代码)和默认browser
> 比如 keys内有一些热键的配置
> 如果是在bin内部, 那么直接输入bin文件夹内部的文件名即可
> reload(Super+Ctrl+r)
> 墙纸
```
sudo apt install variety feh
```
> 允许Variety 软件(动态下载墙纸)
> 进去后 把所有的下载渠道都关了 用 bing 和 unsplash
> 下面的目录改了 改成 `/home/.wallpapers` 注意,这里需要新建文件夹,而且命名基于开机启动的脚本的后缀的 改完后 下面应该显示的是 `~/wallpapers`
> Menual downloading 中的目录也改一下 同上的目录
> 修改 Variety 配置背景拉伸的脚本
```
sudo gedit .config/variety/scripts/set_wallpaper
```
> 移到最下面 有个 `echo "local gears = require(\"gears\") gear`......... 的一行
> 用`feh --bg-fill`... 这一行复制然后替换他
> 这时候在任务栏用 Variety 切换图片就不会导致拉伸图片了
> 如果在 Variety 中添加到 最喜欢的 时,就会自动下载到 .wallpapers
### Over! Enjoy!

View File

@ -208,3 +208,7 @@ func _ready():
### 在Godot中使用继承与组合 ### 在Godot中使用继承与组合
- [How You can Easily Make Your Code Simpler in Godot4](https://www.youtube.com/watch?v=74y6zWZfQKk&t=2s) - [How You can Easily Make Your Code Simpler in Godot4](https://www.youtube.com/watch?v=74y6zWZfQKk&t=2s)
- 这个视频挺好的 完美阐述了如何在godot中使用组合的方式替代继承 非常妙 子物体即是组件 - 这个视频挺好的 完美阐述了如何在godot中使用组合的方式替代继承 非常妙 子物体即是组件
## Godot中的坑
![](Aseets/Pasted%20image%2020231113190838.png)
上述脚本的25行就是个坑, 我在编写编辑器的时候, 在静态方法中调用一个空引用回导致引擎崩溃, 而且没有日志. 这里的初始化我猜测是失败了, 或者像是Unity一样把静态属性置空了.

View File

@ -1,3 +1,4 @@
#vim
A Vim A Vim
https://www.youtube.com/watch?v=GEHPiZ10gOk https://www.youtube.com/watch?v=GEHPiZ10gOk
插件 插件

1
TMP.md
View File

@ -1 +0,0 @@
有点事... 离线

View File

@ -8,10 +8,9 @@ Tag System 主要是基于UE的那一套, 我自己模仿的. 主要就是为了
## Plan ## Plan
- TagTree - Tag Tree
- `TagData root` - Json 数据
- GetByID(int id) - Tag Data
- TagData
- ID 自增且不重复 - ID 自增且不重复
- Name 名字 - Name 名字
- Des 开发者用的描述信息 - Des 开发者用的描述信息
@ -19,15 +18,16 @@ Tag System 主要是基于UE的那一套, 我自己模仿的. 主要就是为了
- `TagData Parent` - `TagData Parent`
- 编辑器 - 编辑器
- RowData: ID + String + Des - Row Data: ID + String + Des
- Add Btn 构造新的 RowData - AddBtn 构造新的 Row Data
- Remove Btn 删除 RowData - RemoveBtn 删除 Row Data
- GetEnum()->Array[ID] - GetEnum()->Array[ID]
- GetName(int id) -> String - GetName(int id) -> String
- 保存成什么数据格式? - 保存成什么数据格式?
## Do ## Do
- [x] 在我的Godot Tools 项目中成功实现了Tag的编辑器 - [x] 在我的Godot Tools 项目中成功实现了Tag的编辑器
- [ ] 接下来需要实现的是Tag模块的配置数据的IO - [x] 接下来需要实现的是Tag模块的配置数据的IO
- [ ] 游戏中的Tag ID配置, 能够方便的直接索引到我的Tag配置文件中去 - [x] Popup功能拓展 把语法检索放进去 类似linux的控制台指令
- [ ] 游戏的 Tag 搜索或检索功能 - [x] 游戏中的Tag ID配置, 能够方便的直接索引到我的Tag配置文件中去
- [x] 游戏的 Tag 搜索或检索功能

View File

@ -5,35 +5,35 @@
{"id":"01381dfb0d849945","type":"group","x":177,"y":120,"width":707,"height":180,"label":"节点(对象)"}, {"id":"01381dfb0d849945","type":"group","x":177,"y":120,"width":707,"height":180,"label":"节点(对象)"},
{"id":"5598149665daee13","type":"group","x":-96,"y":-840,"width":246,"height":380,"label":"现实因果"}, {"id":"5598149665daee13","type":"group","x":-96,"y":-840,"width":246,"height":380,"label":"现实因果"},
{"id":"e55941a9e3bc5761","type":"text","text":"节点A","x":218,"y":-100,"width":111,"height":60}, {"id":"e55941a9e3bc5761","type":"text","text":"节点A","x":218,"y":-100,"width":111,"height":60},
{"id":"3dd7047c8798b5be","type":"text","text":"因","x":98,"y":-320,"width":67,"height":60},
{"id":"c33ab99b87004926","type":"text","text":"果","x":898,"y":-320,"width":67,"height":60},
{"id":"4ae0834068c8c432","type":"text","text":"封装/特性/继承/聚合/多态","x":584,"y":220,"width":280,"height":50},
{"id":"02979079622fc748","type":"text","text":"节点D","x":731,"y":-100,"width":111,"height":60},
{"id":"baeb4b1fe957ac3e","type":"text","text":"节点C","x":550,"y":-175,"width":111,"height":60},
{"id":"6e4257fdd05e9ae8","type":"text","text":"功能计算","x":444,"y":140,"width":160,"height":50},
{"id":"7aab729a19843255","type":"text","text":"节点B","x":358,"y":-175,"width":111,"height":60},
{"id":"301c14f628e0d44e","type":"text","text":"节点E","x":390,"y":15,"width":111,"height":60}, {"id":"301c14f628e0d44e","type":"text","text":"节点E","x":390,"y":15,"width":111,"height":60},
{"id":"6cd0aa5fd7e08b73","type":"text","text":"数据","x":197,"y":140,"width":131,"height":50}, {"id":"6cd0aa5fd7e08b73","type":"text","text":"数据","x":197,"y":140,"width":131,"height":50},
{"id":"be3e0105f3877ef9","type":"text","text":"- 对象眼界狭窄, 只关心和自己相关的几个对象, 不关心和自己无关的\n- 没有特性的可以称之为类, 被赋予特性后, 可以被称之为实例\n- 需求发生改变时, 一般是直接新增类. 不会大幅度的影响其他对象.\n- 举例\n\t- 面向对象就像是把建造一辆车这个目标, 分解成建造每一个零部件后组装\n\t- 当车辆更新换代的时候, 用于组装的类会发生变更(可以重载或是继承), 也会新增一些新的对象类型(同样可以是继承和承载)","x":233,"y":660,"width":583,"height":260},
{"id":"b78f0a5a2d476e66","type":"text","text":"``` python\nfunc main(i)\n\ta = nodeA.do(i)\n\tb = nodeB.do(a)\n\te = nodeE.do(a)\n\tf = nodeF.do(b,a,e)\n\tc = nodeC.do(b)\n\to = nodeD.do(c,f)\n\treturn o\n```","x":233,"y":360,"width":583,"height":280},
{"id":"67cc784857841adc","type":"text","text":"特性","x":320,"y":220,"width":160,"height":50}, {"id":"67cc784857841adc","type":"text","text":"特性","x":320,"y":220,"width":160,"height":50},
{"id":"e151bed3b296b893","type":"file","file":"WorldTreeModule.md","x":2080,"y":-352,"width":1120,"height":2132},
{"id":"43c25dad51fed755","type":"text","text":"## 流程划分\n- 进入游戏\n- 新建存档\n- 配置角色存档\n- 读取存档\n- 进入主场景\n- 打开战斗场景\n- 关闭战斗场景\n- 退出主场景\n- 写入存档\n- 游戏结束","x":1760,"y":-352,"width":192,"height":363},
{"id":"c38d1a12d50745c6","type":"text","text":"## 大地图解决方案\n\n## 必做方案\n- 从美术那里获得`大地图`(比如一个种族的地图)\n- 程序切图变成`小地图`且批量命名\n\n### 普通 2D 方案\n- 详情参考`2DPathFindExample'\n- 配置流产\n\t- 一张`小地图` 可以作为一个 `场景` 使用\n\t- 每个场景中, 配置 `物理碰撞` `AI寻路` `城池` `副本` 等等\n- 此做法类似我们早期使用Unity实现的方法思路, 但是他有更方便的 2D 功能\n#### 优劣分析\n- 优: 自定义能力极强\n- 劣: 相比较其他方案, 批量修改处理不易\n- 劣: 相比较其他方案, 需要实现大地图编辑器, 从而实现游戏内配置, 方便进行直观的配置 (运行增删查改, 动态加载等等)\n\n### Tile Map方案\n- 详情参考 `TileMapExample`\n- 配置流程\n\t- (笔刷) 先配置 每个网格资源 本身的属性 (比如 可以AI导航区域, 碰撞区域, 颜色, 材质, 高度 等等)\n\t- (底色) 用`小地图`做背景\n\t- (画图) 再在把网格刷在地图上\n- 网格中的物体: 1. 可交互 2.可挡路 3.可以动态消失和增加\n\n### 优劣分析\n- 优: 性能不错, 我测试下来性能可以接受\n- 劣: Godot在编辑时, 有可能会闪退 具体原因不明\n- 劣: 因为是基于网格的, 所以具体的网格都是以格子为基准的, 比如 \"材质\" \"高度\" \"导航区域\" \"碰撞区域\". 没有其他方式的那种自定义的方式自由 (必须是格子图)\n","x":3280,"y":-352,"width":960,"height":1090},
{"id":"56c4798c604b529d","type":"text","text":"## Route Map\n- 游戏框架分析\n- 代码架构分析\n- 游戏模块分析\n- 游戏模块 UML 图制作\n- 代码实现\n\t- 大地图解决方案\n\t- 战斗模块\n\t\t- 战斗模块配置功能(能力与效果)\n\t- 存档初始化模块\n\t- 大地图模块\n","x":1203,"y":-352,"width":517,"height":732},
{"id":"7dc171478dd606af","type":"text","text":"战斗角色是使用的回合计数\n大地图角色使用时间计数\n\n是否可以\n战斗时 时间暂停\n一个回合结束时, 增加对应游戏时间\n(这样会有一些意想不到的效果, 比如当前回合结束后, 刚好经过了一天, 一天一时间一过, 角色某个效果会触发, 比如回复满血)","x":1308,"y":420,"width":412,"height":300},
{"id":"1e71eae3e8ab4dd7","type":"text","text":"果","x":44,"y":-540,"width":67,"height":60}, {"id":"1e71eae3e8ab4dd7","type":"text","text":"果","x":44,"y":-540,"width":67,"height":60},
{"id":"20e8d9b9baff4d3d","type":"text","text":"因","x":-76,"y":-540,"width":67,"height":60}, {"id":"20e8d9b9baff4d3d","type":"text","text":"因","x":-76,"y":-540,"width":67,"height":60},
{"id":"a1a7be26d20eaca1","type":"text","text":"抽象","x":-19,"y":-660,"width":96,"height":29}, {"id":"a1a7be26d20eaca1","type":"text","text":"抽象","x":-19,"y":-660,"width":96,"height":29},
{"id":"3749392e088d5fa1","type":"text","text":"现实","x":-19,"y":-820,"width":96,"height":29}, {"id":"3749392e088d5fa1","type":"text","text":"现实","x":-19,"y":-820,"width":96,"height":29},
{"id":"4ae0834068c8c432","type":"text","text":"封装/特性/继承/聚合/多态","x":584,"y":220,"width":280,"height":50},
{"id":"02979079622fc748","type":"text","text":"节点D","x":731,"y":-100,"width":111,"height":60},
{"id":"6e4257fdd05e9ae8","type":"text","text":"功能计算","x":444,"y":140,"width":160,"height":50},
{"id":"43c25dad51fed755","type":"text","text":"## 流程划分\n- 进入游戏\n- 新建存档\n- 配置角色存档\n- 读取存档\n- 进入主场景\n- 打开战斗场景\n- 关闭战斗场景\n- 退出主场景\n- 写入存档\n- 游戏结束","x":1760,"y":-352,"width":192,"height":363},
{"id":"c38d1a12d50745c6","type":"text","text":"## 大地图解决方案\n\n## 必做方案\n- 从美术那里获得`大地图`(比如一个种族的地图)\n- 程序切图变成`小地图`且批量命名\n\n### 普通 2D 方案\n- 详情参考`2DPathFindExample'\n- 配置流产\n\t- 一张`小地图` 可以作为一个 `场景` 使用\n\t- 每个场景中, 配置 `物理碰撞` `AI寻路` `城池` `副本` 等等\n- 此做法类似我们早期使用Unity实现的方法思路, 但是他有更方便的 2D 功能\n#### 优劣分析\n- 优: 自定义能力极强\n- 劣: 相比较其他方案, 批量修改处理不易\n- 劣: 相比较其他方案, 需要实现大地图编辑器, 从而实现游戏内配置, 方便进行直观的配置 (运行增删查改, 动态加载等等)\n\n### Tile Map方案\n- 详情参考 `TileMapExample`\n- 配置流程\n\t- (笔刷) 先配置 每个网格资源 本身的属性 (比如 可以AI导航区域, 碰撞区域, 颜色, 材质, 高度 等等)\n\t- (底色) 用`小地图`做背景\n\t- (画图) 再在把网格刷在地图上\n- 网格中的物体: 1. 可交互 2.可挡路 3.可以动态消失和增加\n\n### 优劣分析\n- 优: 性能不错, 我测试下来性能可以接受\n- 劣: Godot在编辑时, 有可能会闪退 具体原因不明\n- 劣: 因为是基于网格的, 所以具体的网格都是以格子为基准的, 比如 \"材质\" \"高度\" \"导航区域\" \"碰撞区域\". 没有其他方式的那种自定义的方式自由 (必须是格子图)\n","x":3280,"y":-352,"width":960,"height":1090},
{"id":"56c4798c604b529d","type":"text","text":"## Route Map\n- 游戏框架分析\n- 代码架构分析\n- 游戏模块分析\n- 游戏模块 UML 图制作\n- 代码实现\n\t- 大地图解决方案\n\t- 战斗模块\n\t\t- 战斗模块配置功能(能力与效果)\n\t- 存档初始化模块\n\t- 大地图模块\n","x":1203,"y":-352,"width":517,"height":732},
{"id":"7dc171478dd606af","type":"text","text":"战斗角色是使用的回合计数\n大地图角色使用时间计数\n\n是否可以\n战斗时 时间暂停\n一个回合结束时, 增加对应游戏时间\n(这样会有一些意想不到的效果, 比如当前回合结束后, 刚好经过了一天, 一天一时间一过, 角色某个效果会触发, 比如回复满血)","x":1308,"y":420,"width":412,"height":300},
{"id":"6ecc964c9042cafe","type":"text","text":"结果","x":744,"y":140,"width":120,"height":50}, {"id":"6ecc964c9042cafe","type":"text","text":"结果","x":744,"y":140,"width":120,"height":50},
{"id":"ccc50c45875e8121","type":"text","text":"节点F","x":550,"y":-45,"width":111,"height":60}, {"id":"ccc50c45875e8121","type":"text","text":"节点F","x":550,"y":-45,"width":111,"height":60},
{"id":"150aa8c33533e9d6","type":"text","text":"果","x":-215,"y":-335,"width":67,"height":60}, {"id":"baeb4b1fe957ac3e","type":"text","text":"节点C","x":550,"y":-175,"width":111,"height":60},
{"id":"7aab729a19843255","type":"text","text":"节点B","x":358,"y":-175,"width":111,"height":60},
{"id":"be3e0105f3877ef9","type":"text","text":"- 对象眼界狭窄, 只关心和自己相关的几个对象, 不关心和自己无关的\n- 没有特性的可以称之为类, 被赋予特性后, 可以被称之为实例\n- 需求发生改变时, 一般是直接新增类. 不会大幅度的影响其他对象.\n- 举例\n\t- 面向对象就像是把建造一辆车这个目标, 分解成建造每一个零部件后组装\n\t- 当车辆更新换代的时候, 用于组装的类会发生变更(可以重载或是继承), 也会新增一些新的对象类型(同样可以是继承和承载)","x":233,"y":660,"width":583,"height":260},
{"id":"b78f0a5a2d476e66","type":"text","text":"``` python\nfunc main(i)\n\ta = nodeA.do(i)\n\tb = nodeB.do(a)\n\te = nodeE.do(a)\n\tf = nodeF.do(b,a,e)\n\tc = nodeC.do(b)\n\to = nodeD.do(c,f)\n\treturn o\n```","x":233,"y":360,"width":583,"height":280},
{"id":"a86a7ac36ae3f4f0","type":"text","text":"``` python\nfunc main(i)\n\ta = get(i)\n\tb = ClacA(a)\n\te = ClacE(a)\n\tf = CalcF(b,a,e)\n\tc = CalcC(b)\n\to = CalcO(c,f)\n\treturn o\n\n# 需求变更时, 新写方法, 插入/删除流程\n```","x":-728,"y":-245,"width":583,"height":285}, {"id":"a86a7ac36ae3f4f0","type":"text","text":"``` python\nfunc main(i)\n\ta = get(i)\n\tb = ClacA(a)\n\te = ClacE(a)\n\tf = CalcF(b,a,e)\n\tc = CalcC(b)\n\to = CalcO(c,f)\n\treturn o\n\n# 需求变更时, 新写方法, 插入/删除流程\n```","x":-728,"y":-245,"width":583,"height":285},
{"id":"a5b1c2cce5f1efbb","type":"text","text":"功能计算","x":-519,"y":-333,"width":160,"height":50}, {"id":"a5b1c2cce5f1efbb","type":"text","text":"功能计算","x":-519,"y":-333,"width":160,"height":50},
{"id":"2f08f916dda4c384","type":"file","file":"Aseets/Procedure.jpeg","x":-731,"y":470,"width":586,"height":550}, {"id":"2f08f916dda4c384","type":"file","file":"Aseets/Procedure.jpeg","x":-731,"y":470,"width":586,"height":550},
{"id":"a58cc0223dab5c53","type":"text","text":"- 依赖关系\n- 固定流程\n- 需求变更时, 不容易修改\n- 随着需求发生变化, 节点的复杂度和因果关系也会大幅度变化\n- 举例\n\t- 面向流程就像一次性把建造一辆车设定成目标, 然后分析整个流产的线路, 使得这个产线能一次性就把车生产出来\n\t- 而车辆会随时更新换代, 所以车的管线也会经常大改, 每次大改都会伤筋动骨","x":-731,"y":95,"width":583,"height":285}, {"id":"a58cc0223dab5c53","type":"text","text":"- 依赖关系\n- 固定流程\n- 需求变更时, 不容易修改\n- 随着需求发生变化, 节点的复杂度和因果关系也会大幅度变化\n- 举例\n\t- 面向流程就像一次性把建造一辆车设定成目标, 然后分析整个流产的线路, 使得这个产线能一次性就把车生产出来\n\t- 而车辆会随时更新换代, 所以车的管线也会经常大改, 每次大改都会伤筋动骨","x":-731,"y":95,"width":583,"height":285},
{"id":"4d32b080f139a489","type":"text","text":"因","x":-728,"y":-338,"width":67,"height":60} {"id":"4d32b080f139a489","type":"text","text":"因","x":-728,"y":-338,"width":67,"height":60},
{"id":"3dd7047c8798b5be","type":"text","text":"因","x":98,"y":-320,"width":67,"height":60},
{"id":"c33ab99b87004926","type":"text","text":"果","x":898,"y":-320,"width":67,"height":60},
{"id":"150aa8c33533e9d6","type":"text","text":"果","x":-215,"y":-335,"width":67,"height":60},
{"id":"e151bed3b296b893","type":"file","file":"WorldTreeModule.md","x":2160,"y":-352,"width":1120,"height":2132}
], ],
"edges":[ "edges":[
{"id":"c0b4be46a6f0aeb1","fromNode":"3749392e088d5fa1","fromSide":"bottom","toNode":"a1a7be26d20eaca1","toSide":"top"}, {"id":"c0b4be46a6f0aeb1","fromNode":"3749392e088d5fa1","fromSide":"bottom","toNode":"a1a7be26d20eaca1","toSide":"top"},

View File

@ -1,4 +1,2 @@
- [x] 对UE的TagSystem进行分析 [TagSystem](TagSystem.md) - [x] 把TagSystem接入游戏项目内
- [ ] 实现配置编辑器功能 完成50% - [ ] 存档功能吧 确认一下存档的技术方案并接入项目
- [ ] 类似实现一个检索搜索功能
- [ ] 实现对应代码功能 (抄脚本)

View File

@ -1,2 +0,0 @@
Vim 从入门到精通
https://www.cnblogs.com/lijia0511/p/5644566.html

View File

@ -6,12 +6,11 @@
## 2023.10 ## 2023.10
- 我们的雨色协议 - 我们的雨色协议
- 破灭之国 - 破灭之国
- 超超超喜欢你的100个女朋友 期待 搞笑番 但是不搞笑 可能是因为之前看过了推荐视频 1 - 超超超喜欢你的100个女朋友 期待 搞笑番 但是不搞笑 可能是因为之前看过了推荐视频 非常有趣的搞笑番 第二三集的时候 非常好玩 第四集不过如此.jpg 4
- 间谍过家家第二季 一般 1 - 间谍过家家第二季 一般 27(2)
- 提亚穆帝国物语 超级期待 挺有意思的一部番,类似恶女开局. 虽然动漫进度有点草率了, 但是第3集的时候女主帅爆了 3 - 提亚穆帝国物语 超级期待 挺有意思的一部番,类似恶女开局. 虽然动漫前两集的进度有点草率了, 但是第3集的时候女主帅爆了 第四集的女主好可爱 第五集有点无聊,画风也太穷了 无聊的第六集 6
- 星灵感应 - 星灵感应
- 葬送的芙莉莲 Frieren: Beyond Journey's End 挺期待的,不过有剧透也不是非常期待 2 很有意思的回溯流动漫 喜欢它的前两集 特别是风景与自然 - 葬送的芙莉莲 Frieren: Beyond Journey's End 挺期待的,不过有剧透也不是非常期待 2 很有意思的回溯流动漫 喜欢它的前两集 特别是风景与自然 2
- 香格里拉 期待
- 暴食狂战士 - 暴食狂战士
- 相当冒险者的女儿成为S级 - 相当冒险者的女儿成为S级
- 凹凸魔女的魔女故事 - 凹凸魔女的魔女故事
@ -19,8 +18,17 @@
- 猪肝要煮熟后再吃啊 期待 - 猪肝要煮熟后再吃啊 期待
- 不死不幸 期待 是个轻松喜剧(大概) 2 - 不死不幸 期待 是个轻松喜剧(大概) 2
- x 某大叔的 VRMMO(A Playthrough of a Certain Dude's VRMMO Life) 期待 剧情有点蠢蠢的, 子供项? 1 x - x 某大叔的 VRMMO(A Playthrough of a Certain Dude's VRMMO Life) 期待 剧情有点蠢蠢的, 子供项? 1 x
- 16bit的感动 非常期待 - 16bit的感动 第一集让我感受很深,主要是业内环境和游戏开发 还有美少女 第二集的游戏开发过程非常熟悉, 熬夜开发名不虚传 肝爆 开发氛围也很好 果然只有在动漫中才有的 第五集看的很开心特别是结尾 就是整体节奏有点迷惑 第六集终于到了近代了 不过感觉变得不好了 可能是想要欲扬先抑吧 第六集真的是来了一波大的! 太刺激了 我以为会比较难受 但是他并没有描写那些让人反感的地方 结尾很标准的日式嘴遁 特别类似JUMP漫 热血! 没想到才第六集 超级期待下一集! 6
- 经验丰富的你和没经验的我 期待下 - 经验丰富的你和没经验的我 期待下 第一集还行,期望拉低了所以没啥问题 第二集感觉一般结尾亮了 加了初恋进去 剧情突然有了起伏, 可能是因为有危机感了吧 一般在恋爱中如果增加一些变量会使得过程更加起伏,有趣 看第四集有点腻了 过头了 到了幻想的程度, 不适. 为什么感觉如此不适, 可能是太过于有既视感了. xxxxx 不看了 第四集感觉不好 中期约会感觉不适 结尾女主说的话太逆天 弃了 4
- 想要成为影之实力者 超级期待 吸血鬼boss被秒杀... 莫名的第三级打斗 3 - 想要成为影之实力者 6
- 我推的是反派大小姐 前几集很有意思,但是第三集有点严肃的话题了 第四级有点离谱, 越来越离谱起来了... 4 - 我推的是反派大小姐 前几集很有意思,但是第三集有点严肃的话题了 第四级有点离谱, 越来越离谱起来了... 第六集有点无聊 日式学园事件 文化祭x学园祭 学园灵异事件, 欸 不过这个剧情安排感觉不错, 女主贴贴挺好玩的 结尾又开始藏刀了, 日剧是不是就喜欢在中间加一些骚东西进去 让剧情起伏剧烈呀 不感兴趣的第七集 7
- 圣剑学院的魔剑使 世界观很有意思, 看样子不是异世界厕纸,女主很好,艾米莉亚 3 - 圣剑学院的魔剑使 世界观很有意思, 看样子不是异世界厕纸,女主很好,艾米莉亚 3
- x 大小姐与看门狗 1 感觉不好玩画风有点崩坏 贫穷
- 家里蹲吸血姬的郁闷 很有意思的画风与开场 就是看着有点蠢1
- 猪肝倒是热热再吃啊 比我预期的要好看 完全就是重生异世界变猪心声流的起点文(除了日本肥宅主角) 第二集过度 第三集跳着看... 45集看的有点憋屈 5
- 药屋少女的呢喃 很好玩的番剧女主猫猫的自言自语让我感觉像是女大叔版本的蜘蛛子(女性向?) 旁边配角的可爱侍女也很好玩 第一集后面开始展开剧情, 非常非常有趣. 第一集太棒了 非常的流畅 把钱用在刀刃上的做法也恰当好处(ed太穷) 第二集还行,让人沉浸进去了 第三集太有趣了 哈哈哈 有情人终成眷属是吧 当时的配乐也非常好 第三集结尾太爱了 第四集也好帅啊主角!!! 太帅了 每集都有惊喜啊! entry运镜也很棒 女主晒被子那里 第五集像是过度,然后女主突然就变好看了, 虽然理论上说不过去,比如每天的点都点的刚刚好啥的,但是剧情还是很流畅的. 不错不错 5
- 香格里拉 屎作猎人 第一集战斗就吓尿我 太酷了! 战斗表现拉满 第二集因为之前看过漫画,感觉还行吧... 3 展开外挂? 4过度 5展开遭遇一大堆角色和pk了准备 6感觉是在水,哈哈 疯狂水 6
- 捡走被人悔婚的千金,教会她坏坏的幸福生活 第一集太有意思了,男主银魂男主的感觉和声线还有乐子 女主像是落魄圣女的感觉 乐子人狂喜 第二集正常发挥 还是乐子人狂喜 正常发挥 挺有意思的工业糖精 明天早起 我要感觉睡了 第六集伏笔回收, 之前的暗中的小狗暴露了, 然后女主上了个驯兽师的职业给了一点能力 6
- 那年那兔那些事
- 后街女孩

View File

@ -1,8 +0,0 @@
## 启动程序地址
sudo touch /usr/share/xsessions/
## 需要安装的字体:
yay -S nerd-fonts-jetbrains-mono
yay -S ttf-material-design-icons
yay -S ttf-joypixels
yay -S wqy-microhei

View File

@ -1,3 +1,4 @@
#vim
## 常用快捷键: ## 常用快捷键:
- / 搜索 - / 搜索
- super nh 取消搜索高亮 - super nh 取消搜索高亮

4
vim.md
View File

@ -1,7 +1,11 @@
#vim
# Vim # Vim
少数派 obsidian vim config 少数派 obsidian vim config
https://sspai.com/post/78030 https://sspai.com/post/78030
Vim 从入门到精通
https://www.cnblogs.com/lijia0511/p/5644566.html
bilibili vim 收藏夹 bilibili vim 收藏夹
vscode + vim vscode + vim

View File

@ -0,0 +1,15 @@
## 考虑
- 需要考虑到游戏的拓展性, 后期会增删修改不同的字段, 所以需要保证可拓展性
- 可以有多存档, 所以存档本身可以有实例存在, 不可以是静态的
- 地图数据一般分为 静态数据和动态数据, 一般游戏一进去的不会变化的都是静态数据, 随着游戏进行会发生变化的就是动态数据, 一股脑在存档中存全部数据是可以的,但是不合适.
- 通过序列化工具可以直接把一个类序列化成文件文本数据, 所以我的最终存档必须是一个数据类, 从而方便存档. 也就是用好MVC架构中的M作为当前游戏实例的存档数据实例
## 玩家存档
- 地图
- 任务
- 城镇
- 采集点
- 队伍内所有角色
- 装备
- 天赋
- 技能
- 状态

1
备忘.md Normal file
View File

@ -0,0 +1 @@
Epic: EPICASd123..

View File

@ -1,3 +1,4 @@
#vim
```shell ```shell
lvim ~/.config/lvim/config.lua lvim ~/.config/lvim/config.lua
``` ```

View File

@ -0,0 +1 @@
[Surface Pro 5 - 下载 - FydeOS](https://fydeos.com/download/device/surface-pro5)

View File

@ -1,5 +1,5 @@
## 图灵 ## 图灵
- 图灵机= 卡片条 + 读写头 - 图灵机 = 卡片条 + 读写头
- 卡片内的东西: 数据or指令 - 卡片内的东西: 数据or指令
- 数据与指令可以分开储存, 也可以合在一起储存, 但是他们是不同类型的东西 - 数据与指令可以分开储存, 也可以合在一起储存, 但是他们是不同类型的东西
- 分开能让人更容易理解 - 分开能让人更容易理解