From 43cdeccdd9a8153c4213a7b31fba1e807cf3cbae Mon Sep 17 00:00:00 2001 From: XLXZ <2965969512@qq.com> Date: Tue, 12 Mar 2024 13:38:08 +0800 Subject: [PATCH] Site updated: 2024-03-12 13:38:07 --- .../index.html" | 6 +- .../index.html" | 4 +- .../index.html" | 4 +- .../index.html" | 3 + .../index.html" | 36 +-- archives/2023/12/index.html | 2 +- archives/2023/12/page/2/index.html | 38 +-- archives/2023/12/page/3/index.html | 38 +-- archives/2023/12/page/4/index.html | 38 +-- archives/2023/12/page/5/index.html | 295 ------------------ archives/2023/page/10/index.html | 18 -- archives/2023/page/2/index.html | 36 +-- archives/2023/page/3/index.html | 36 +-- archives/2023/page/4/index.html | 36 +-- archives/2023/page/5/index.html | 36 +-- archives/2023/page/6/index.html | 36 +-- archives/2023/page/7/index.html | 36 +-- archives/2023/page/8/index.html | 36 +-- archives/2023/page/9/index.html | 36 +-- archives/2024/03/index.html | 36 +-- archives/2024/03/page/2/index.html | 18 ++ archives/2024/index.html | 36 +-- archives/2024/page/2/index.html | 36 +-- archives/2024/page/3/index.html | 36 +-- archives/2024/page/4/index.html | 36 +-- archives/2024/page/5/index.html | 18 ++ archives/index.html | 36 +-- archives/page/2/index.html | 36 +-- archives/page/3/index.html | 36 +-- archives/page/4/index.html | 36 +-- archives/page/5/index.html | 36 +-- archives/page/6/index.html | 36 +-- index.html | 189 ++++++----- page/2/index.html | 197 ++++++------ page/3/index.html | 196 ++++++------ page/4/index.html | 194 ++++++------ page/5/index.html | 198 ++++++------ page/6/index.html | 198 ++++++------ search.json | 2 +- style.css | 2 +- .../index.html" | 36 +-- 41 files changed, 1063 insertions(+), 1351 deletions(-) rename "2023/12/13/\345\206\245\346\203\263\357\274\232STB\346\227\266\347\251\272\346\241\245\346\242\201\346\263\225/index.html" => "2024/03/11/\345\206\245\346\203\263\357\274\232STB\346\227\266\347\251\272\346\241\245\346\242\201\346\263\225/index.html" (92%) delete mode 100644 archives/2023/12/page/5/index.html diff --git "a/2023/12/05/1.Archieve/\347\201\265\346\204\237\357\274\232\344\272\244\350\255\246\346\270\205\350\267\257/index.html" "b/2023/12/05/1.Archieve/\347\201\265\346\204\237\357\274\232\344\272\244\350\255\246\346\270\205\350\267\257/index.html" index 307074441..4066f19f7 100644 --- "a/2023/12/05/1.Archieve/\347\201\265\346\204\237\357\274\232\344\272\244\350\255\246\346\270\205\350\267\257/index.html" +++ "b/2023/12/05/1.Archieve/\347\201\265\346\204\237\357\274\232\344\272\244\350\255\246\346\270\205\350\267\257/index.html" @@ -212,10 +212,8 @@
重点在于练习能够处在内在感知和外在感知轴上的任意位置,这样可以习得“分离性”并跨越大脑。
+你的头脑实际上是可以根据你的视觉系统和时空领域相互交错的方式,被设置在某一个特定的时空位置的 。
在看赛跑的时候,如果你站在远处看,你会觉得整体都很慢,但是凑近了就会觉得很快。
这一方面是因为人类的视觉系统所带来的差异,而另外一方面则是因为人们对于时间感知的不同。
@@ -302,6 +297,8 @@从你前一刻专注的工作里出来,然后进行真正投入的对话,或者从内在感知出来,投入到这个世界里去、周围发生的事物里去。
对于那些过于沉浸在自己头脑中的人来说会有用,对于那些过度倾向于外在感知的人来说也是非常有用的,可以让他们练习脱离,并进入内在的感知。
+其实李冉的第三只眼睛冥想法实际上就是构建了自己的意识和外界的桥桥梁
+【心流冥想】每天10min,收获超强专注,高效一整天 | 专注系列01】
最强冥想方法 成为那1%%的人 脑神经学家推荐|Dr Andrew Hurbman #無常有生_哔哩哔哩_bilibili
@@ -334,14 +331,11 @@然后今天看到了一个有关于记日记的tips,打算在这里试试看,因为它有许多和我的看法相同的地方。
-实际上这几句话和我比较喜欢的“今天和明天没有区别”相似,考虑到这样一点的话,或许我们当前做的事情就需要再将时间拉长,考虑到其对以后的影响……
-然后今天看到了一个有关于记日记的tips,打算在这里试试看,因为它有许多和我的看法相同的地方。
+实际上这几句话和我比较喜欢的“今天和明天没有区别”相似,考虑到这样一点的话,或许我们当前做的事情就需要再将时间拉长,考虑到其对以后的影响……
+一共40分,最后按比例折算为绩点。
-其实最主要的是需要考虑是否能够转变观念,将课堂要求的任务不在看做任务而是自主完成学习提升的途径。
# 未完成
一共40分,最后按比例折算为绩点。
+其实最主要的是需要考虑是否能够转变观念,将课堂要求的任务不在看做任务而是自主完成学习提升的途径。
# 未完成
# bat
#
下面是一个简单的代码用于检测clash.exe
是否运行:
1 | tasklist|findstr -i "notepad.exe" |
运用这个我们可以写一个自动保持notepad启动的脚本
-1 |
|
# bat
#
下面是一个简单的代码用于检测clash.exe
是否运行:
1 | tasklist|findstr -i "notepad.exe" |
运用这个我们可以写一个自动保持notepad启动的脚本
+1 |
|
“战争迷雾”理论最早由普鲁士将军克劳塞维茨于19世纪早期在他的《战争论》一书中提出,指的是军事行动所根据的因素总有四分之三隐藏在迷雾之中,充满了不确定性。
-1896年,一本名为《战争迷雾》的书籍出版,正式确立了这个特殊的词组,用来指军事行动的参与者身处战场环境时所感受到的不确定性。
-而玩家们熟悉战争迷雾这个词,基本都来自于电子游戏。1977年的回合制策略游戏《帝国》,首次使用了战争迷雾系统,之后《沙丘》《星际争霸》《魔兽争霸》《英雄联盟》等众多RTS、SLG及MOBA游戏中,都加入了类战争迷雾机制。
-电子游戏通过程序,可以完美地实现战争迷雾机制,并对此进行各种贴合玩法的调整和改良。
-那么,在大家面对面在同一张版图上行动的桌游中,又该如何来实现更真实的战争迷雾呢?
- -“战争迷雾”理论最早由普鲁士将军克劳塞维茨于19世纪早期在他的《战争论》一书中提出,指的是军事行动所根据的因素总有四分之三隐藏在迷雾之中,充满了不确定性。
+1896年,一本名为《战争迷雾》的书籍出版,正式确立了这个特殊的词组,用来指军事行动的参与者身处战场环境时所感受到的不确定性。
+而玩家们熟悉战争迷雾这个词,基本都来自于电子游戏。1977年的回合制策略游戏《帝国》,首次使用了战争迷雾系统,之后《沙丘》《星际争霸》《魔兽争霸》《英雄联盟》等众多RTS、SLG及MOBA游戏中,都加入了类战争迷雾机制。
+电子游戏通过程序,可以完美地实现战争迷雾机制,并对此进行各种贴合玩法的调整和改良。
+那么,在大家面对面在同一张版图上行动的桌游中,又该如何来实现更真实的战争迷雾呢?
+ +vector<T> \nv1 | v1 是一个元素类型为 T 的空 vector |
vector<T> \nv2(v1) | 使用 v2 中所有元素初始化 v1 |
vector<T> \nv2 = v1 | 同上 |
vector<T> \nv3(n, val) | v3 中包含了 n 个值为 val 的元素 |
vector<T> \nv4(n) | v3 中包含了 n 个默认值初始化的元素 |
vector<T> \nv5{a, b, c...} | 使用 a, b, c... 初始化 v5 |
vector<T> \nv1 | 同上 |
vector<vector<int>> \nmatrix(M,vector<int>(N)); | 二维数组初始化 |
v.empty() | 如果 v 为空则返回 true,否则返回 false |
v.size() | 返回 v 中元素的个数 |
v.push_back(val) | 向 vector 的尾端添加值为 val 的元素。 注意:vector 不支持 push_front 操作。 |
v.pop_back(val) | 删除尾元素,返回void。vector同样 不支持 pop_front 操作。若想在同时弹出元素的值,就必须在执行弹出之前保存它(可以使用 v.back())。 |
v[n] | 返回 v 中第 n 个位置上元素的引用,不能用下标操作添加元素 |
v.back() | 返回 v 中最后一个元素的引用 |
v.front() | 返回 v 中第一个元素的引用 |
v1 = v2 | 用 v2 中的元素替换 v1 中的元素 |
v1 = {a, b, c...} | 用元素 {a, b, c...} 替换 v1 中的元素 |
v1 == v2 | 当且仅当拥有相同数量且相同位置上值相同的元素时,v1 与 v2 相等 |
v1 != v2 | 自行体会 |
<, <=, >, >= | 以字典序进行比较 |
\n\n\n\n\n\n(通讯员 岳天宇)近日,由共青团中央、中国科协、教育部、全国学联主办的第十八届“挑战杯”全国大学生课外学术科技作品竞赛“揭榜挂帅”专项赛和“黑科技”展示活动圆满落幕。我院师生团队在“揭榜挂帅”专项赛中获得国家级特等奖2项、二等奖1项,在“黑科技”展示活动中获得“行星”级作品1项、“卫星”级作品1项,再获佳绩!\n“揭榜挂帅”专项赛国家级特等奖项目《钢铁生产长流程极致能效搜索方法与智能化系统》是由殷亚军老师、黄亮老师和河南科技大学王爱琴老师指导,宋迎晨、刘可卓、陈众、易文珏、廖迎凯、张有程、刘昊、朱汉逸、许晋昊和王才加尚等10名同学共同完成的。该项目基于重构的长流程钢铁生产能耗计算模型评估了不同极致能效技术对钢铁生产的影响,构建了一种针对长流程钢铁生产节能策略推荐的数学评估模型,并基于此开发了钢铁极致能效解决方案推荐系统,为企业进行节能技术的多维度分析评估和极致能效解决方案的科学推荐提供了一种可靠的判据。实现了长流程钢铁生产领域节能策略模型零的突破,有利于极致能效技术的推广和钢铁企业节能目标的实现,具有重大的理论指导价值和工程应用价值。\n\n\n“揭榜挂帅”专项赛国家级二等奖项目《基于PTZ摄像机的高精度告警定位方法研究》是由董选普老师、刘鑫旺老师和曹华堂老师指导,周楚昊、李贝贝、蓝晟宁、王坤、尹正豪、郭笑宇和李嘉苗等7名同学共同完成的。该项目基于PTZ摄像机提出了一种针对周围区域明火实现高精度识别、定位和告警的方法。主要通过YOLOv7网络模型进行烟雾识别和监测,并使用DEM数据自动解析实际火源的地理位置。该方法对于告警目标具有极快的响应速度和较小的定位误差,有效预防森林火灾的产生和蔓延。\n\n“黑科技”展示活动“行星”级作品《电化学芯片及综合测试表征系统的开发应用》是由刘友文老师和翟天佑老师指导,干晓娟、陈建强、高锐坚、杨镇鸿、王浩云、王晗、赵阳和邓瑶等8名同学共同完成的。该作品是一套具有变革性的、能对电化学基本物理化学规律实现精细探究的综合测试表征平台。本作品包含电化学芯片,高精度测试平台以及原位表征平台三个部分,能够精准地测试出微小结构的催化剂性能,同时对催化剂进行原位表征,深入探究电催化反应机理。该作品可以实现反应活性可视化、微区电化学性能测定、电化学反应动力学研究、异相电荷转移反应研究等功能。\n\n“黑科技”展示活动“卫星”级作品《均匀激光3D打印复杂单晶涡轮叶片的装备设计与工艺研究》是由魏青松老师指导,张振武、戚磊一、郑可盈、袁以宁、许文贺、沈沐宇和高海瑞等7名同学共同完成的。本作品面向复杂单晶涡轮叶片制备的国家重要战略需求,围绕“聚焦光斑能量分布机制”、“熔池传热-传质机理”和“组织-高温性能调控规律”三个科学问题,采用“光学设计+算法开发+数值模拟+工艺优化”相结合的方法,在现有激光3D打印装备的基础上,改进光路系统和扫描算法,通过数值模拟和工艺试验获得晶粒定向生长的最优工艺参数,并成形出高50 mm的复杂结构涡轮叶片验证整体方案的可行性。\n\n据悉,本届“揭榜挂帅”专项赛参赛学校学生提交近2000个作品项目,最终来自全国230余所高校的700余件作品入围终审。终审决出特等奖105个、一等奖122个、二等奖132个、三等奖140个,获“特等奖”的作品团队将进入后续举行的“擂台赛”,全力冲刺“竞榜”,争夺“擂主”。全国组委会同期举办“黑科技”展示活动,引领学生提出具有前瞻性、创新性、应用性的实物或技术。经过评审,全国共有99件作品评定为“星系”级作品、181件作品评定为“恒星”级作品、267件作品评定为“行星”级作品、330件作品评定为“卫星”级作品。","tags":["大学","新闻"]},{"title":"主题团日","url":"/2023/11/05/1.Archieve/主题团日/","content":"\n[[___大学]]\n\n\n\n主题团日相关材料省流\n你也可以到我的blog里面查看🥰\n**[XLXZ's BLOG](https://xiaolinxiaozhu.github.io/2023/11/05/主题团日/ \"XLXZ's BLOG\")**\n\n{% markmap height [depth] %}\n\n# 主题团日活动\n\n## 附件1\n\n### 主题解析\n\n- 1.党的传承\n\n\t- 各支部可组织团员青年学习、宣传党的二十大精神,进行党史学习,开展宣讲活动;组织社会实践,如走进红色实践地、访谈红色人物等活动;创新活动形式,如演唱红歌、表演红色话剧等,引导团员青年分享红色感悟、坚守红色信念、体悟红色精神。\n\n- 2.科技创新\n\n\t- 各支部可组织团员青年参与“求是杯”大学生课外学术科技作品竞赛、“科技强国”大学生创意作品竞赛、“创新驱动”青年科普作品竞赛、大学生科技节等青年创新创业活动,要积极组织支部成员参与各类科研竞赛,开展科技创新活动,不断提高创新创业素养与能力;调研我校历年来取得的重大科技创新成果;走进与专业有关的行业企业、科研院所开展调研,深入科研一线开展学习实践,面对面与优秀科技工作者深入交流,充分发掘各行业科技创新前沿中的中国故事和学校故事,在实践中强化爱国之志,激发爱国之情,坚定科技报国的理想信念。\n\n- 3.医疗,健康类科普\n\n\t- 各支部,特别是医学专业支部,可组织团员青年结合自身专业特色开展相关实践,可组织团员青年开展健康普查、流行性疾病防治、医学知识普及、应急知识宣教、巡回医疗、乡(村)医疗站建设、基层卫生人员培训等服务活动,提高人民群众对突发公共卫生事件认知水平和预防自救互救能力,为建设健康中国,增进人民健康福祉贡献青春力量。\n\n- 4.组织志愿服务\n\n\t- 以支部为单位,组织动员团员青年聚焦扶贫支教、环境保护、社区治理、大型赛会等,鼓励结合所学专业开展志愿服务,\n\n\t- 如\n\n\t\t- 开展义诊志愿服务的医学类志愿服务、\n\n\t\t- 关注孤独症儿童社会康复的社会工作类志愿服务等\n\n\t\t- 开展法律援助和基层普法的法学类志愿服务\n\n- 5.民族团结\n\n\t- 各支部可组织团员青年走访调研,参观爱国主义、民族团结进步教育基地;开展特色宣传活动,引导广大团员学习了解民族团结故事、民族文化等并积极宣传民族团结思想,传播民族特色文化,为推进民族团结进步事业贡献青春力量。\n\n- 7.文化自信自强\n\n\t- 各支部可组织团员青年通过了解非遗知识、展演民俗风情、制作文化宣传短视频、开展文化艺术下乡等方式弘扬优秀传统文化;创新多媒体艺术、利用新媒体平台推广创意文化,让更多人了解中华文化,增强文化自信,坚定文化信仰。\n\n- 8.环境保护\n\n\t- 各支部可组织团员青年开展志愿服务,助力环境保护;从身边小事做起,积极践行绿色低碳的生活方式;积极参与节能降碳技术研发和推广应用;开展社会实践调查,了解环境保护现状,为生态文明建设建言献策;开展科普知识宣讲、普及生态环保理念,展现建设美丽中国的青春担当。\n\n- 9.社区活动,基层治理\n\n\t- 各支部可组织团员青年就近就便结对社区,以改善群众身边、房前屋后人居环境的实事小事为切入点,开展志愿服务等活动。也鼓励深入社区,围绕社区生态环保、红色物业、法治宣传等开展共同缔造社区调研等活动,了解民生民情,服务社区需求。\n\n- 10.学习榜样精神\n\n\t- 各支部可组织团员青年开展专题学习讨论、榜样践行活动,深入挖掘榜样事迹,弘扬榜样精神;前往实践地寻访,慰问抗战老兵、抗疫先锋、时代楷模、大国工匠等,争做时代先锋。 \n\n- 11.团支部自拟主题。\n\n\t- 各团支部根据自身专业特色及兴趣自拟主题,要求贴合专业内容,发挥专业优势。鼓励各团支部从小切口入手,从小事做起,将特色团日活动与支部成员学习、工作、生活紧密结合,发挥育人实效。\n\n## 附件2\n\n### 赛区\n\n- 第一赛区:\n\n\t- 软件学院\n\n\t- 新闻与信息传播学院\n\n\t- 材料科学与工程学院\n\n\t\t- A\n\n\t- 哲学学院\n\n\t- 电子信息与通信学院\n\n\t- 人工智能与自动化学院\n\n- 第二赛区:\n\n\t- 环境科学与工程学院\n\n\t- 法学院\n\n\t\t- A\n\n\t- 生命科学与技术学院\n\n\t- 光学与电子信息学院\n\n\t- 经济学院\n\n\t- 人文学院\n\n## 附件3\n\n### 特色团日重点事项说明\n\n- (一)特色团日活动\n\n\t- 开展时期为一学年\n\n\t- 所有新生团支部必须开展\n\n- (二)鼓励合办特色团日\n\n\t- 以合理开展活动为准则,合办支部不超过3个。各支部选择一个主题开展活动,鼓励创新,扩大特色团日活动影响力。\n\n- (三)加减分项\n\n\t- 1.投稿加分\n\n\t\t- 积极向“华中大理想青年”微信公众号投稿(内容关于特色团日活动开展)并被采用的团支部将给予0.3分总分加成,\n\n\t\t- 积极向“华科大团委组织部”官方QQ公众号投稿(内容关于特色团日活动开展)并被采用的团支部将给予0.1分总分加成。\n\n\t\t- 宣传负责人:周星雨1332764886@qq.com\n\n\t- 2.承办本科生校十佳特色团日答辩会\n\n\t\t- 获得0.5分总分加成\n\n\t\t- 由该院系进入答辩会的团支部平均分配。\n\n\t- 3.团支部提交有关其*寒假期间开展冬日暖阳活动*的证明(如视频、图片、文字材料等)\n\n\t\t- 校团委组织部将根据支部提交的材料进行评审,根据活动开展情况\n\n\t\t- 最高0.5分的加分\n\n\t- 4.迟交计划书、总结书扣0.5分,迟交其他材料扣0.3分,如发现伪造活动材料等情况,扣1分。\n\n- (四)宣传材料要求\n\n\t- 各团支部可根据自身的实际情况制作宣传横幅或者海报\n\n\t- 要求\n\n\t\t- 横幅右下方打印:“xx、xx、xx班团支部特色团日 主办方:校团委组织部”\n\n\t\t- 海报在合适的位置打印“主办方:校团委组织部”。\n\n## 附件4\n\n### 奖项设置\n\n- (一)个人奖项设置\n\n\t- 校团委组织部根据各院系推荐的优秀个人进行评审,评选出十位“特色团日活动优秀个人”。\n\n- (二)团支部奖项设置\n\n\t- 风标交流答辩会前十名获得“特团风标”称号,并颁发证书。\n\n\t- 校十佳特色团日答辩会前十五名获得“优秀特色团日”称号,并颁发证书。\n\n\t- 校十佳特色团日答辩会前十名获得“十佳特色团日”称号,并颁发证书。\n\n- (三)本科生赛区奖项设置\n\n\t- 依据各赛区内入围校十佳答辩会的团支部占所在赛区支部数量比例进行优秀赛区评选,排名前两名的赛区获得“优秀赛区奖”,奖项由赛区内各院系共享。获得“优秀赛区奖”的赛区,赛区负责人所在院系团委组织部长年度考评中可获得加分。\n\n## 附件5\n\n### 活动计划书规范\n\n## 6.弘扬中华体育精神,推进体育强国建设。体育是提高人民健康水平的重要途径,是满足人民群众对美好生活向往、促进人的全面发展的重要手段,是促进经济社会发展的重要动力,是展示国家文化软实力的重要平台。党的二十大报告指出:广泛开展全民健身活动,加强青少年体育工作,促进群众体育和竞技体育全面发展,加快建设体育强国。各支部可组织团员青年开展体育知识科普讲座,宣扬中华体育精神;创新体育文化产品,助推体育文化产业融合发展;普及开展传统体育项目,挖掘运动项目文化精髓,助力体育强国建设。\n\n\n{% endmarkmap %}\n\n下拉菜单
\n\n# 主题团日活动\n\n## 附件1\n\n### 主题解析\n\n- 1.党的传承\n\n\t- 各支部可组织团员青年学习、宣传党的二十大精神,进行党史学习,开展宣讲活动;组织社会实践,如走进红色实践地、访谈红色人物等活动;创新活动形式,如演唱红歌、表演红色话剧等,引导团员青年分享红色感悟、坚守红色信念、体悟红色精神。\n\n- 2.科技创新\n\n\t- 各支部可组织团员青年参与“求是杯”大学生课外学术科技作品竞赛、“科技强国”大学生创意作品竞赛、“创新驱动”青年科普作品竞赛、大学生科技节等青年创新创业活动,要积极组织支部成员参与各类科研竞赛,开展科技创新活动,不断提高创新创业素养与能力;调研我校历年来取得的重大科技创新成果;走进与专业有关的行业企业、科研院所开展调研,深入科研一线开展学习实践,面对面与优秀科技工作者深入交流,充分发掘各行业科技创新前沿中的中国故事和学校故事,在实践中强化爱国之志,激发爱国之情,坚定科技报国的理想信念。\n\n- 3.医疗,健康类科普\n\n\t- 各支部,特别是医学专业支部,可组织团员青年结合自身专业特色开展相关实践,可组织团员青年开展健康普查、流行性疾病防治、医学知识普及、应急知识宣教、巡回医疗、乡(村)医疗站建设、基层卫生人员培训等服务活动,提高人民群众对突发公共卫生事件认知水平和预防自救互救能力,为建设健康中国,增进人民健康福祉贡献青春力量。\n\n- 4.组织志愿服务\n\n\t- 以支部为单位,组织动员团员青年聚焦扶贫支教、环境保护、社区治理、大型赛会等,鼓励结合所学专业开展志愿服务,\n\n\t- 如\n\n\t\t- 开展义诊志愿服务的医学类志愿服务、\n\n\t\t- 关注孤独症儿童社会康复的社会工作类志愿服务等\n\n\t\t- 开展法律援助和基层普法的法学类志愿服务\n\n- 5.民族团结\n\n\t- 各支部可组织团员青年走访调研,参观爱国主义、民族团结进步教育基地;开展特色宣传活动,引导广大团员学习了解民族团结故事、民族文化等并积极宣传民族团结思想,传播民族特色文化,为推进民族团结进步事业贡献青春力量。\n\n- 7.文化自信自强\n\n\t- 各支部可组织团员青年通过了解非遗知识、展演民俗风情、制作文化宣传短视频、开展文化艺术下乡等方式弘扬优秀传统文化;创新多媒体艺术、利用新媒体平台推广创意文化,让更多人了解中华文化,增强文化自信,坚定文化信仰。\n\n- 8.环境保护\n\n\t- 各支部可组织团员青年开展志愿服务,助力环境保护;从身边小事做起,积极践行绿色低碳的生活方式;积极参与节能降碳技术研发和推广应用;开展社会实践调查,了解环境保护现状,为生态文明建设建言献策;开展科普知识宣讲、普及生态环保理念,展现建设美丽中国的青春担当。\n\n- 9.社区活动,基层治理\n\n\t- 各支部可组织团员青年就近就便结对社区,以改善群众身边、房前屋后人居环境的实事小事为切入点,开展志愿服务等活动。也鼓励深入社区,围绕社区生态环保、红色物业、法治宣传等开展共同缔造社区调研等活动,了解民生民情,服务社区需求。\n\n- 10.学习榜样精神\n\n\t- 各支部可组织团员青年开展专题学习讨论、榜样践行活动,深入挖掘榜样事迹,弘扬榜样精神;前往实践地寻访,慰问抗战老兵、抗疫先锋、时代楷模、大国工匠等,争做时代先锋。 \n\n- 11.团支部自拟主题。\n\n\t- 各团支部根据自身专业特色及兴趣自拟主题,要求贴合专业内容,发挥专业优势。鼓励各团支部从小切口入手,从小事做起,将特色团日活动与支部成员学习、工作、生活紧密结合,发挥育人实效。\n\n## 附件2\n\n### 赛区\n\n- 第一赛区:\n\n\t- 软件学院\n\n\t- 新闻与信息传播学院\n\n\t- 材料科学与工程学院\n\n\t\t- A\n\n\t- 哲学学院\n\n\t- 电子信息与通信学院\n\n\t- 人工智能与自动化学院\n\n- 第二赛区:\n\n\t- 环境科学与工程学院\n\n\t- 法学院\n\n\t\t- A\n\n\t- 生命科学与技术学院\n\n\t- 光学与电子信息学院\n\n\t- 经济学院\n\n\t- 人文学院\n\n## 附件3\n\n### 特色团日重点事项说明\n\n- (一)特色团日活动\n\n\t- 开展时期为一学年\n\n\t- 所有新生团支部必须开展\n\n- (二)鼓励合办特色团日\n\n\t- 以合理开展活动为准则,合办支部不超过3个。各支部选择一个主题开展活动,鼓励创新,扩大特色团日活动影响力。\n\n- (三)加减分项\n\n\t- 1.投稿加分\n\n\t\t- 积极向“华中大理想青年”微信公众号投稿(内容关于特色团日活动开展)并被采用的团支部将给予0.3分总分加成,\n\n\t\t- 积极向“华科大团委组织部”官方QQ公众号投稿(内容关于特色团日活动开展)并被采用的团支部将给予0.1分总分加成。\n\n\t\t- 宣传负责人:周星雨1332764886@qq.com\n\n\t- 2.承办本科生校十佳特色团日答辩会\n\n\t\t- 获得0.5分总分加成\n\n\t\t- 由该院系进入答辩会的团支部平均分配。\n\n\t- 3.团支部提交有关其*寒假期间开展冬日暖阳活动*的证明(如视频、图片、文字材料等)\n\n\t\t- 校团委组织部将根据支部提交的材料进行评审,根据活动开展情况\n\n\t\t- 最高0.5分的加分\n\n\t- 4.迟交计划书、总结书扣0.5分,迟交其他材料扣0.3分,如发现伪造活动材料等情况,扣1分。\n\n- (四)宣传材料要求\n\n\t- 各团支部可根据自身的实际情况制作宣传横幅或者海报\n\n\t- 要求\n\n\t\t- 横幅右下方打印:“xx、xx、xx班团支部特色团日 主办方:校团委组织部”\n\n\t\t- 海报在合适的位置打印“主办方:校团委组织部”。\n\n## 附件4\n\n### 奖项设置\n\n- (一)个人奖项设置\n\n\t- 校团委组织部根据各院系推荐的优秀个人进行评审,评选出十位“特色团日活动优秀个人”。\n\n- (二)团支部奖项设置\n\n\t- 风标交流答辩会前十名获得“特团风标”称号,并颁发证书。\n\n\t- 校十佳特色团日答辩会前十五名获得“优秀特色团日”称号,并颁发证书。\n\n\t- 校十佳特色团日答辩会前十名获得“十佳特色团日”称号,并颁发证书。\n\n- (三)本科生赛区奖项设置\n\n\t- 依据各赛区内入围校十佳答辩会的团支部占所在赛区支部数量比例进行优秀赛区评选,排名前两名的赛区获得“优秀赛区奖”,奖项由赛区内各院系共享。获得“优秀赛区奖”的赛区,赛区负责人所在院系团委组织部长年度考评中可获得加分。\n\n## 附件5\n\n### 活动计划书规范\n\n## 6.弘扬中华体育精神,推进体育强国建设。体育是提高人民健康水平的重要途径,是满足人民群众对美好生活向往、促进人的全面发展的重要手段,是促进经济社会发展的重要动力,是展示国家文化软实力的重要平台。党的二十大报告指出:广泛开展全民健身活动,加强青少年体育工作,促进群众体育和竞技体育全面发展,加快建设体育强国。各支部可组织团员青年开展体育知识科普讲座,宣扬中华体育精神;创新体育文化产品,助推体育文化产业融合发展;普及开展传统体育项目,挖掘运动项目文化精髓,助力体育强国建设。\n\n\n
\n\n \n
\n ```\n \n 这里运用了一个特性,在markdowm渲染器中,没有不显示这一种渲染方式,所以可以实现在markdown编辑器中实现预览。\n\n 而在网页端,下方代码内部的文本将不会被显示。可以避免出现一个碎掉的图片影响感官。\n\n{% asset_img xxxx.png \"xxxx\" %}\n\n\n\n
\n\n```\n\n- #### 首行缩进\n 在markdowm中空格会被忽略而tab键是用来设置文本的缩进的。\n 故需要使用` `来代替实现首行缩进。比如这段文本:\n\n ```markdown\n 在markdowm中空格会被忽略而tab键是用来设置文本的缩进的。\n 故需要使用` `来代替实现首行缩进。\n\n ```\n\n- #### 有关于markdown的一些其他的基础写法可以查看官网:\n [markdown官网手册](https://markdown.com.cn/cheat-sheet.html#%E6%80%BB%E8%A7%88)\n\n\n\n### 二、hexo支持的写法\n\n 实际上使用markdown就已经可以实现大多数的功能,但是下面的几个功能我认为是比较重要且只能使用hexo实现的。\n\n- #### 显示资源里面的图片\n将图片放到和blog相同名称的文件夹内,然后使用\n`{% asset_img XXXX.png \"XXXX\" %}`\n就可以在网站中显示图片了(但是在markdown中不显示)\n\n- #### xmind显示插件\n```markdown\n这里一定要空一行\n{% markmap height [depth] %}\n\n### 使用和markdown一样的语法\n#### 还可以实现子分叉\n\n- 还有分条列点\n- 1\n- 2\n - 2.1\n - 2.2\n - 2.2.1\n - 2.2.2\n\n{% endmarkmap %}\n这里一定要空一行\n```\n\n显示效果如下:\n\n{% markmap height [depth] %}\n\n### 使用和markdown一样的语法\n#### 还可以实现子分叉\n\n- 还有分条列点\n- 1\n- 2\n - 2.1\n - 2.2\n - 2.2.1\n - 2.2.2\n\n{% endmarkmap %}\n\n建议配合下拉菜单显示原文使用,方便检索和查看原文\n\n~~~html\n\n01背包是一种动态规划问题。动态规划的核心就是状态转移方程,本文主要解释01背包状态转移方程的原理。
\n01背包问题可描述为如下问题:
有一个容量为V的背包,还有n个物体。现在忽略物体实际几何形状,我们认为只要背包的剩余容量大于等于物体体积,那就可以装进背包里。每个物体都有两个属性,即体积w和价值v。
问:如何向背包装物体才能使背包中物体的总价值最大?
我在第一次做这个题目时考虑的是贪心算法。所谓贪心问题,就是每一步决策都采取最优解,按照此方案最后结果也是最优解。
为什么这个问题不能用贪心呢?
举个例子
我的背包容量为10,而且有4个物体,它们的体积和价值分别为
w1 = 8, v1 = 9
w2 = 3, v2 = 3
w3 = 4, v3 = 4
w4 = 3, v4 = 3
贪心是每一步采取最优拿法,即每一次都优先拿价值与体积比值最大的物体
c1 = v1/w1 = 1.125(最大)
c2 = v2/w2 = 1
c3 = v3/w3 = 1
c4 = v4/w4 = 1
所以优先拿第一个物体,随后背包再也装不下其他物体了,则最大价值为9。
但是这个问题的最优解是取物体2,3,4装进背包,最大价值为3+4+3=10!!!
所以这个问题不可以用贪心法来处理。
01背包的状态转移方程为
`f[i][j] = max(f[i - 1][j], f[i - 1][j - w[i]] + v[j])
i代表对i件物体做决策,有两种方式—放入背包和不放入背包。
j表示当前背包剩余的容量。
转移方程的解释:
创建一个状态矩阵f,横坐标 i 是物体编号,纵坐标 j 为背包容量。
首先将 f 第0行和第0列初始化为0 (代码里面将整个f初始化为0了,其实只初始化第0行和第0列就够了)。这个表示不放物体时最大价值为0 。(物体编号从1开始)
接下来依次遍历f的每一行。如下所示。
for (int i = 1; i <= n; i++) |
如果背包装得下当前的物体,在遍历过程中分别计算第i件物体放入和不放入背包的价值,取其中大的做为当前的最大价值。
如果背包装不下当前物体那么第i个物体只有不放入背包一种选择。
不放入背包时:第i次决策后的最大价值和第i-1次决策时候的价值是一样的(还是原来的那些物体,没多没少)。
放入背包时:第i次决策后的价值为 第i-1次决策时候的价值 加上 当前物体的价值v[j]。物体放入背包后会使背包容量变为 j ,即没放物体之前背包的容量为j - w[i]。
#include <iostream> |
|
当 该文件存在 && asscess_folder功能打开,hexo渲染网页的时候将会把与post名称相同的文件夹给同步加载。
\n配合我自己编写的 hexo-xlxz-imageRedirect 插件,可以将所有的形如
的图片重定向到3.Source文件夹下,这样的话以后直接复制图片到obsidian中之后就可以同时在hexo上显示了~
# C++
[[___未完成]]
在C++里很多时候我们会遇到函数想返回两个以上结果的情况,这时候可以用数组(vector)、类来作为容器返回,也可以声明一个全局变量的数组,将数值存放在数组里解决。
\n第一个方式是使用引用来解决,将vector的引用在函数间传递
这是一个例子,假设我要传入一个数,我的函数的功能是返回这个数后面十个数的序列。
using namespace std;
\n/
输入一个数,返回这个数后面的十个数字序列
注意参数的这个 & 符号不能省略\n/
void getSequence(int num,vector
for(int i=0;i<10;i++){
sequence.push_back(i+num);
}
}
int main(){
int num=9;
vector
//在主调函数这边,直接传入该vector变量
getSequence(num,sequence);
//访问该vector的值的时候,也是直接访问即可
for(vector
cout<<*it<<endl;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
第二个方式是返回vector变量
在被调用函数中声明一个vector变量,函数结束的时候返回vector变量
但是这样的传参方式我有一个不太理解的地方,既然vector变量是在被调函数中声明的,就应该是一个局部变量,在被调函数执行完毕之后这部分空间应该会被销毁,这个变量就无法访问到了,莫非vector是在堆空间开辟的地址?然后返回的其实是指向堆空间vector的指针?
vector
vector
for(int i=0;i<10;i++){
sequence.push_back(i+num);
}
return sequence;
}
int main(){
int num=9;
vector
//在主调函数这边,只传入num
sequence=getSequence(num);
//访问该vector的值的时候,也是直接访问即可
for(vector
cout<<*it<<endl;
}
}
# C++
[[___未完成]]
运算符的重载,实际是一种特殊的函数重载,必须定义一个函数,并告诉C++编译器,当遇到该运算符时就调用此函数来行使运算符功能。这个函数叫做运算符重载函数(常为类的成员函数)。
用函数的方式实现了(+ - * / []数组 && || 逻辑 等)运算符的重载。根据需求决定重载那些运算符,用到的时候再百度案例即可。
返回值类型 类名::operator重载的运算符(参数表)
{
……
}
operator是关键字,它与重载的运算符一起构成函数名。
\n1.类内重载
\n#include <iostream> |
运行结果:x : 7 y : 7
\n重点:运算符重载是类内重载时,运算符重载函数作为类的成员函数,以上述代码为例 a + b 相当于 a 对象调用+方法并且传入参数时 b 对象。
\n2.类外重载(用友元函数的方法实现)
\n#include <iostream> |
1.插入运算符重载>> and 提取运算符重载<<
以提取运算符重载<<为例,cout 是 ostream 类的对象。ostream 类和 cout 都是在头文件 中声明的。ostream 类将<<重载为成员函数。
下面我们重载 << 使用cout输出a对象
\n#include <iostream> |
输出结果:< Point>( 7, 7)
重点:另外应该会有人对ostream &operator<<(ostream &out , const Point &a)函数感到疑惑,首先在重载<<时,返回值类型是ostream&, 第一个参数也是ostream& 。也就是说,表达式cout<<c的返回值仍是 cout,所以cout<<c<<endl;才能成立。
2.前置运算符重载++ and 后置运算符重载++
重点:为区别前置和后置运算符,C++编译器要求,需要在后置运算符重载函数中加参数“int”,这个类型在此除了以示区别之外并不代表任何实际含义;如果不加,编译器无法区分是前置++,还是后置++,导致报错。
#include <iostream> |
3.=等号运算符重载
C++中,对类对象进行操作时,我们就不能只是简简单单地,对类对象用=进行操作。
当我们没有自己设计等号运算符的重载函数,编译器会自动生成一个浅拷贝的赋值运算符的重载函数。
浅拷贝:只是简单地将一个对象的内存数据赋值给另一个对象,如果这个对象成员变量引用了外部资源时(new),那么这两个对象的成员变量都指向这个空间,当这两个对象生存周期结束时,进行析构,那么就会崩溃,对同一块内存我们delete了两次。
#include <iostream> |
C++运算符重载(类内、外重载)_类外重载运算符++-CSDN博客
\n","tags":["编程","Cpp"]},{"title":"C++ 数组(vector)常用操作总结","url":"/2023/12/08/C++%20%E6%95%B0%E7%BB%84%EF%BC%88vector%EF%BC%89%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C%E6%80%BB%E7%BB%93/","content":"\n目录
\n1、vector对象的定义和初始化方式
2、vector 常用基础操作
3、使用迭代器的遍历、插入、删除操作
4、vector 元素的重排操作(排序、逆序等)
\n5、vector 中找最值
\n6、改变vector大小 及其 内存分配机制
\n7、vector数组 与 内置数组 的选择问题
\n常用的初始化方式及作用如下:
\nvector 中的数据类型 T 可以代表任何数据类型,如 int、string、class、vector(构建多维数组) 等,就像一个可以放下任何东西的容器,因此 vector 也常被称作容器。字符串类型 string 也是一种容器,c++ 中的不同种类的容器拥有很多相同的操作,因此 string 的很多操作方法可以直接用在 vector 中。
\nvector<T> \nv1 | v1 是一个元素类型为 T 的空 vector |
vector<T> \nv2(v1) | 使用 v2 中所有元素初始化 v1 |
vector<T> \nv2 = v1 | 同上 |
vector<T> \nv3(n, val) | v3 中包含了 n 个值为 val 的元素 |
vector<T> \nv4(n) | v3 中包含了 n 个默认值初始化的元素 |
vector<T> \nv5{a, b, c...} | 使用 a, b, c... 初始化 v5 |
vector<T> \nv1 | 同上 |
vector<vector<int>> \nmatrix(M,vector<int>(N)); | 二维数组初始化 |
下表列出了 添加元素、查询、索引、赋值、比较 等常用操作方法。
\nv.empty() | 如果 v 为空则返回 true,否则返回 false |
v.size() | 返回 v 中元素的个数 |
v.push_back(val) | 向 vector 的尾端添加值为 val 的元素。 注意:vector 不支持 push_front 操作。 |
v.pop_back(val) | 删除尾元素,返回void。vector同样 不支持 pop_front 操作。若想在同时弹出元素的值,就必须在执行弹出之前保存它(可以使用 v.back())。 |
v[n] | 返回 v 中第 n 个位置上元素的引用,不能用下标操作添加元素 |
v.back() | 返回 v 中最后一个元素的引用 |
v.front() | 返回 v 中第一个元素的引用 |
v1 = v2 | 用 v2 中的元素替换 v1 中的元素 |
v1 = {a, b, c...} | 用元素 {a, b, c...} 替换 v1 中的元素 |
v1 == v2 | 当且仅当拥有相同数量且相同位置上值相同的元素时,v1 与 v2 相等 |
v1 != v2 | 自行体会 |
<, <=, >, >= | 以字典序进行比较 |
迭代器类似于指针,提供了对象的间接访问,但获取迭代器并不是使用取地址符。如果将指针理解为元素的“地址”,那么迭代器可以理解为元素的“位置”。可以使用迭代器访问某个元素,迭代器也能从一个元素移动到另一个元素。
\n一个迭代器的范围由一对迭代器表示,分别为 begin 和 end。其中 begin 成员返回指向第一个元素的迭代器;end 成员返回容器最后一个元素的下一个位置(one past the end),也就是指向一个根本不存在的尾后位置,这样的迭代器没什么实际含义,仅是个标记而已,表示已经处理完了容器中的所有元素。所以 begin 和 end 表示的是一个左闭右开的区间 [ begin , end)
\n迭代器可以用来实现容器的遍历、插入等操作,可以细品下面的例子:
\n1、遍历
\n#include <iostream> |
2、插入
\n插入操作的函数:
\nv.insert(p, n, val) :在迭代器 p 之前插入 n 个值为 val 的元素,返回新添加的第一个元素的迭代器。
\n#include <iostream> |
3、删除
\n删除操作的函数:
\nv.erase(p) :删除迭代器 p 所指的元素,返回指向被删除元素之后元素的迭代器。
\nv.erase(b, e) :删除迭代器 b, e 之间的元素,返回指向最后一个被删除元素之后元素的迭代器。
\n#include <iostream> |
容器的重排需要用到头文件 <algorithm>
中的算法
1、排序 sort()
\n使用到的函数为 sort() :按输入序列的字典序升序排序,原位操作,无返回值函数原型:
\nvoid std::sort<std::vector<int>::iterator>(std::vector<int>::iterator, std::vector<int>::iterator) |
举例:
\n#include <iostream> |
2、消除相邻的重复元素 unique()
\n使用到的函数为 unique() :将输入序列相邻的重复项“消除”,返回一个指向不重复值范围末尾的迭代器,一般配合 sort() 使用,函数原型:
\nstd::vector<int>::iterator |
举例:
\n#include <iostream> |
3、逆序 reverse()
\n方法1:使用到的函数为 reverse**()** :将输入序列按照下标逆序排列,原位操作,无返回值函数原型:
\nvoid std::reverse<std::vector<int>::iterator>(std::vector<int>::iterator, std::vector<int>::iterator) |
方法2:使用 greater<int>()
作为参数(内置函数)
sort(nums.begin(), nums.end(), greater<int>()); |
举例:
\n#include <iostream> |
容器的重排同样需要用到头文件 <algorithm>
中的算法。
1、最大值 auto it = max_element(v.begin, v,end()),返回最大值的迭代器,函数原型如下:
\nconstexpr std::vector<int>::iterator std::max_element<std::vector<int>::iterator>(std::vector<int>::iterator, std::vector<int>::iterator) |
2、最小值 auto it = min_element(v.begin, v,end()),返回最小值的迭代器,函数原型如下:
\nconstexpr std::vector<int>::iterator std::min_element<std::vector<int>::iterator>(std::vector<int>::iterator, std::vector<int>::iterator) |
3、相对位置大小 auto b = distance(x, y),x、y 是迭代器类型,返回 x、y 之间的距离,可以用来获取最大/小值的索引,函数原型如下:
\nstd::ptrdiff_t std::distance<std::vector<int>::iterator>(std::vector<int>::iterator __first, std::vector<int>::iterator __last) |
举例:
\n#include <iostream> |
与内置数组一样,vector 的所有元素必须存放在一片连续的内存中,但 vector 的大小可变性使得其所占用的内存大小也是可变的。
\n为了避免每次改变 vector 时重新分配内存空间再将原来的数据从新拷贝到新空间的操作,标准库实现者采用了减少容器空间重新分配次数的策略:当不得不获取新空间时,vector(string 也是如此)通常会分配比需求更大的空间作为预留的备用空间,这样就减少了重新分配空间的次数。
\n举例:
\n#include <iostream> |
一般来说,我们在使用 C++ 编程时会将 vector 类型的数据与类似于使用 a[N] 定义的内置数组统称为数组,两者是很类似的数据结构,在一般的任务中使用 vector数组 与使用内置数组通常没有什么区别。两者的区别主要如下:
\n如果不确定元素的确定个数,那么 vector 就是最好的选择。
\n","tags":["编程","Cpp"]},{"title":"C++:生成的exe文件如何传参数到main中","url":"/2024/02/15/C++%EF%BC%9A%E7%94%9F%E6%88%90%E7%9A%84exe%E6%96%87%E4%BB%B6%E5%A6%82%E4%BD%95%E4%BC%A0%E5%8F%82%E6%95%B0%E5%88%B0main%E4%B8%AD/","content":"# C++
### argc和argv是什么
C/C++语言中的main函数,经常带有参数argc,argv,如下:
\n
|
这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,运行命令为:
\nhello.exe Shiqi Yu |
那么,argc的值是 3,argv[0]是”hello.exe”,argv[1]是”Shiqi”,argv[2]是”Yu”。
\n下面的程序演示argc和argv的使用:
\n#include <stdio.h> |
假如上述代码编译为hello.exe,那么运行
\nhello.exe a b c d e
将得到Argument 0 is hello.exe.
Argument 1 is a.
Argument 2 is b.
Argument 3 is c.
Argument 4 is d.
Argument 5 is e.
运行
hello.exe lena.jpg
将得到Argument 0 is hello.exe.
Argument 1 is lena.jpg.
# 游戏设计
### COCOON:开关开-类机关
这个可以说是COCOON中最基础的解密构成元素,最基础的结构。
\n最本质的特征就是A控制甲的上下,甲的上下又可以在甲上控制,玩家需要先使用A将甲移动过来,之后就能够自由使用甲
\n\n\n比如:
\n————-= —-甲—— =——————
\n
—————-A-
先使用a将甲移过来,然后就可以自由的使用甲。
\n这样的机关的最大的优势就是
\n今天游玩通关了COCOON这款游戏,真的是精妙绝伦。
\n整个游戏中没有一个文字的描述,却总是能够让人在谜题之中找到方向,其中包含了十分巧妙地引导以及十分优秀的谜题设计。
\n游戏在画风上采用的是低多边形画风,简单但不简陋,在此基础之上构建起了四个各有特色的世界,以及每个世界不太一样的解密巧思。
\n\n每个球都是一个世界球,可以分别在特殊的装置上进行进入和退出,在此之上就创造除了类似于parade box的烧脑解密的效果。
\n每个世界不太一样的解密巧思:
\n这样的优点是帮助玩家建立起良好的解密逻辑,而不会思考一个机关到底需要使用什么球,并且在玩家进入新的世界的时候可以拥有不同的解密体验。
\n更为难得可贵的是,游戏中还将这四个世界中的不同的机制进行了串联,使得玩家在游玩过程中不是”用完就抛“,而是仍然需要在后续的解密中利用特性。
\n在这款游戏中,没有一个文字的引导,所有的按键只有上下左右移动 和 一个空格交互键,但是却清晰明了地将游戏中的信息传递给了玩家,我认为其中比较重要的有一下几点特征。
\n想要设计一个优秀的游戏引导,首先需要做的就是掘弃这些有害的因素,而是使用其他的引导方式
\n在需要吸引玩家的装置之上设计特殊的图案,花色,或者颜色。也可以在场景上铺设特殊的地板来引导玩家前进的方向
\n在游戏中,需要设计简明统一的设计语言。玩家可以一眼就看出来哪个部分属于机关,哪个地方属于设计的场景。及时是到了一个全新的世界球,游戏中的设计语言也应当是一致,且便于玩家解读的。
\n想要使得玩家可以获得良好的游戏体验,就应当摒弃冗余的选项,让游戏中的物件处于”存在必有其他的道理“的认知中。
\n有些游戏会设计一些冗余的选项给予玩家做出选择,或者说给出10个交互点但是其中只有3个是关键的。游戏不需要这样的设计,这样的设计只会让玩家感到困惑。
\n或许有人会说”冗余选项是为了丰富故事背景而设计的“,我认为,如果这是为了丰富故事背景而所必需的,那么为什么不将其设计进游戏的正确选项或者解密途径中呢?
\n相反,鲜明确定的”设计这个东西必然有其的道理“的想法,同时在玩家和策划的脑中树立时,可以更好的让玩家感受到游戏设计中的巧思。同时,玩家也不会被误导而是对游戏存在一个”应然-实然“的配对,从而产生掌控感和成就感。
\n在游戏中,游戏的谜题设计需要符合人的直觉逻辑。但是这并不意味着全部的关卡需要设计的很简单,我个人认为,优秀的谜题设计有两种:
\n这个简单而妙实际上就是符合人的认知逻辑。
\n\n\n[!example]
\n\n
\n- 当我们看见一个想要我们输入密码的地方,直觉的想法就是:
\n\n
\n- 到周围看看
\n
然后这个时候,你就能找到答案。\n
\n- 再比如说,后面更近一步,你看到超出视野外的东西,但是它底下有一摊水,那么很自然的:
\n\n
\n- 你会想到通过移动,想办法在水中的倒影中找到它。
\n\n
\n- 实际上,小小梦魇中使用电线作为线索同样是使用了人的固有认知作为条件进行解密
\n
将每一段解密的长度进行简化,玩家一次性只需要解决一个谜题,谜题和谜题之间的阶段性将会需要被强调。
\n解密中不需要存在什么这里的道具需要在另一个地方使用,另一个道具需要在这里使用这样的干瘪的串联结构,取而代之的是核心玩法的贯彻始终。
\n这样的话玩家可以明确知道自己完成目标的途径和范围。
\n","tags":["游戏体验日记"]},{"title":"C++:windows消息windowsToast的使用","url":"/2024/02/15/C++%EF%BC%9Awindows%E6%B6%88%E6%81%AFwindowsToast%E7%9A%84%E4%BD%BF%E7%94%A8/","content":"\nwindowsToast是一个集成了window的toast消息提醒的第三方c++库,可以十分便捷地在windows下显示toast消息提醒。
\n如果担心冲突的话就导入之后在每一条wintoast的命令前面加上wintoastlib::
即可,但是我无所谓,所以说直接导入后加using namespace std;
一般还需要包含windows库,所以说一并加入
\n#include <string> |
ToastHandler定义了当展示的toast消息接受不同的响应之后所执行的命令,通过继承IWinToastHandler
我们可以自定义自己想要的响应程序。
查看IWinToastHandler
的定义我们得知其有以下几种状态:
class IWinToastHandler { |
对于这些未定义的虚函数,我们对其继承并且加以定义:class MyToastHandler : public WinToastLib::IWinToastHandler {
public:
void toastActivated() const {
std::cout << "The user clicked in this toast" << std::endl;
exit(0);
}
void toastActivated(int actionIndex) const {
std::cout << "The user clicked on action #" << actionIndex << std::endl;
exit(16 + actionIndex);
}
void toastDismissed(WinToastDismissalReason state) const {
switch (state) {
case UserCanceled:
std::cout << "The user dismissed this toast" << std::endl;
exit(1);
break;
case TimedOut:
std::cout << "The toast has timed out" << std::endl;
exit(2);
break;
case ApplicationHidden:
std::cout << "The application hid the toast using ToastNotifier.hide()" << std::endl;
exit(3);
break;
default:
std::cout << "Toast not activated" << std::endl;
exit(4);
break;
}
}
void toastFailed() const {
std::wcout << L"Error showing current toast" << std::endl;
exit(5);
}
};
我们也可以对于这些响应写出更为复杂的交互逻辑,但是在这里仅仅展示不同情况输出不同内容提示的代码。
\nWinToastTemplate
可以理解为所需要展示的消息提示的具体内容,下面是一个简单的函数示例,包含了从初始化定义到自定义格式和内容
static void ShowNotification(std::wstring& appName, std::wstring& firstLine, std::wstring& secondLine, std::wstring& imagePath,std::wstring& hero_imagePath) { |
更多的消息提示样式可以看看作者的库里面写的说明:
mohabouje/WinToast(github.com)
或者可以看看这位大佬写的示例:
C++: Windows Toast Notification - CodeProject
使用这种方式创建消息提醒有一个缺点,就是创建出来的命令提示符的黑框会一直保持到消息消失,十分的丑。
\n所以说可以选择使用bat的start /b
间接启动,来使得黑框最小化:
start /b "" E:\\AgencyProxyTools\\messageBox.exe |
mohabouje/WinToast(github.com)
\nC++: Windows Toast Notification - CodeProject
\nC++ WIn10 通知:WinToast_c语言调用win10操作中心发送通知-CSDN博客
\n","tags":["编程","Cpp"]},{"title":"bat:start命令的使用方法的详细说明、参数列表","url":"/2024/02/15/bat%EF%BC%9Astart%E5%91%BD%E4%BB%A4%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E7%9A%84%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E%E3%80%81%E5%8F%82%E6%95%B0%E5%88%97%E8%A1%A8/","content":"\nstart 命令用于在新窗口中启动应用程序、命令或批处理文件。使用 start 命令时,可以指定要启动的程序的路径和命令行参数。下面是 start 命令的基本语法:
\nstart ["title"] [/d path] [/i] [/min] [/max] [/separate | /shared] [/low | /normal | /high | /realtime] [/wait] [/b] [command/program] [parameters] |
其中,方括号表示可选参数。下面是各个参数的详细说明:
\n下面是一些示例,演示如何使用 start 命令启动不同类型的应用程序:
\nstart notepad.exe |
start calc.exe |
start iexplore.exe "http://www.example.com" |
start wmplayer.exe "C:\\Users\\UserName\\Music\\Sample.mp3" |
start cmd.exe |
start powershell.exe |
除了启动应用程序外,start 命令还可以启动批处理文件。例如,可以创建一个名为 “test.bat” 的批处理文件,其中包含以下命令:
\nstart notepad.exe |
然后在命令提示符中执行以下命令来运行该批处理文件:
\ntest.bat |
这将启动记事本程序。
\n\n【BAT】有关 Bat 中 start 命令的使用方法的详细说明、参数列表和示例_bat start-CSDN博客
\n","tags":["编程","bat"]},{"title":"CRPG中的硬检定与软检定之间的关系","url":"/2024/03/06/CRPG%E4%B8%AD%E7%9A%84%E7%A1%AC%E6%A3%80%E5%AE%9A%E4%B8%8E%E8%BD%AF%E6%A3%80%E5%AE%9A%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB/","content":"\n建议游玩过相关作品之后再来分析学习
\n\n在bat中可以使用start打开其他应用而不阻塞当前进程,常见的用法有以下几种
\nstart "程序框名字" "要启动的应用的位置"
直接在启动应用的位置后面加即可,例如:start /b "" E:\\AgencyProxyTools\\messageBox 0
在start后面加上/min
即可
在start后面加上/b
即可,此时start启动的应用会在其他进程运行,但是输出的结果会保持在同一对话框内
可以考虑间接调用:
\n%a.bat% |
%openClash.bat% |
a.bat -> openClash.bat -> clash.exe
\n这样的话clash就不会随着a.bat而结束了
\n\n本插件可以将 obsidian 或者其他软件中使用 wiki引用模式1 转化为 markdown引用,从一个统一的文件夹里面读取图片。
\n\n\nhexo本身支持的通过assess_img 标签引用方式并不美观,并不能正常在obsidian中展示图片
\n即使通过插件 hexo-assess-img 修正,也需要在post文件夹下新建十分多的文件夹,当post过多时不便于管理,而且也十分不美观
\n同时,使用本插件可以配合obsidian自动保存pasted_img(粘贴的图片时自动在本地保存图片),将图片同步到hexo中,且能够正常显示。
\n
[1]: 即 使用 ![[filename]]
展示引用,而不是markdown默认引用 
下面是一些进阶的功能以及使用案例:
\n使用[[___tagname]]
创建索引到对应tag页面的链接,例如:
注意,后括号后面一定要是换行,在渲染的时候才会被正常识别(为了避免冲突)
[[___hexo]] |
使用![[imgname]]side
来创建![[imgname]]side
测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字
使用![[imgname]]side111
来创建![[imgname]]side200
测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字测试文字
使用![[imgname]]name
来创建(好像有一点点问题)![[imgname]]name
hexo根目录\\node_modules
下 _config.yml
,修改如下:render_drafts: false |
_post
文件夹里面新建一个3.Source
文件夹和一个名为3.Source.md
的markdowm文件(这样的话构建hexo时会将3.Source文件夹一并上传)$ hexo clear |
3,Source.md
不然,文件夹将不会被生成在hexo里面3.Source
文件夹,这样的话,就可以支持【MC Mod开发】边睡觉边开发mod:初级Mod制作教程_哔哩哔哩_bilibili
\n我是跟着这个开始学习mod制作的,这里主要是用来记录我遇到的坑
首先你需要这三样东西:
\n其中在这里我们并没有选择使用forge提供的样例进行开发,而是使用了IDF作为模板进行二次开发,这样的话更加便捷。
\n\n接下来在逐一安装了这些东西之后,就可以准备开始构建了,
\n1_其一_setupDecomp_请先运行此脚本_再打开IDE.bat
大概率会报错,但是不要担心,你可以尝试以下方式:
\ngradle.properties
,这里面存储的是下载资源的镜像站,如果下载不了可能是镜像挂了gradlew.bat setupDecompWorkspace genIntellijRuns
其实只需要看看bat文件里面的代码就知道执行这个的意图了:
\n@echo off |
前面就是更改了一下编码方式,检测了一些东西,最终还是call了这个命令:·gradlew.bat setupDecompWorkspace genIntellijRuns
(这个命令大概就是将其中的内容进行编码)
gradlew.bat setupDecompWorkspace |
确保你已经输入完这两个指令了之后,将IDF在IDEA中打开,然后你就可以跟着教程做下一步的更改了
\n# mcmod 1
因为附魔不需要画贴图,所以说我们将其作为我们的第一个mod
首先肯定就是创建声明,使得我们的mod能够正常被挂载
\n\n\n\n这个文件夹貌似是用来显示mod信息的文件
\n
其中modid用于匹配名称和说明,这个文件并不是必要的文件
这里需要更改的地方挺多:
\n将包名更改为com.XLXZ.modid
\n比如下面:
\n\n然后再在框架中更改modid和name:
\n这里有一个十分大的大坑,报错如下: |
对着抄就可以了,对应的位置在:IdeallandFramework-master\\src\\main\\java\\com\\XLXZ\\testmod\\enchantments
//Example Enchant |
Enchantment.Rarity.UNCOMMON
指的是稀有程度EnumEnchantmentType.WEAPON
指的是附魔类型mainHand
设置是主手还是副手效果 此处注意需要导入EnumEnchantmentType
对应的头文件
另外,可以在src/lang中设置语言翻译,完成之后效果如图:
\n# frxy 1
这个笔记用于记录我的游戏的反思……
我玩的时候总是感觉普贤的大招威胁性不大……
\n一方面是我大招的角度不太行,另外一方面,或许瞄准也有一定的小技巧?
\n被动打出来打的不是很利落,别人踩到被动总是能十分连续地一连串普工出来,但是如果换做我,我总是感觉我要慢一点
\n精卫打野,说白了精卫是属于一个:半开人、半持续输出地一个位置,虽然说精卫较一般的同样定位的打野来说手长,但是她还有几个致命缺陷:不够灵活,输出不够稳定。所以说其实她在团战中的地位实际上是属于次要补伤害的位置,真正的输出的开人抗伤大头还得看队友……
\n我们也可以从榜九打野精卫做的是冰拳侧面印证这一点。
\n\n前面那个我觉得可能sai2能用,lua可以在菜鸟教程找到安装方式:Lua 环境安装 | 菜鸟教程 (runoob.com)
\n这些东西都由以下几个部分组成
\n在lang文件更改名称:item.testmod_item.name=display testmod_item #显示名称
item.testmod_item.desc=display testmod_item desc #描述功能
#item是物品
#tile是方块*方块不自带描述功能
在ModItems、ModBlock中添加public static final Item testmod_block = new ItemBase("test_block");
public static final Block testmod_item = new BlockBase("test_item",Material.材质之一);
IDF提供了一个较为便捷的一键生成功能,你只需要在GenBlockJson.lua中填好你的modid 和物品的名称并且调用相关函数即可自动化生成
\npython中hex内置函数无法将生成的16进制码自动补0,比如说:print(hex(2))
0x2 #输出
print(hex(25225842))
0x180ea72
print(hex(255842))
0x3e762
很明显,这个一点都不好便于后续处理,我们总喜欢规整的嘛,全是总共8位的16进制就是32位数,就像:0x00112233
0x12345678
通过多次查资料和尝试,得到如下: def myhex(n):
return "".join(f"0x{n:08x}")
# mcmod 1
我的世界的配方使用json进行配置,json的名称没有硬性要求,但是建议与产物相关
实际上,只需要照着IDF框架给出的示例进行改编即可
\n\n重点在于练习能够处在内在感知和外在感知轴上的任意位置,这样可以习得“分离性”并跨越大脑。
\n\n\n你的头脑实际上是可以根据你的视觉系统和时空领域相互交错的方式,被设置在某一个特定的时空位置的 。
\n在看赛跑的时候,如果你站在远处看,你会觉得整体都很慢,但是凑近了就会觉得很快。
\n这一方面是因为人类的视觉系统所带来的差异,而另外一方面则是因为人们对于时间感知的不同。
\n当我们眺望远处的风景的时候,我们的时间感知就会变慢,时间变得很容易流逝,而当我们把视角聚焦到自己身上的时候,往往会觉得十分煎熬,时间感觉被拉的很长。
\n我们常常容易被锁定在内在感知和外在感知轴上的某个位置上,如长时间刷手机忘记身体感觉忘记世界上周围发生的其他事情、专注某项外部事情激动或难受或恐惧以至于难以入睡……
\n生活中感到的疲劳压力、出现的不适应的行为和情绪,实际上并非因为这些行为或情绪的对错与否,而是他们跟我们所处的时空领域不匹配。
\n这些时候就需要你拥有能够 调整你的注意力在内在感知和外在感知轴上的任意位置的能力,从而来更好的调整我们的注意力。
\n选空旷处(户外、窗前)
\n1、闭眼,注意力集中,把感知意识100%放在呼吸上,持续呼吸三次,进行内在感知练习
\n2、睁眼,把眼睛注意力集中在身体的某个表面,需要有一定的距离,如伸出手,把注意力集中在手掌上(即一只手臂的距离),练习让50%的注意力在手上,50%的注意力在呼吸上,持续三次完整的吸气和呼气,尽可能地把注意力同时分布在内在感知和外在感知上
\n3、更换到更远的距离,看看周围环境中的某个位置,大概3-5米距离的某个位置或某个物体,把50%的注意力集中在那里,50%的注意力集中在呼吸,也是这样持续三次呼吸,这样就同时处于外在感知和内在感知里了
\n4、继续更换更远的距离,50%集中在更远的地方,同时50%关注你的呼吸,持续三次呼吸。
\n如果觉得把注意力分别集中在这两个地方(远处、自己的呼吸)有难度的话,可以想象两者之间有一座桥梁,你要把注意力集中到一个事实上:你是地球这个大星球上的一个小小物体,而地球又是在一个更大更广阔、不断扩展的宇宙之中。(要注意,这是一个事实,不是一个想象)
\n然后关注这个事实,持续三次呼吸,然后闭上眼睛,立刻回到内在感知中,持续三次呼吸。
\nps:
\n如果你愿意的话,你可以在这个时空区间里面来回做几次练习,从纯内在感知、闭眼、关注呼吸、睁眼关注手掌、关注面前有距离的物体、关注更远处、关注整个地球宇宙、最后回到身体里。
\n它能刻意训练你,把你的意识、你的感知放在内在感知知觉和外在感知的连续体的每个位置上、过程里,并且要与呼吸保持连接的状态(即要能一直觉察到呼吸)。
\n在练习里,通过把感知、意识刻意放在不同时空上,然后再拉回纯内在感知,实际上是在锻炼人类头脑里令人难以置信的能力:就是能够处在内在感知和外在感知轴上的任意位置。
\n某些时候需要你有这个能力,把注意力放在这些不同的时空位置上。
\n你的头脑是可以根据你的视觉系统和时空领域相互交错的方式,被设置在某一个特定的时空位置的 。
\n作为一个高效的人,我们需要能够很好的、动态的调整我们的注意力,从电脑上做的事情调整到回答别人问的问题然后回来继续工作、从看短信调整到听讲座和播客、与家人或朋友联系等等
\n简而言之,能够活在当下(being present)和
\n正念(being mindful)里,是冥想练习的结果,他们也是时空连续体上的一个时空位置,这里的关键要素是通过刻意练习,你能够灵活且动态地投入到某个事情里,例如对话,然后脱离出来或专注进去。
\n从你前一刻专注的工作里出来,然后进行真正投入的对话,或者从内在感知出来,投入到这个世界里去、周围发生的事物里去。
\n对于那些过于沉浸在自己头脑中的人来说会有用,对于那些过度倾向于外在感知的人来说也是非常有用的,可以让他们练习脱离,并进入内在的感知。
\n其实李冉的第三只眼睛冥想法实际上就是构建了自己的意识和外界的桥桥梁
\n【心流冥想】每天10min,收获超强专注,高效一整天 | 专注系列01】
\n最强冥想方法 成为那1%%的人 脑神经学家推荐|Dr Andrew Hurbman #無常有生_哔哩哔哩_bilibili
\n","tags":["效率工具"]},{"title":"python:使用pyinstall将py转化为exe","url":"/2024/02/15/python%EF%BC%9A%E4%BD%BF%E7%94%A8pyinstall%E5%B0%86py%E8%BD%AC%E5%8C%96%E4%B8%BAexe/","content":"# python
# 未完成 我的pyinstaller并没有调试好,
在这样的一通操作后生成的exe并不能正常运行
我没有找到解决的办法,似乎是pyinstaller默认安装到了系统内部的python上,而不是conda的虚拟环境内,导致虚拟环境内的包并没有被打包进exe
为了方便py代码可以在其他没有python环境的设备上运行,使用pyinstall将其打包为exe格式是一种十分简单的方法。但是在安装并使用pyinstall的过程中,本人遇到了不少麻烦,而后摸索出了正确的路,下面记录以下我的历程。
\nwin11,安装了anaconda和vs,这两个不共用一个python
\n所以说在安装之前还需呀将anaconda的python设置为首选的python,将其在环境变量中的优先级提高。
\n使用:
\npip install pyinstaller\n
来安装pyinstall
\n正常执行pyinstaller -c -F textMessage.py
就可以在显示打包进程的前提之下打包py文件了。
但是这个时候会报错:
\n\n‘pyinstaller’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
\n
这个时候就需要将pyinstall.exe添加置系统变量里面的PATH,但是anconda的文件十分的杂乱,我找了半天都没有找到,最后是使用everything^[1]来对电脑文件进行检索找到的。下面是我的路径:
\nC:\\Users\\Lenovo\\AppData\\Roaming\\Python\\Python310\\scripts\\pyinstaller.exe\n
在能运行pyinstall之后,pyinstall报错了:The 'pathlib' package is an obsolete backport of a standard library package and is incompatible with PyInstaller.
pathlib是一个anaconda自带的过时的包,pyinstall不支持这个包,将这个包删除即可:python -m pip install pathlib
[1]:”_Everything_” 是 Windows 上文件名搜索引擎。Command Line Interface - voidtools
\n\nconda config —remove-key channels
\n","tags":["python"]},{"title":"动漫:憧憬成为魔法少女","url":"/2024/03/06/%E5%8A%A8%E6%BC%AB%EF%BC%9A%E6%86%A7%E6%86%AC%E6%88%90%E4%B8%BA%E9%AD%94%E6%B3%95%E5%B0%91%E5%A5%B3/","content":"# 动漫
9/10
不错的番剧,不同于一般的魔法少女番,这部的女主是作为反派存在的~
\n女主的声音我很喜欢,人设我也很喜欢。她的笑容很喜欢,sm属性的添加也不错
\n整部番剧不枯燥,叙述的展开也很有意思。
\n人物的设计上面有一定的深度,比如说女三,是一个无口的小女孩。然后我就一直在想着这个人会是什么样的角色,到底是内心黑暗呢?还是无口傲娇?或者是个萌妹子?
\n动漫中用她三次展示能力暗示了原来她是那种小大人啊~(就是想当妈妈,护士什么的照料他人的角色)
\n……每次看到这种无口妈妈的设定都让我想到了阿波尼亚妈妈,啊。让人感到温暖。
\n作画整体相当不错
\n","tags":["动漫"]},{"title":"反思:我的事项-时间安排到底存在什么问题","url":"/2023/12/21/%E5%8F%8D%E6%80%9D%EF%BC%9A%E6%88%91%E7%9A%84%E4%BA%8B%E9%A1%B9-%E6%97%B6%E9%97%B4%E5%AE%89%E6%8E%92%E5%88%B0%E5%BA%95%E5%AD%98%E5%9C%A8%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98/","content":"\n首先总结一下存在的问题的现象:
\n总之现在存在的种种问题的现象还是十分复杂的。
\n吃饭的时候或者睡觉之前总是想着看些什么……
\n说白了就是我倾向于在这种“空闲时间”去获取信息
\n但是实际上我也是知道实质上的休息会让人更加舒畅
\n在进行实际的休息的时候还会有另外一个问题,就是如果我有室友的话我的这一举动实际上会显得十分奇怪
\n但其实也十分简单,我将其换成冥想就可以了……
\n先不提飞项这个软件如何
\n一方面是,我可能会开始怀疑一些时间的开销是否值得?
\n包括所需的时间
\n之前制定的一些任务的时间因为各种原因并没有被完成,而在这之后我也没有再重新制定新的计划。
\n# 线性代数
\n
# 大学
今天在路上闲聊的时候和张程学长提到了不久后就要经历一次面试,以及上次的面试失败的事情。
十分感谢张程学长给我提出的建议,我认为其十分具有价值。
\n下面结合张程学长给出的建议总结一下存在的问题以及解决办法:
\n\n实际上面试是别人选择自己,而不是简单的以自我为核心的讲述。始终要考虑的是对方的感受。
\n面试这种东西,不仅是在于 自身的能力,而且还在于表达的技巧。
\n首先需要理清楚的是这样一件事情:冰岩作坊需要什么样的人? 回答这个问题的时候需要考虑,不管怎么样,冰岩社团始终是一一个整体存在的,他们需要的人按照前后顺序无非会考察以下几个品质:
\n实际上我就是属于将这几点搞反了,在第四点上面大作文章,却忽略了前面的几点……
\ncue了一下其他成员的作品,显得我常常从身边的人身上挑刺(虽然我的本意是想展示一下那段时间的理论学习成果),这显得我和别人不好相处;我的讲述并没有吸引起别人的注意力,而是自顾自的讲述,或许需要考虑的一点是自己的想法是否能够吸引面试者的注意力;在落地方面,给的时间仓促,我并没有很好地将我的想法落地得很好(一方面也是因为底层机制复杂导致的脚本很难打磨),而相较另外一位同学,他将牌实际地制作了出来,虽然在游戏机制上还存在挺多地问题,但是也算是将想法具体落地做了个demo,比起我的空口讲述来说是更有说服力的方式。
\n要么选择简单易明白的机制使得对方能够听懂,要么选择突出讲述游戏设计中的重点部分。机制设计的核心并不在于复杂与否,而是是否能够影响到面试者。
\n具体可感的demo能够让面试者更好的理解游戏的内容,同时也能体现出自己将想法具体落地的能力。这算是一个小tips了。
\n实际上答辩,或者以后所见到的面试都会与这次的面试相似……
\n面试官或许能感受到你的热情,但是只有热情还是不够的……
\n推荐是说去实际的观看一些答辩或者说是面试的视频……
\n有的时候,我们展示的核心不是成果……而是成就成果的能力。
\n","tags":["大学"]},{"title":"小小梦魇:还不错的一款恐怖游戏","url":"/2023/12/20/%E5%B0%8F%E5%B0%8F%E6%A2%A6%E9%AD%87%EF%BC%9A%E8%BF%98%E4%B8%8D%E9%94%99%E7%9A%84%E4%B8%80%E6%AC%BE%E6%81%90%E6%80%96%E6%B8%B8%E6%88%8F/","content":"\n或许我该收起前面部分对于小小梦魇的评价
\n再换用了手柄之后游戏的操作体验有了质的飞跃
\n但是游戏中引导部分缺失的问题仍然存在,游戏节奏的把握或许还有更好的调节方法……
\n在这种引导缺失的背景之下,游戏的“容错率”,也就是失败之后的
\n接下来,我想要回答自己下面这个问题:
游戏是通过什么来营造恐怖的氛围的?
在这里简单的回顾一下第一周微积分都学了些什么~
\n\n首先就是温习了一下矢量的计算规则,包括 [[点乘]] 和 [[叉乘]]
\n挺简单的不再赘述,基本的运算法则。基本的计算形式就是:(a,b)·(c,d) = ac+db
\n叉乘的方向与原来的两个向量垂直,在用于计算比如说面的特征向量,或者求与直线垂直的向量的时候十分的方便。
\n叉乘的计算公式是:
数值上和方向上都是一致的,其中ijk为基向量。
\n实际上等效于AB夹出来的那个平行四边形的面积
\n然后很多计算用矩阵的角度就很容易计算了
\n实际上 大小 等于 ABC张出来的四棱柱 的体积
\n标准方程/点向式:
参数式:
求两个面的法向量,然后将他们叉乘,L属于面A和B,就必然同时垂直于A、B的法向量。
\n通过构造 过点P 且 与线垂直 的面,求得Q点为面与线的交点,此时PQ即为点到线的距离。
\nQ点可可以通过将直线转化为参数式计算出参数t大小,然后带入会方便一点。
\n# 效率工具
怀疑性认知的六条原则
《真相:信息超载时代如何知道该相信什么》
\n\n","tags":["效率工具"]},{"title":"收容:秘密档案","url":"/2024/02/02/%E6%94%B6%E5%AE%B9%EF%BC%9A%E7%A7%98%E5%AF%86%E6%A1%A3%E6%A1%88/","content":"\n有机会去玩玩
\n","tags":["未完成"]},{"title":"时间管理小助手:概念设计","url":"/2024/02/25/%E6%97%B6%E9%97%B4%E7%AE%A1%E7%90%86%E5%B0%8F%E5%8A%A9%E6%89%8B%EF%BC%9A%E6%A6%82%E5%BF%B5%E8%AE%BE%E8%AE%A1/","content":"\n小尾巴 的正式名称为便携式耳放解码器,用于将音频的数字型号转换为模拟信号。
\n手机内部一般是直接就有解码器的,但是在3.5mm耳机孔被取消掉之后,解码器尤其热门,能够将数字信号转化为模拟信号
\n\n# 杂谈
hmmm,好久没有写blog了,毕竟这几天考试的话加上确实也没有干什么较为有意思的事情。
然后今天写这篇的起因实际上是因为之前我不是换了个耳机和购置了个耳机线嘛,今天连麦的调试麦克风的时候突然想到一件事情就是
\n之前我把耳机接在显示器上面是因为耳机线的线长的限制,而我现在换了个两米长的线,那么我为什么还要接在显示器上面呢?😂
\n然后我就去确认了一下……
\n\n这两个口其实最大的区别就是输出的信号的模式,HDMI输出的同时附带有音频,但是适合视频信号一起打包出传输的,也就是说,在HDMI处,声音型号就被压缩编码为了数字信号,但是,声音想要在耳机中播放需要再次转化为模拟信号。
\n那么在这样的一个过程中实际上就存在两个问题:
\n1.一方面是在传输并且被压缩再解压的音质肯定是不如原来的音质的。
\n2.显示器的主要功能为显示,一般其内置的音频解析的硬件都是能听个响的级别。
\n说实话,如果说显示器搭载的解析能力要远远高于笔记本电脑本身的解析能力的话,那么实际上哪个更好可能还真说不定。
\n两种的传递方式分别如下:
使用3.5耳机孔
使用HDMI
\n为什么要补充说明这一步呢?因为在实际使用的场景中是有将媒体信息通过HDMI连接到电脑然后使用电脑外接的音响的使用方法的。
\n在这种场景中,一方面,在第2步的压缩的压缩率会更小,因为往往输出的质量会很高,但是抱歉我的电脑的HDMI接口为HDMI 1.4b,哈哈,连我的显示器都跑不满(我的显示器最高显示为2K144hz,但是这个的输出最高只有2K60hz)
\n另外一方面,为了专门的观影体验而设计的电视,其声卡一般不会差,甚至比一般主板上面集成的声卡的性能要好上不少。
\n答案是:不能,绝对不能,实际上,那些说是耳机线能够影响的人非蠢即坏。
\n一般来说这种人其实一般只是被送的劣质耳机线所影响,然后换了一个标准的耳机线,然后就根据这种片面的看法而认为耳机线能够影响。
\n但是实际上就是你的耳机线达标了,就没有区别。
\n而且实际上一根合格的耳机线也并不便宜,我这个两米的大概就花了我30元(买回来线是真的粗,只不过这根线只支持音频,而不支持麦克风)
\n总体来说确实是比haylou的好了挺多
\n尤其是音质(尤其是在将hdmi换成3.5之后)
\n声音十分有层次,每一次的重音和鼓点都能十分清晰的听到
\n中高频的声音也较为的实,不虚
\n降噪这一点我倒是觉得貌似声阔虽然更好,但是在较为安静的环境之下,有概率会听到嘶嘶或者啪啪啪的电流声,经过检验这应该是降噪的麦克风的屏蔽没有调整好导致的bug
\n这种属于是品控的问题了,目前的解决办法就是试着敲一敲里面的麦克风了,如果还是不行关掉降噪,就没有杂音了。
\n这款耳机十分的舒适,重量和体积都要比haylou小了一圈,尤其是体积,当我拿到买家包装的盒子的时候,我甚至一度怀疑这到底是不是耳机,事实证明我多虑了,但是我觉得还是得提及一下这个耳机十分轻巧的设计。
\n总体来说,这个耳机让我目前十分满意,虽然说有点小瑕疵,但是处于可以接受的程度
\nhttps://g.nga.cn/read.php?tid=27831615&rand=360
\n","tags":["杂谈"]},{"title":"杂谈:授课形式","url":"/2024/03/06/%E6%9D%82%E8%B0%88%EF%BC%9A%E6%8E%88%E8%AF%BE%E5%BD%A2%E5%BC%8F/","content":"\n比起后者,我更喜欢前者。前者更好,对学生的学习更有效用。这是我的观点。
\n至于证明,懒得打,我还要求取知识呢~
\n# 杂谈
如题,分享(记录一下我使用的系统相关软件)
火绒是我用来挂在后台的杀毒软件,还算是能用就是了。有的时候也会对在网络上下载的文件进行杀毒预防一下。
\nGlary Utilities是一款功能强大的软件,尤其是在Glary Utilities 6之后ui界面得到了极大的改善。
\n其里面有十分丰富的功能,但是我一般比较常用的就是分析磁盘文件占用情况以清理不需要的大文件。
\nGlary会自动扫描指定文件,然后展示每一个文件/文件夹所占用的当前文件所有文件的百分比,通过这个功能我们能快速锁定占用内存的罪魁祸首,从而对其实现精准打击。
\nCCleaner也有比较丰富的功能,其中比较强大的主要是其中的注册表清理以及驱动更新。
\nCCleaner-pro(提供最新的破解方法) - 哔哩哔哩 (bilibili.com)
\n我之前在网络上找我的网络适配器的最新驱动更新没有找到……然后cc直接给我扫描了一下一键装好了。
\nccleaner的注册表清理功能也很强大,面对无效的文件格式,可以一键将其清理
\n\n\n比如bandzip会自动抢占.zip的默认打开方式,当你将bandzip默认打开取消掉之后,每次启动.zip都会询问要以何种方式打开,并且无法选择默认打开,只能选择仅一次。
\n当然,你也可以手动将其在【默认应用】那里重新赋值,但是十分麻烦,因为压缩包的格式挺多的
\n
dism++一般用来清理系统文件比较靠谱(但是同时也比较激进),它能更深层次地清理系统文件。
\n\n本文来自于nga论坛,本人看了十分有感触,在这里记录一下。
\n不得不说英国佬政治素养还是有的
\n续孤兰
\n级别:学徒 威望:1 发帖:3227
\n今天拿着presentation找导师修改,一边改一边
\n跟教授闲聊,就说到国际政治了
\n不得不说英国佬玩政治上,想法和眼光还是有的
\n(所以您大英帝国玩脱欧怎么玩成这样的)
\n不管媒体怎么宣传,高级知识分子对局势的见解还是可以的,和老头子聊了聊,我对中美国际局势感觉有了个全新的视角
\n和他聊聊贸易战,我说中国其实并不愿意贸易战,而且也并没有主动发动贸易战,美国的很多指责都是无稽之谈
\n教授说他知道,但这根本不是本质与重点,他认为贸易战本质上依旧是中国对美国的战略进攻,不管贸易战是不是美国主动挑起的,就算是,那也不如说是中国人逼迫美国人主动挑起的贸易战这又要从98年到08年以及08年至今的局势演化说起了
\n美国依靠美元,美军与美国价值观从全世界收割社会财富与吸引人才喂养美国本身,削弱他国实力,从布雷顿森林体系解体以来,已经形成了一套系统的组合拳与方法,而苏联的解体加剧了这种依赖
\n具体方法是这样:
\n依靠美国的影响力与国力支撑的美元以贸易逆差的方式为全世界提供流动性,让美元在全世界流动,我们可以把这批美元看做是鱼苗,羔羊。然后依靠美国的军事实力和国际影响力,人为的制造地区冲突与危机,可以是很多形式,政治危机,经济危机,加息,甚至国际冲突从而使特定国家资产价格相对于美元大幅度波动,本币剧烈贬值,从而以超低代价收割他国的优质资产与外汇储备,一方面让这批增值的财富收入美国囊中大餐一顿吃个饱,一方面回收美元的流动性,为下一轮收割而做准备,释放和回收美元流动性的中间的具体操作就是加息与降息
\n整个流程已经形成一套系统的组合拳,就像养羊一样,放出去吃草,出肥了收割
\n这套方法很多时候行之有效,为此美国才建立起了它的全球体系与推行全球化,为美元的自由流通设立保障
\n但从98年以后,这种方式遭到了极大的挑战,根本原因在于中国
\n中国的崛起并不仅仅是一个顶替了苏联位置的强国那么简单,它的存在和方式对美国主导的国际秩序造成了巨大的挑战
\n中国的崛起是美国21世纪以来的最大的挑战与隐患,政府控制力强,并且在金融领域对资本有诸多管制措施,使得美国难以单单通过资本操作方式收割中国的财富
\n然后中国日渐增强的综合国力和稳定的社会与政治环境,使得美国更难以制造政治危机的方式,制造中国的资产价格跳水,哪怕制造了,由于中国的管制措施财富也难以流出中国
\n然而从98年以来,通过制造国际冲突的方式造成中国内部不稳定以达到更换一个可以让资本自由流通的政府的方式已经无数次宣告失败,并且花费了美国很多“成本(Cost)”, 包括金钱上或者国际影响力上
\n可以说,21世纪以来,中国对于美国,就是一个蒸不烂,煮不热,锤不扁,炒不爆的一粒铜豌豆。
\n美国除了直接宣战以外,已经没有什么手段能打断中国的上升进程了
\n但如果仅此而已,中国说不上的是美国的心腹大患,或者换句话说,肯定算不上比苏联更严重的威胁
\n中国之所以对美国而言比苏联更危险的原因在于,它采取了完全迥异于苏联的方式,对美国的根基在进行侵蚀和腐化
\n根本原因在于,中国的崛起不但使得中国自己成了美国无法收割的对象,并且使得美国以往的对其他国家的收割组合拳效果大打折扣
\n中国首先保证了自己不被美国收割,然后通过持有大量的美元外汇储备,在美国收割他国的时候,向美国“收一道税”,具体表现为使用自己的巨额外汇储备在美国制造了“危机”后,和美国人一道低价收购资产(包括不限于油田的开发权,竞标基础设施建设,或者只是收购一些资源,或者参与重建或者投资)
\n这就等于,对美国来说,回到手里的只有美元而非财富,只有通胀而非实际的好处。他称之为对美国的“寄生”。
\n但这种趋势在08年以前并没有让美国人警惕,或者说,并没有让美国人疼到警惕
\n转折点在2008年、经济危机使美国的力量受损,根据以往,美国需要找一个对象输出危机并且收割财富。中国毫无疑问不可能,但美国发现不但是中国不可能,连带对其他国家,也收不到多少好处了。
\n原来在于中国从改革开放起就在积累实力,在2008年美国受损的实力和中国自身一直没有停下来的实力积累,到达了一个微妙的引爆点
\n我不知道你们中国人的看法,但在2008年后,中国的国有企业和基础设施建设,忽然在影响力和等级上都提高了一个级别。中国忽然对推动人民币国际化和输出产能开始关注,在几年后更是推出了一带一路计划
\n从2008年后,美国发现一个事实,使用以往的收割手段,不但是有没有利益的问题,而是可不可以回本的问题。
\n原因在于,以往,在认为制造资产价格波动后,能以美元低价收购优质资产并且回收流动性,虽然被中国截留一部分,但绝大部分收益仍然是美国的。
\n但08年后,大部分收益居然被中国收取了。
\n原来在于,08年以后大量的货币互换协议与一带一路计划以及中国开设的诸多国际融资通道(中国主导的),以非洲为例,中国改变了以往直接使用美元收购资源或者资产的方式,向部分第三世界国家提出,以工业制品和基础设施折算美元,另一国以本国优质资产的期权折算美元,达成交易。
\n双方仅仅是声称使用了美元,实际而言一美分都没有流动
\n结果在美国制造了各种地区冲突与危机以后,中国以这种方式介入,它不但是被截留了收益的问题,甚至可能没有收益。例如伊拉克,中国以基建和产品出价,伊拉克以基建收益的期权或者其他资产的期权抵押,达成交易。这中间仅仅是物资的流动,美国无法在其中以美元收割任何收益。并且中国还有自己的资金渠道(昆仑银行等等)
\n美国人终于发现,以往中国人只是用吸管唑一口,以前或者是九一分,四六分,现在可能是三七分,中国七,美国三,甚至有时候美国人还要赔本
\n这是挑战了现在美国的根基
\n布雷顿解体以来,美国为了更好地收割,几乎改变了它的国家形态与政治观念,构建了美国自己的全球体系,苏联解体还加剧了这一趋势,一切都是为了更好地使得资本流通,方便美国收割利益,包括去工业化与让金融业高度繁荣。他的国家为全球化而改变,他的观念也为全球化而改变,现在的美国已经不是1939年那个美利坚了
\n为了构建和维持这个全球体系,美国付出了巨额的成本,不得不维持超高的军费和巨额的贸易逆差,但只要可以收割下去,那么美国的贸易逆差和高额军费都是值得的,都能得到超额回报
\n但现在而言,美国付出了成本,消费了影响力,却得不到相应的收益了,钱你出,恶人你做,桃子我摘
\n为了压制俄罗斯,持续压低国际油价,并且早年在中东干涉抬高了国际油价,使得自己的一票国内石油公司为了赚更多的钱,开采石油的技术研发上升了一个台阶,甚至使得美国自身因为页岩油的开发都变成了产油国
\n也就是说,美国现在已经无法以制造地区紧张局势然后以石油美元得到很高的收益了,而且哪怕真的抬高油价,也不过是为了俄罗斯输血,甚至拉丁美洲的委内瑞拉这些国家也会压制不住
\n然后低价收购优质资产呢?就拿伊朗举例,美国能够战胜伊朗吗?毫无疑问。
\n但如果在要伊朗扶持一个亲美政权,比如扶持逊尼派政府,需要美国大量输血,否则,塔利班就是例子,新政府如果没有美国的持续输血毫无疑问坐不稳政权,但如果持续输出,一个阿富汗加伊拉克就差点把全盛的美国放干,以现在联邦政府而言,伊朗那么大的地方维持一个亲美政权,是天方夜谭
\n而且先不说一个被战争摧毁的国家到底有没有所谓的“优质资产”,哪怕有,新的政府为了战后重建,也会拍卖优质资产,然后拍卖优质资产为了什么?还是为了筹集资金以进行战后重建
\n那么中国可以直接以基建出价,新政府用资产期权抵押,有美国人是什么事情?
\n铁路,电力,通信网,公路,为了收割全世界而自己去工业化的美国在这些基建领域已经完全无法与中国竞争了,哪怕尖端技术仍有优势,但缺乏市场也缺乏资金的联邦政府已经没有逆转这个趋势的能力了
\n联邦政府已经没钱了,这是个显而易见的事实,而对大国而言,调头是一件困难的事情,如果能轻易改变生存方式或者社会制度,那么苏联也不用解体了,这也就是为什么美国必须着手直接的,有力的,实质性的开始打击中国
\n中国以这种方式活着一天,美国的全球体系都有解体的风险,联邦政府的财政收入已经发岌可危,然而不得不花的支出确是年年高攀
\n再加上美国每年所创造的财富,到底有多少进了私人的口袋,有多少进入联邦政府的国库,是要打一个疑问的,以往增量时期无关紧要,在08年至今美国进入消耗存量时期,种种以往的社会问题都会日渐尖锐
\n如果美国抛弃的它的全球体系回归门罗主义也是一条道路,但教授对此持悲观态度,国家体制和社会与观念剧变,是催生混乱与内战的最好温床,如果大国转向如此容易,苏联也不用亡国了
\n所以他觉得贸易战本质上是中国对美国的战略进攻,无论是不是美国主动挑起,其实都是中国在逼迫美国做出的战略抉择,美国对于发动贸易战并没有必胜的把握,甚至把握有没有超过一半也很难说,但它仍然不得不去赌这个一半一半,这对于国家战略的选择而言,无疑是最糟糕的情况
\n看似有选择,实际上没有,因为只有糟糕和更糟糕的区别。如果不解决中国问题,美国哪怕找到再多的钱包,也填不饱自己的肚子,甚至会越来越饿。加州高铁项目的失败证明了美国目前社会运行的成本极高,金融和法律障碍认为的拉高了整个社会的运行成本,对华贸易战风险极大,但联邦政府已经别无选择。
\n以上都是交流时候提到的,当然我用自己话翻译了,不过真是收益良多。
\n2019-09-08 23:28
\n\n# 杂谈
# 键盘
正如题目,在这里简单聊聊键盘损坏的检修以及机械键盘结构的分析。
在昨天,本人发现机械键盘的反斜杠失灵了,在更换设备以及更换键盘之后锁定是键盘本身的问题。
\n遂将键盘拆开来分析了一下机械键盘出问题的地方,在这里记录一下。
\n更为详细的内容可以参考:聊聊机械键盘的结构。 - 知乎 (zhihu.com)
\n键盘损坏无非就是要么是电脑的驱动出了问题或者是该按键被应用占用了,优先排除电脑本身的问题。当有其他设备的时候,直接将键盘连接到其他设备上就知道是不是电脑的问题了,但是有的时候身边并没有其他设备,这个时候可以使用openArk来查询。
\nopenArk可以查询所有的快捷键占用情况,当然,它还有许多其他的功能,但是我并不熟悉。
\n有的键盘是可以添加配置设置的。当键盘配置不正确可能会导致键盘失灵的问题,这个时候需要尝试将键盘的配置重置为默认配置即可。
\n如果上述操作后,键盘仍然没有恢复正常的话,那就需要考虑是键盘设备的问题了。键盘设备的问题可以通过了解键盘的构造来了解,具体在下面键盘构造讲解。
\n本人键盘的结构为Bottom mount,即只有Plate被固定在盒体上,PCB和键轴为插栓结构固定在Plate上。
\n检查是键盘哪个部位的问题,可以按照以下步骤尝试:
\n以上两步就能够检查出到底是哪里得问题了。
\n\n- 红色 e02e1e\n\n\n\n- 蓝色 155da2\n
# 游戏设计
人认识物品总是从整体到局部,所以说我希望能够搞一个亦是如此的魔法体系。随着对于魔法认知的逐渐深入,玩家将会可以逐渐拆分各个魔法,了解魔法更加底层的原理。
就比如说:普通火球术的中等理解层面的指令,假设是(解密后):
\npower add power add create point fire fire add power push fire power
解码过来就是
\npower add |
你对于它的理解应该是多层次的——从最浅的层次到最深层的层次:
\n在了解了各种魔法的更深层次的原理之后,我们就可以将其优化(原来的魔法师都是只会浅层的,所谓的大魔法师也只是会到第3层)(大部分魔法耗能高的原因是因为它们都是屎山代码堆出来的),甚至是创造出独属于自己的魔法。
\n有一说一,就像是手机一样,大部分人都只是会使用,其实手机对于他们来说就已经被封装成了函数、已经变成了魔法……但是你越深入了解,就能够将其优化。
\n\n“战争迷雾”理论最早由普鲁士将军克劳塞维茨于19世纪早期在他的《战争论》一书中提出,指的是军事行动所根据的因素总有四分之三隐藏在迷雾之中,充满了不确定性。
\n1896年,一本名为《战争迷雾》的书籍出版,正式确立了这个特殊的词组,用来指军事行动的参与者身处战场环境时所感受到的不确定性。
\n而玩家们熟悉战争迷雾这个词,基本都来自于电子游戏。1977年的回合制策略游戏《帝国》,首次使用了战争迷雾系统,之后《沙丘》《星际争霸》《魔兽争霸》《英雄联盟》等众多RTS、SLG及MOBA游戏中,都加入了类战争迷雾机制。
\n电子游戏通过程序,可以完美地实现战争迷雾机制,并对此进行各种贴合玩法的调整和改良。
\n那么,在大家面对面在同一张版图上行动的桌游中,又该如何来实现更真实的战争迷雾呢?
\n\n在战棋游戏中,将棋子暗扣隐藏信息,是一种最直接的在一定程度上实现战争迷雾的方法。比如我们小时候玩的四国军棋暗棋模式,在棋子揭示前无法得知对手暗扣了什么棋子。一些大型的战棋游戏也会采用棋子信息面朝向自己的方式,来让对手无法察觉自己的兵力部署。
\n不过,这种方式和一般认知上的战争迷雾还是有差别,因为双方还是能够看到对手的棋子布置和动向,而且战争迷雾一般是可以用侦查来驱除迷雾获得信息的,但这种方式则完全用不到侦查,在交锋前无从开展情报工作。
\n在隐藏单位信息方式上,不少桌游也做出了一些努力,力求更真实地实现战争迷雾的效果。比如桌游《火力战》的高级规则中,就包含了很多关于隐藏信息打造战争迷雾的机制。
\n游戏规则中,没有被发现的作战单位是背面朝上的,当其进行了射击或者移动到了对方的视野范围内,再依据地形和目标类型,才会判定是否翻面显示信息。不过,被发现后玩家还能够离开对方视野或者消灭掉发现自己的单位来重新隐蔽。
\n在此基础上,还可以设置一些假的单位即“疑兵”来迷惑对手、发射烟幕弹来阻挡对手视野、提前秘密写好地雷位置、当对手单位移动到版图对应位置就会踩雷等。
\n在SPI的现代战争II系列兵棋中则加入了一种特殊的作战单位,其在战斗前只显示机动值,战斗时才会翻面战斗值。而且更有趣的是,即使是玩家本人也无法知道这些单位的实际战斗力。这或许体现战争迷雾在军事上原本的意义,即对于本方部队也可能会信息失真,但对于操控和配合来说还是过于艰难。
\n桌游《Infinity》在作战单位信息隐藏的设定上也相当有新意,游戏会提供给对手一张“公开军表”,同时自己则会有一张“里军表”。
\n区别就在于里军表中包含有公开军表中的秘密单位,这些单位有的可以用指示物来代替棋子让对手猜测,有的可以自己拍照后再移除视作存在单位,从而不让对手看到其在场上的信息,有的还可以用其他模型来进行伪装。
\n借助机制不透露自己的真实动向,同样是利用信息不透明来实现战争迷雾的一种方式,一般和隐藏单位信息配合使用。
\n最常见的就是提前做出部署,但不让对手知道,在揭晓之前都可以隐藏自己的真实战略意图。
\n依然是《火力战》的高级规则,其中包括一个“激光制导炮弹”的规则,可以声明要炮击一个目标,但不会让对手知道是哪个目标。然后回合结束时如果自己提前确定的目标还在那个区域,就可成功命中造成大量伤害。
\n桌游《海上大战》系列,玩家要提前规划好舰队的行动,但在版图上只有舰队标记,具体的行动是隐藏的并不会进行放置。只有当被侦测到,或者结算行动时才会展示。对于对手行动的猜测和判断,做出对应的规划和阻击战斗,就是游戏的魅力之一。
\n桌游《战争迷雾》虽然拥有版图,但并没有用到会显示部队部署和行动的棋子,只有占领标识物。玩家不仅可通过暗扣卡牌来隐藏信息进行行动,同时还能在自己的操作轮上秘密创建一个在之后进行行动的操作,用以收集情报和虚张声势。种种创新且有趣的机制,无愧于其《战争迷雾》的大名。
\n《深海谍影》同样本身就是战争迷雾的体现,游戏设置了一道中央屏风作为遮挡,来让双方都无法看到对手的动向。
\n每个小队的四位成员船长、大副、通信兵以及工程兵各司其职,要获取信息,判断对手潜艇的位置,移动本方的潜艇,发射武器,目标是确定位置并成功击毁对手的潜艇。
\n在即时制规则下,不断移动的潜艇上,船员们在迷雾中借助种种手段斗智斗勇,十分紧张刺激。
\n《德古拉之怒》中德古拉玩家要一人对抗几位猎人,因此他不像猎人那样将模型直接放在版图上,而是借助于“踪迹列”秘密放置地点卡牌来隐藏自己的移动路线,并可以用各种手段来干扰猎人的追踪。不过猎人移动的速度更快,一旦发现德古拉的踪迹就能够很快赶过去与之发生战斗。
\n还有一些桌游在运用“战争迷雾”时采用了比较特殊的方式,虽然和大家普遍认知上的战争迷雾有些不同,但也颇有意思。
\n比如主要以卡牌驱动的桌游《勇者无畏:诺曼底》,玩家可用的卡牌中有一种就叫做“战争迷雾”卡,这种卡的唯一用处就是卡手无法打出。除了正常的抽卡获得外,玩家还会因为对手的一些扰乱性的行动来给自己的手中加入战争迷雾卡,相应地玩家也能使用侦查兵来将这种废卡从手中移除。
\n因为战争迷雾在军事上的本意就是作战时的不确定性,那么不管是和自己的部队失联,还是不清楚对手动向,都会造成无法发出有效指令的情况,加上和侦查和扰乱行动相结合,倒也合情合理。
\n如果不局限于对抗类桌游,那么战争迷雾机制在其他类型的桌游中也有所体现。比如经典合作类《第七大陆》的版图随机生成机制,起始除了玩家所处的区域,其他都由迷雾笼罩,玩家必须进行探索,才能抽取地形卡来驱散迷雾拼出完整的版图,不同的探索方向,事件不同的抉择,都会影响版图的生成和最终的结局。
\n类似的还有克苏鲁主题的《疯狂诡宅》,同样是通过探索并借助APP来不断拼出版图,同时还要放置各种指示物。在黑暗笼罩的古堡内进行调查,各种突发情况都有可能发生,十分具有代入感。
\n如果要如同电子RTS游戏那样,实现迷雾存在情况下长时间无法获取对手行动信息的机制,那么就要借助于裁判了。
\n兵棋推演中的“双盲”就是这样一种形式,在“双盲”模式下,对战的双方无法看到主地图,不管是对地图地形的摸索,还是对作战单位下达指令,都需要通过裁判告知。当对方的作战单位进入了本方的视野范围内,裁判也会告知对方单位的信息,依据距离和其中判定规则,信息可能清楚,也可能比较模糊。玩家战斗后的结果,也基本由裁判进行判定并通知双方。
\n这种模式对于对战双方和裁判,都是一个较大的专业性的考验,但确实更加贴近真实战争迷雾之下的战斗模拟。
\n总体而言,受限于载体,桌游要像电子游戏那般实现完美的战争迷雾模拟是不现实的。不过,得益于设计师们的精妙设计,还是在不借助裁判和防止作弊的前提下,做到了信息的隐藏与侦查,行动的预判与针对。如果你对桌游中的战争迷雾系统感兴趣,不妨挑以上这些游戏练练手~
\n","tags":["游戏设计"]},{"title":"网络技术:判断是资源设备还是通讯设备","url":"/2024/02/26/%E7%BD%91%E7%BB%9C%E6%8A%80%E6%9C%AF%EF%BC%9A%E5%88%A4%E6%96%AD%E6%98%AF%E8%B5%84%E6%BA%90%E8%AE%BE%E5%A4%87%E8%BF%98%E6%98%AF%E9%80%9A%E8%AE%AF%E8%AE%BE%E5%A4%87/","content":"# 网络技术
判断这个有一个技巧就是以网卡为分界线
脑叶公司的核心驱动力在于探索未知,但是游戏的目标却与之相悖,颇为遗憾。
\n在游戏中,你将扮演主管,通过与收容物交互来提升自己能力,并且收集够足够多的能量,以及应对各种未知的时间以及风险。你的核心目标就是每天收集足够多的能量,并且保证不出乱子。
\n在游戏中,推动玩家往后玩下去的兴奋点无疑是探索新的东西并且带有风险。需要获得的能量的数目逐渐增加,为了安全的采集能源加上我们天生的对于对新事物的信息的渴望,促使着我们不断地探索新的收容物,这一过程可谓是紧张刺激又有意思。
\n在游戏中,探索带来的惩罚是十分严重的,折兵损将带来的影响不仅仅是在于当前的对以后还会造成很大的影响。在游戏中,招募人员只能在休息阶段进行,而每日通过白天的收集能量获得的十分有限,而人员又同时是你收集能源和应对突发事件的主要途径……
\n这就导致了一件事情,那就是探索基本上带来的只有亏损,通过使用已确认安全的收容物来获取能量才是达成“收集足够的能量”的最佳途径。而探索未知的收容物带来的人员亏损,甚至会让探索成为了一种负担——只有在当前产能不够的前提之下,才会去选择探索新的收容物。
\n在游戏中,每天失败了之后(即人全部都死光)了之后,游戏可以选择“重新开始这一天”……说白了,游戏鼓励你使用读档来通关,但是每次读档之后,收容物并不会发生变化,也就是说,你完全可以使用“场外信息”,即上一次失败时候探索出来的信息来完成收集能量的目标。
\n这就造成了一个十分尴尬的问题:游戏中,探索未知的风险很严重,动不动就会gameover,但是gameover之后的“重新开始这一天”,又让你的探索成本为零……在这种SL机制之下,玩家完全可以莽撞地探查收容物的特点,就算是死了也才就是“重新开始这一天”,然后带着上一次获得的信息,“完美通关这一天”。这无疑给玩家带来了十分不好的体验。
\n对了,游戏中的加载时间也特别的长,ui交互也设计的很不合理……关于ui我没有相关的知识,但是从一个玩家的角度来说,操作起来实在是很奇怪。
\n\n然后今天看到了一个有关于记日记的tips,打算在这里试试看,因为它有许多和我的看法相同的地方。
\n实际上这几句话和我比较喜欢的“今天和明天没有区别”相似,考虑到这样一点的话,或许我们当前做的事情就需要再将时间拉长,考虑到其对以后的影响……
\n# 效率工具
admonition是一款obsidian中的插件,可以支持更多类型的引用的生成,其中包含了很多的个性化生成,但是这对你来说无关紧要
详细信息可以取他们的官网查看admontion使用指南
\n\nqwe |
|
|
总而言之更好看了www
\n","tags":["效率工具"]},{"title":"打完游戏后只用15s就进入学习状态","url":"/2023/11/12/2.Reference/%E6%89%93%E5%AE%8C%E6%B8%B8%E6%88%8F%E5%90%8E%E5%8F%AA%E7%94%A815s%E5%B0%B1%E8%BF%9B%E5%85%A5%E5%AD%A6%E4%B9%A0%E7%8A%B6%E6%80%81/","content":"\n\n[[___大学]]
\n生成档案,生成志愿工时记录证明
\n\n我院刘小涛老师参与指导的项目《航空发动机材料超高周荷载频率与疲劳寿命预测研究》获得了“揭榜挂帅”专项赛国家级特等奖。针对航空发动机叶片疲劳合格率及疲劳寿命不足等关键问题,该项目团队创新性提出了优化热加工、调控微观组织以及模型驱动精准表面强化的新方案。基于此,团队成功制备了合格率高且疲劳性能优异的航空发动机用钛合金叶片。项目研究所形成的方案不仅具有高效率,低成本,低能耗等显著优势,更为高寿命航空发动机钛合金的成形和叶片加工工艺的优化提供了坚实的科学指导与理论基础。
\n\n\n\n
(通讯员 岳天宇)近日,由共青团中央、中国科协、教育部、全国学联主办的第十八届“挑战杯”全国大学生课外学术科技作品竞赛“揭榜挂帅”专项赛和“黑科技”展示活动圆满落幕。我院师生团队在“揭榜挂帅”专项赛中获得国家级特等奖2项、二等奖1项,在“黑科技”展示活动中获得“行星”级作品1项、“卫星”级作品1项,再获佳绩!
“揭榜挂帅”专项赛国家级特等奖项目《钢铁生产长流程极致能效搜索方法与智能化系统》是由殷亚军老师、黄亮老师和河南科技大学王爱琴老师指导,宋迎晨、刘可卓、陈众、易文珏、廖迎凯、张有程、刘昊、朱汉逸、许晋昊和王才加尚等10名同学共同完成的。该项目基于重构的长流程钢铁生产能耗计算模型评估了不同极致能效技术对钢铁生产的影响,构建了一种针对长流程钢铁生产节能策略推荐的数学评估模型,并基于此开发了钢铁极致能效解决方案推荐系统,为企业进行节能技术的多维度分析评估和极致能效解决方案的科学推荐提供了一种可靠的判据。实现了长流程钢铁生产领域节能策略模型零的突破,有利于极致能效技术的推广和钢铁企业节能目标的实现,具有重大的理论指导价值和工程应用价值。
“揭榜挂帅”专项赛国家级二等奖项目《基于PTZ摄像机的高精度告警定位方法研究》是由董选普老师、刘鑫旺老师和曹华堂老师指导,周楚昊、李贝贝、蓝晟宁、王坤、尹正豪、郭笑宇和李嘉苗等7名同学共同完成的。该项目基于PTZ摄像机提出了一种针对周围区域明火实现高精度识别、定位和告警的方法。主要通过YOLOv7网络模型进行烟雾识别和监测,并使用DEM数据自动解析实际火源的地理位置。该方法对于告警目标具有极快的响应速度和较小的定位误差,有效预防森林火灾的产生和蔓延。
\n“黑科技”展示活动“行星”级作品《电化学芯片及综合测试表征系统的开发应用》是由刘友文老师和翟天佑老师指导,干晓娟、陈建强、高锐坚、杨镇鸿、王浩云、王晗、赵阳和邓瑶等8名同学共同完成的。该作品是一套具有变革性的、能对电化学基本物理化学规律实现精细探究的综合测试表征平台。本作品包含电化学芯片,高精度测试平台以及原位表征平台三个部分,能够精准地测试出微小结构的催化剂性能,同时对催化剂进行原位表征,深入探究电催化反应机理。该作品可以实现反应活性可视化、微区电化学性能测定、电化学反应动力学研究、异相电荷转移反应研究等功能。
\n“黑科技”展示活动“卫星”级作品《均匀激光3D打印复杂单晶涡轮叶片的装备设计与工艺研究》是由魏青松老师指导,张振武、戚磊一、郑可盈、袁以宁、许文贺、沈沐宇和高海瑞等7名同学共同完成的。本作品面向复杂单晶涡轮叶片制备的国家重要战略需求,围绕“聚焦光斑能量分布机制”、“熔池传热-传质机理”和“组织-高温性能调控规律”三个科学问题,采用“光学设计+算法开发+数值模拟+工艺优化”相结合的方法,在现有激光3D打印装备的基础上,改进光路系统和扫描算法,通过数值模拟和工艺试验获得晶粒定向生长的最优工艺参数,并成形出高50 mm的复杂结构涡轮叶片验证整体方案的可行性。
\n据悉,本届“揭榜挂帅”专项赛参赛学校学生提交近2000个作品项目,最终来自全国230余所高校的700余件作品入围终审。终审决出特等奖105个、一等奖122个、二等奖132个、三等奖140个,获“特等奖”的作品团队将进入后续举行的“擂台赛”,全力冲刺“竞榜”,争夺“擂主”。全国组委会同期举办“黑科技”展示活动,引领学生提出具有前瞻性、创新性、应用性的实物或技术。经过评审,全国共有99件作品评定为“星系”级作品、181件作品评定为“恒星”级作品、267件作品评定为“行星”级作品、330件作品评定为“卫星”级作品。
\n","tags":["大学","新闻"]},{"title":"网易校招信息","url":"/2023/11/12/2.Reference/%E7%BD%91%E6%98%93%E6%A0%A1%E6%8B%9B%E4%BF%A1%E6%81%AF/","content":"# 新闻
通讯员 岳天宇)7月30日,第九届中国国际“互联网+”大学生创新创业大赛湖北省复赛现场赛在湖北工业大学落下帷幕,我院参赛团队获得1金1银2铜的好成绩。
本次大赛以“我敢闯,我会创”为主题,来自全国范围内的投资行业、企业和高校的96名专家担任大赛评委,湖北省共有109所高校的407个项目进入省赛复赛现场赛的比拼中,最终产生170个金奖和237个银奖。下面,就让我们领略一下我院获奖项目的风采。
\n\n金奖项目
\n项目名称:面向车身结构生产的嵌入式智造方案
\n团队成员:王欧阳旭、邓子研、聂米雪、刘泽乾、陈银冰、甘承文、刘玥、赵杰、保思琦、朱景安
\n指导老师:周华民、朱盈盈、王云明、邓前松
\n项目简介:面向当前各类车辆结构件加工的海量市场需求,以及传统检测面临的良品率低下、生产效率低、经济效益不足的问题,项目团队专注于核心硬件、核心算法两方面技术提升,匹配车辆零部件生产装配节拍,赋能车辆零部件智造加工。基于高算力、强通信,实现汽车零部件加工检测高反馈闭环控制,从材料源头、成形过程解决数据无畸变采样问题,从数学原理底层突破预测和跟踪难题,实现良率、效率跨越式增长,从而解放汽车零部件加工产线生产力,降低车辆成本,让更多的人开上质优价廉的好车。
\n银奖项目
\n项目名称:碳听科技-高灵敏低频压力探测系统破局者
\n团队成员:李华健、夏侯幸子、周昶、陈晨、刘宜帆、吴思佳、段皓蕊、马伟刚、陈健中
\n指导老师:徐鸣、卫平、郭新、张海波、杨少龙
\n项目简介:本项目立足于国家重大战略需求,面向水下低频移动物体,如舰艇、蛙人等特殊目标以及锂电池内部压力进行探测,致力于成为低频压力探测领域的破局者。团队成员历经5年发展,已从探测原理、材料制备、器件组装及信号处理等多个方面完成了全链条自主创新,申请相关发明专利12项,与中船重工702所、武汉普惠海洋光电技术有限公司等企业开展了实质性合作,收获了行业内的认可。并且团队成员秉持从教育中来,到教育中去的理念,构建了省级水下低频探测研究平台作为实践育人基地,发挥学科优势,培养了交叉学科30余位本硕博人才。
\n铜奖项目
\n项目名称:智纤增材-连续碳纤维机器人辅助激光增材制造
\n团队成员:王志豪、贺夕纯、欧阳鑫怡、黄雅欣、周维、张驰、何流、王烨珍、谭佳、何建英、郑彤、颜语、熊艳苹
\n指导老师:闫春泽、史玉升、杨磊
\n项目简介:作为替代金属的下一代材料,连续碳纤维复合材料具有比强度高,寿命长等优点,被广泛应用于航空航天、交通运输等多个领域。而增材制造是一种将三维模型进行计算机切片后分层制造的方法。现在常以FDM的形式使用连续碳纤维进行增材制造。但FDM存在层间结合差、精度低等缺点。从以上背景和需求出发,开发了机器人辅助激光增材制造系统,利用六轴机械臂和两轴变位机进行连续碳纤维的增材制造。同时,开发配套可定制离线编程软件,优化成型工艺,实现了增材制造自动化处理流程。与国内外连续碳纤维增材制造领域一流厂商或高校对比,各项技术指标均处于国际一流、国内领先水平。
\n项目名称:春风拂面:无源寒地科技护脸
\n团队成员:何子成、李嘉欣、吴嘉威、梁军、王恺庆、周子康、汪全
\n指导老师:陶光明、周华民、周宁、侯冲
\n项目简介:春风拂面护脸基于热学-材料-结构-纺织技术的跨领域多学科协同创新,通过三维结构织物的创新设计和非对称空气通道的构筑调控,有效抑制面部的热传导、热对流和热辐射损失,实现较低的气体交换压力差以保证充足摄氧量,同时缓冲寒冷干燥空气对肺部的损害,减少紫外辐射对面部皮肤的危害,成功研发了具有无源保暖、透气舒适、紫外防护等特点的无源寒地科技护脸,实现了该技术“从0到1”的原始创新。
\n据悉,中国国际“互联网+”大学生创新创业大赛是覆盖全国所有高校、面向全体大学生、影响最大的高校双创盛会。本届“互联网+”湖北省复赛参赛高校覆盖面和学生参与度均为历年最高。全省共有9.75万个项目,43.06万名大中专学生报名参加。
\n","tags":["大学","新闻"]},{"title":"2023.11.4数学建模讲座","url":"/2023/11/05/1.Archieve/2023-11-4%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E8%AE%B2%E5%BA%A7-1/","content":"# 数学建模
以下为2023-11-04 数学建模讲座的笔记及随想
\n\n\n由xmind自动生成
\n
title: 国赛2023-B题 |
其实就是纯数学问题
\n总的来说不是特别难,只需要使用三角函数即可。
\n第二题:如图,设图中标注线段长为X
\n\n\n\n可视化之后如下:
\n\n这道题属于单一变量优化问题,其他条件都不会变,我们只需要讨论测线的角度这一个变量即可。
\n这道题中,地面不再是平坦的了。
\n我们知道,我们需要将其转化为之前的条带的形状会比较好计算。
\n即我们可以求测线左侧和右侧宽度的平均值,然后再对他们进行计算。
\n需要注意的是,题目给出的数据是离散的,位于格点上的,所以说实际上,我们需要对每一个点取一个近似的位置作为取样点,并且加以运算。
\n\n\n之后我们再在β里面求取使得测线长度最小的值
\n\n最后我们需要检验漏测率,这里需要注意的点其实还是数据是离散的
\n\n我们发现,地图中有明显的较为陡峭的部分,也有明显比较平缓的部分,将两者看作是一种显然会造成十分大的误差,那么在这种限制之下,我们可以考虑将整块地分割为四个部分,并且对其进行分别处理。
\n\n# 效率工具
这是我个人 结合多种方法,按照自己经常使用的工具制定的一个管理方法。这种方法以四象限为基础模板,将事项的状态以及事项的拆解结合到一起,是一种较为不错的时间管理工具。
第一个四指的是四象限,按照【重要性】【紧迫性】可以将所有的事项分为四类
\n可以发现,在处理 重要但是不紧迫
和 紧迫但是不重要
这两种事情的时候,我们优先选择做重要但是不紧迫
的内容。实际上,这一选择符合人们关于“未雨绸缪”的设计,而人们完成 重要但是不紧迫的事情的数量的多少其实才是一个人通过这种方法获得了多少的最好指标。
本来是我自己设计的,但是后面回合GTD时间管理法一对照,发现其实有许多相似之处,但是实际上我的这个更加贴近实际的运行,并且包含更加清晰地时间拆解。
\n这里的4指的是事项的四种状态(虽然说其实不止四种):
\n在我的定义里面,番茄闹钟指的是每隔25分钟会提醒一次,之后过5分钟的时候又会提醒一次的闹钟。
\n这样可以使你对时间拥有更好的掌握感但是又尽可能的不去打乱你当前的节奏,并且使你间歇性的暂停一下,让你能够在这几分钟之内对刚刚25min做的事情进行一个快速的回顾以及为下一个25min调整状态。
\n","tags":["效率工具"]},{"title":"Broforce:人质解救机制","url":"/2023/11/30/1.Archieve/Broforce%EF%BC%9A%E4%BA%BA%E8%B4%A8%E8%A7%A3%E6%95%91%E6%9C%BA%E5%88%B6/","content":"# Broforce
# 游戏设计
在broforce中,你需要解救人质以获得额外的生命值,同时你也会更换你当前使用的角色。
这样,在你解救人质的时候,实际上也是面临一个开盲盒的过程。首先,选择解救人质肯定是较为好的一个选择,我们一般都会偏向于去解救,因为这样,不仅抽出来的时候是随机的,在死亡之后重生的角色也是随机的。在死亡的时候,你无法确定下一个到底是会是更顺手的还是不好用的,这总是为玩家带来惊喜,也推动着玩家继续探索。
\n在此机制的基础之上,游戏中丰富的角色也为游戏增色不少。为玩家提供了丰富的机制体验,使得玩家保有继续有玩的兴趣。
\n实际上这也遵循了精简的原则,你会发现,游戏往往在这种精简,将多种属性几何在一起的过程中,就会发生十分有意思的现象。[[将游戏的属性精简化]]
\n","tags":["游戏设计","Broforce"]},{"title":"Broforce:场景破坏元素在游戏中的独特作用","url":"/2023/11/30/1.Archieve/Broforce%EF%BC%9A%E5%9C%BA%E6%99%AF%E7%A0%B4%E5%9D%8F%E5%85%83%E7%B4%A0%E5%9C%A8%E6%B8%B8%E6%88%8F%E4%B8%AD%E7%9A%84%E7%8B%AC%E7%89%B9%E4%BD%9C%E7%94%A8/","content":"# Broforce
# 游戏设计
可以破坏的场景给游戏增色不少,在原有的突突突玩法上拓展了极为丰富的选择,你可以选择暗度陈仓,从奇怪的地方绕过去、也可以打地道战,让敌人脚底下的方块被破坏从而从高处掉下去、也可以直接打正面战斗。
但是允许玩家破坏场地的同时,也给玩家带来了一定的限制。如果地形被破坏的太严重,玩家将会比较困难达到终点甚至是无法达到终点。同时,游戏中有自爆兵,地形中也有炸药桶,煤气罐等,都对玩家进行了一定的限制。
\n","tags":["游戏设计","Broforce"]},{"title":"C++中string和int相互转换的常用方法","url":"/2023/12/08/1.Archieve/C++%E4%B8%ADstring%E5%92%8Cint%E7%9B%B8%E4%BA%92%E8%BD%AC%E6%8D%A2%E7%9A%84%E5%B8%B8%E7%94%A8%E6%96%B9%E6%B3%95/","content":"\n字符串操作是各种算法题中的常客,很多数据常常以字符串形式给出,其中有的需要自己转化成整数,而一些整型数据有时转换成字符串处理起来更加方便,比如判断一个整数是否是回文数,所以字符串和整数的转换是一些问题处理的基础步骤,C++ 在处理这类问题时并不像 Python 那样方便,但是也有许多方法能够实现,为了今后查找方便,整理如下。
\n
|
这是一种通过字符流的方式将整数转换成字符串,这种方式在C++11之前也可以使用
\n
|
这是一种C语言中的转换方式,sprintf 也可以换成更安全的 snprintf 函数
\n
|
使用 istringstream 可以从字符流中读取整数,与 ostringstream 是一种相反的操作
\n
|
注意 sscanf 函数的第一个参数类型是 const char *,string类型的参数需要转换一下
\n
|
atoi 函数的头文件是 stdlib.h,同样是一个C语言中的函数
\n该方法在C++11中被支持,十分地方便,但是需要确保给定的string是否可以转化为double,不然会抛出错误。
\n总结
itoa 不是c语言标准函数,在跨平台的整数转字符串的代码中不要使用这个函数
atoi 是一个标准函数,需要将它和 itoa 区别开来,这一点很容易记混的
如果是在C++环境中进行转换,推荐使用 stringstream 字符流的形式和 to_string 函数
broforce对于我而言属于是高中的美好回忆了,记得当时和同学一起玩,玩得还挺爽的。
\n最近在steam平台上找到了这款游戏,看到支持远程联机,而且打折只要10+¥,于是我就立马把它买下来了。
\n按照常规的游戏构成,对游戏的基本构成进行分析
\n首先是非戏剧元素1
\n游戏的邀请: 这部游戏在这个地方的设计并不流畅。但是是用了较为复古的风格和强有力的音效,在开局就给玩家带来了“力量感”的第一印象。
\n游戏的人数: 可以单人,也可以多人。多人模式比单人模式好玩一些。
\n玩家的角色: 玩家作为“解放”区域的一方,可以在开局和获得新的命数的时候随机抽取一个已经解锁角色,有概率会解锁新的角色。
\n玩家的交互模式: 人机对抗&协作游戏
\n抵达终点 / 击杀boss(营救/逃脱)
\n玩家可以使用键盘进行输入。wasd移动,普通攻击,特殊攻击,近战攻击。具体不同的角色会有些不一样,但是大体而言就是这样的一个配置。</br>其实和大部分其他同类的游戏挺像的。
\n如果这个游戏没有地形破坏这个功能,那么可以说,这个游戏达成目标的唯一途径就是:突突突。
\n或者是其实就是:有一点策略但是不多,大部分都是在突突突。
但是这个游戏有一个很有意思的部分,那就是地图是可以破坏的,而且游戏中有十分优秀的攀爬手感。
这样的话,玩家可以做出的选择就更多了。
玩家可以选择偷渡过去,而恰好有一关中直接对抗的难度要比偷渡过去难太多;也可以选择利用地形与敌人对抗,比如破坏他们脚底下的方块,使他们从高空落下,或者引爆周围的汽油桶,制造爆炸来消灭敌人……
\n所以说我认为这个游戏里面,地形破坏是十分重要的核心机制之一
\n命数
\n道具
\n\n玩家和人机的冲突,人机作为敌人,而玩家需要杀死敌人的首领
\n击杀首领即可达成获胜,通关需要”解放所有的区域“
\n挑战因人而异
\n挑战是动态的
\n挑战的设计优秀:
\n个人决策在游戏中的地位
\n失去自我意识
\n\n1. 指的是游戏中的根本核心,是游戏运作的基础 ↩\n\n
\n2. 就是说游戏中可能有许多的概念/机制/数据但是在游戏中我们不一定要让玩家清楚的知道;我们可以将它们具象化或者隐藏化来优化游戏中的对象和概念 ↩\n\n","tags":["游戏体验日记","Broforce"]},{"title":"float的相互转换","url":"/2023/12/08/1.Archieve/C++%EF%BC%9Astring%E5%92%8Cdouble&float%E7%9A%84%E7%9B%B8%E4%BA%92%E8%BD%AC%E6%8D%A2/","content":"\n
将字符串转换为浮点数的最简单方法是使用以下C ++ 11函数:
\n这些函数在string头文件中定义。
\n示例
#include <iostream>
#include <string>
int main() {
std::string str = "123.4567";
// 将字符串转换为浮点数
float num_float = std::stof(str);
// 将字符串转换为双浮点数 double
double num_double = std::stod(str);
std:: cout<< "num_float = " << num_float << std::endl;
std:: cout<< "num_double = " << num_double << std::endl;
return 0;
}
输出结果
num_float = 123.457
num_double = 123.457
我们可以使用std::atof()函数将char数组转换为double。
\n示例#include <iostream>
// atoi()需要cstdlib
#include <cstdlib>
int main() {
// 声明和初始化字符数组
char str[] = "123.4567";
double num_double = std::atof(str);
std::cout << "num_double = " << num_double << std::endl;
return 0;
}
输出结果
num_double = 123.457
\n\nC++ String(字符串)和 float/double (浮点数)互转 - 菜鸟教程 (cainiaojc.com)
\n","tags":["编程","Cpp"]},{"title":"C++:string的运用和相关方法","url":"/2023/12/08/1.Archieve/C++%EF%BC%9Astring%E7%9A%84%E8%BF%90%E7%94%A8%E5%92%8C%E7%9B%B8%E5%85%B3%E6%96%B9%E6%B3%95/","content":"[[___C++]]
\n从s中移走最后一个元素。在string/wstring中相当于移走最后一个char/wchar_t。这个方法算是比较简单的了。
\n删除s的最后一个字符
\n取出s从最开始到倒数第二个字符之间的字符串,赋值给s。相当于去掉最后一个字符
\n\n# 杂项技术
# 杂谈
在浏览bilibili的时候网页有的时候会刷新两遍,十分影响观看体验。
经过检查,bilibili在被adblock检验以及触发脚本:【玩得嗨】视频解析 的时候会触发该刷新问题
\n简单的做法:
\n阻止adgride读取该站点的权限即可,即关闭读取所有网站的权限而是改为在特定的网站上启用。
\n推荐做法:换用adblock plus
C++11:string和wstring之间互转换
\n今天打算做string到wstring转换时从哪里找来的,贴出代码,以防再忘记。C++11后UTF8编码转换还真是方便#include <string>
#include <locale>
#include <codecvt>
\t// convert string to wstring
\tinline std::wstring to_wide_string(const std::string& input)
\t{
\t\tstd::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
\t\treturn converter.from_bytes(input);
\t}
\t// convert wstring to string
\tinline std::string to_byte_string(const std::wstring& input)
\t{
\t\t//std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
\t\tstd::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
\t\treturn converter.to_bytes(input);
\t}
Edge for Windows
\n 因为我打算对于我个人使用网页浏览器的效率进行提升,故在这里记录一下我最近学到的几个比较好用的快捷键。
操作页面
\nCtrl + M
\nCtrl + P
\nCtrl + S
\nCtrl + R
\nCtrl + Shift + R
\nEsc
\n关闭页面
\nCtrl + N
\nCtrl + W
\nCtrl + Shift + W
\n新建页面
\nCtrl + Shift + N
\nCtrl + Shift + T
\nCtrl + T
\nCtrl + Shift + K
\n切换页面
\nCtrl + 1, 2, … 8
\nCtrl + 9
\nCtrl + Tab
\n在 MATLAB 中,函数可以返回多个值。要返回多个值,可以使用中括号将它们括起来,并用逗号分隔。以下是一个简单的示例:
\nfunction [output1, output2] = myFunction(input1, input2) |
在这个例子中,函数 myFunction
接受两个输入参数 input1
和 input2
,并返回两个输出值 output1
和 output2
。在函数的结尾处,使用 output1
和 output2
变量来存储要返回的值。
要调用这个函数并获取返回的值,可以使用以下语法:
\n[output1, output2] = myFunction(input1, input2); |
这将调用函数 myFunction
并将输入参数 input1
和 input2
传递给它。函数将计算输出值 output1
和 output2
,并将它们分别赋值给变量 output1
和 output2
。
在 Matlab 中,可以通过在函数定义行中使用多个输入参数来实现函数接受多个输入。以下是一个简单的示例:
\nfunction output = myFunc(input1, input2, input3) |
int a; |
函数——是编程的核心概念之一,是能够完成相对独立功能的代码封装成的模块。
\n在主程序中通过函数名和实参调用它,通过接口(即函数的输入、输出参数)来实现“通讯”。所以在调用函数时,你只要知道“被调用的函数是用来做什么的”,以及“如何对应它的输入、输出参数”就行了。
\n\n关于形参(形式参数)和实参(实际参数):函数定义中的参数就是形参,只是用来限定函数所接收的数据类型的,“泛指该数据类型下任一元素”;函数调用中的参数就是实参,是“特指的具体数值”来代入函数体执行代码。例如(C语言):
\nint max(int x, int y) |
其中,x,y是形参,2, 3,a, b是实参。
\n使用函数的好处:增加程序的可读性(函数可独立放在主程序之外)和重用性(一个函数可以多次被调用)。
\nMatlab的自定义函数,常用的有:m文件定义函数、inline(内联)函数、匿名函数。
\nfunction[输出形参表: output1, ...,outptn] = 函数名(输入形参表: input1, ... , inputn) |
说明:function:表示编写的是一个函数;
\n输出形参表,即函数的返回值,各返回值间用逗号隔开;(不需要像C语言那样,通过return到返回值来赋值,outp_args相应的参数可以直接使用)
\n函数名:需要和m文件名保持一致
\n输入形参列表:即函数的各输入参数,用逗号隔开;
\n函数体:完成函数的具体功能,是根据具体需要编写的;通过使用“函数的输入参数”、“自定义变量”、“流程控制结构”来实现;
\nend:表示此函数结束,也可省略。
\n定义完的函数保存为同函数名的m文件,放置在Matlab的当前路径之下(或修改当前路径为m-函数文件所在路径),然后就和使用Matlab自带的函数一样,直接在命令窗口或程序代码中使用该函数就是调用它了。调用函数时,只需要知道函数是完成什么功能的,以及它的输入参数、输出参数。
\n函数调用的一般格式为:
\n[输出实参表]=函数名(输入实参表)
\n注1:函数中遇return语句时,将退出函数体,此函数调用结束;
\n注2:函数体里面也可以定义一个或几个函数,称为子函数;注意:子函数只能存在于主函数体内,不独立存在;子函数在主函数体内的位置可以任意,不影响使用;子函数只能被主函数以及其他位于同一主函数体下的子函数调用,但子函数“句柄”例外;
\n注3:在调用函数时,Matlab用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。
\n例**1** 函数(子函数)定义与调用示例,求向量的最大、最小值。
\n编写m-函数文件:max_min_values.m
\nfunction [max,min] = max_min_values(X) |
调用函数(命令窗口):
\nA = [34,56,23,11,2,39]; |
运行结果: m = 56
\nn = 2
\n可以让用户编写简单的函数而不需要创建M文件。语法格式:
\nf=inline(‘函数表达式’, ‘变量1’, ‘变量2’, ……)
\n调用方式:y=f(实参列表)
\n注意:实参列表顺序应与inline()定义中形参列表的顺序一致。
\n这种函数定义方式是将它作为一个内部函数调用。好处是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是,该方法只能对数值进行代入,不支持符号代入,且对定义后的函数不能进行求导等符号运算。
\n内联函数示例:
\nf=inline('x^2+y','x','y') |
运行结果: f = Inline function: f(x,y) = x^2 + y
\nz = 7
\n1.匿名函数基本语法
\n匿名函数具有内联的所有优点,并且效率比更高。匿名函数的主要功能是:
\n(1)可以代替“将函数编写为单独的m-文件”;
\n(2)可以实现符号函数的赋值运算;
\n(3)很方便地对含参变量函数进行操作。
\n基本格式:
\nf=@(参数1, 参数2, …) 函数表达式
\n其中,@为句柄操作符,可以定义指向函数的句柄,函数句柄,可以理解成函数的“代号”,适用于函数名比较长,用“代号”代替函数操作更方便。
\n匿名函数示例:
\nf=@(x,y)x^2+y^2; |
运行结果: ans = 13
\nans = 26.1000 20.2000 18.3000 20.4000 26.5000
\n也可以定义二重匿名函数:例如,
\nf=@(a, b) @(x) a*x+b;
\n其中,“a, b”是外层变量,“x”是内层变量。
\n这样理解:每个“@”符号后面括号里的变量的作用域一直到表达式的结尾。例如对于“a=2, b=3”, f(2, 3)是以x为变量的匿名函数:
\n(f(2, 3))(x)=2*x+3
\n类似的可以定义多重匿名函数。
\n2. 匿名函数的应用
\n(1) 求解参数方程
\n例**2** 对带参数a的参数方程:
\n$e^x+x^a+x^{\\sqrt{x}}=100$e^x+x^a+x^{\\\\sqrt{x}}=100
\n要求针对a在[0,2]上的不同取值求解方程,并绘制方程的解x与a的关系的图像。
\n代码:
\nf=@(a) @(x) exp(x)+x^a+x^(sqrt(x))-100; |
运行结果:ans = 4.315274301739397
\n注:f(x)只能接受标量的自变量x,arrayfun函数对f做向量化处理使得f作用到向量自变量X上得到F(X). 语法:
\nF=arrayfun(f, X)
\n相当于用f作用到向量X的每个分量上。示例:
\nf=@(x) 2*x; %f(x)=2*x |
输出:ans = 2 4 6 8
\n(2) “显式”表示隐函数
\n隐函数一般无法给出显式表达式,但借助匿名函数和求根函数fzero()可以实现“已知隐函数表达式,对于给定的自变量x,通过数值方法求出因变量y”。
\n例**4 “**显式”表示下列隐函数:
\n$z=\\sin\\big((zx-0.5)^2+2xy^2-\\frac{z}{10}\\big)\\exp\\Big\\{-\\big[x-0.5-\\exp(-y+z)\\big]^2+y^2-\\frac{z}{5}+3 \\Big\\}$z=\\\\sin\\\\big((zx-0.5)^2+2xy^2-\\\\frac{z}{10}\\\\big)\\\\exp\\\\Big\\\\{-\\\\big[x-0.5-\\\\exp(-y+z)\\\\big]^2+y^2-\\\\frac{z}{5}+3 \\\\Big\\\\}
\n其“显式表示”为:
\nz=@(x,y) fzero(@(z) z-sin((z*x-0.5)^2+2*x*y^2-z/10) *exp(-((x-0.5-exp(-y+z))^2+y^2-z/5+3)),rand)
\n相当于求解满足该隐函数方程的z=z(x,y), 其中rand生成随机数作为初始值。
\n代码:
\nz=@(x,y) fzero(@(z) z-sin((z*x-0.5)^2+2*x*y^2-z/10) *exp(-((x-0.5-exp(-y+z))^2+y^2-z/5+3)),rand); |
运行结果:ans = 0.016721201334182
\n张志涌,精通Matlab2011a, 北京航空航天大学出版社
\n吴鹏, MATLAB高效编程技巧与应用25个案例分析, 北京航空航天大学出版社
\n作者:张敬信
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【Matlab基础】04. 自定义函数 - 知乎 (zhihu.com)
\n","tags":["matlab"]},{"title":"Matlab:for循环","url":"/2023/12/08/1.Archieve/Matlab%EF%BC%9Afor%E5%BE%AA%E7%8E%AF/","content":"\nfor循环用来循环处理数据。
例:输出1~100的和
>> clear |
解释:i从1到100,每次增加一个,该共循环100次
注意:分号的位置;不能使用“+=”符号;每写一层循环,必须以end结尾
例:输出1到10之间的奇数和
\n
|
解释:i = 1:2:10中间的2表示步长,表示从1到10,每次增加2,即1,3,5,7,9五个数之和;步长也可以为负数
\n>> clear |
解释:rand函数用于随机生成0~1之间的数,rand(1,4)生成1*4的列向量。
\n>> A = magic(4); |
解释:magic(n)函数用于生成任意一行或一列或主副对角线之和相等的方阵,对矩阵的循环遍历是依次取出矩阵中的每一列元素
\nbreak用于终止离它最近的一层for循环;
continue用于跳过离它最近的一层for循环,接着执行下一次循环
>> x = 1; |
>> sum = 0; |
for循环可以按照需要进行嵌套。
\n>> for i = 1:2:6 |
函数里的变量自在函数内有效, 那么如何在函数内调用外部的变量呢?
\n\n\nWarning: The value of local variables may have been changed to match the globals. Future versions of MATLAB will require that you declare a variable to be global before you use that variable.
\n
并且需要在你写的函数里面声明使用全局变量。
\nglobal x |
子函数默认可以调用其母函数中所有的变量
\nfunction main |
执行 main, 输出5. 子函数共享父函数的变量
\n\nMatlab之在函数里使用外部变量:全局变量和嵌套函数_matlab function 模块如何引用外部变量_Regnaiq的博客-CSDN博客
\n","tags":["编程","matlab"]},{"title":"Matlab:条件与循环","url":"/2023/12/08/1.Archieve/Matlab%EF%BC%9A%E6%9D%A1%E4%BB%B6%E4%B8%8E%E5%BE%AA%E7%8E%AF/","content":"# matlab
一、语法知识
1、循环控制语句:
\n1)for~end:用于要求重复多次执行for与end之间的程序语句。允许嵌套。其一般格式为
\nfor 变量 = 起始值 :增量 :终点 |
2)while~end:与c++类似,while也不规定循环次数,其终止时刻由while后面的条件表达式决定,若条件成立,则重复执行while与end之间的程序语句,否则结束循环。其一般格式为while 条件表达式
\t程序语句
end \t\t %与for~end语句类似,要想输出运算结果,在end后加“,变量名”,再按enter键
2、条件选择语句
1)if~end:其一般格式为if 逻辑表达式
\t程序语句
end
2)if~elseif~···~else~end:elseif~else是进一步的if条件语句,其一般格式为if 逻辑表达式1
程序语句1
elseif 逻辑表达式2
程序语句2
······
else
程序语句n
end
【注意:在多分支条件选择语句中,if和elseif是互相独立且互相排斥的条件选择语句,else后的语句执行的条件是先前所有的条件语句均不成立】 |
3)switch~end:开关语句是一种多分支条件选择语句,他执行特定选择语句,当且仅当变量或表达式的值相符。其一般格式为switch 表达式
\t
\tcase值1
\t程序语句
\t
\tcase值2
\t程序语句
\t
\t······
\t
\totherwise
\t程序语句
end
一维数组称为向量,二维数组称为矩阵
可以使用中括号“[ ]”,直接输入数值来创建数组,也可以通过MATLAB内置函数来创建特殊数组
元素间使用空格或者英文逗号间隔,使用英文分号执行换行操作
\n>>A=[1 2 3;4 5 6;7 8 9] |
zeros(m,n) ——创建m×n阶全零矩阵
\n>> zeros(2,3) |
ones(m,n) ——创建m×n阶全幺阵
\n>> ones(2,3) |
rand(m,n) ——生成一个由介于 0 和 1 之间的均匀分布的随机数组成的 m×n 矩阵
\n>> rand(2,3) |
randi(imax,n) ——生成一个元素在区间 [1,imax] 的均匀离散分布的伪随机整数的 n×n 矩阵
\n>> randi(5,3) |
magic(n) ——生成n×n阶魔方矩阵
\n>> A=magic(3) |
diag(A) ——返回一个列向量,其元素为由矩阵A的对角线元素
\n>> diag(A) |
diag(V) ——V是一个向量(行向量、列向量结果相同),返回一个对角矩阵,其对角元素为向量V的元素
\n>> A=[1 2 3]; |
数组中的每个元素都有两个属性:
1)元素的值
2)元素在数组中的位置
**注意:MATLAB数组索引从1开始!而不是0!!** |
以三阶魔方矩阵 A=[8 1 6;3 5 7;4 9 2] 为例
\nA(id) ——按列索引数组第id个元素
\n>> A=magic(3) |
A(m,n) ——返回数组A第m行第n列对应的元素
\n>> A(2,3) |
A([l m n]) ——返回一个行向量,元素为数组A第l、m、n个元素
\n>> A([1,3,5]) |
A(l m; p q) ——返回一个2×2阶矩阵,其元素第一行为数组A第l、m个元素,第二行为数组A第p、q个元素
\n>> A([1 3;1 3]) |
A([m,n], [p,q]) ——返回一个2×2阶矩阵,其元素为数组A第m行、第n行与第p列、第q列相交的元素,即[m,n]代表行(row),[p,q]代表列(col)
\n>> A([1 3],[1 3]) |
A(m,:) ——返回一个行向量,其元素为数组A第m行元素
\n>> A(2,:) |
A(:, n) ——返回一个列向量,其元素为数组A第n列元素
\n>> A(:,2) |
A([m n], p) —— 返回数组A第m行、第n列与第p行相交的元素
\n>> A([1 3], 2) |
A(l: m: n) ——生成一个等差数组,首项=l,等差=m(默认为1),尾项=n
\n>> A=[1:9] |
C=[A B] ,C=[A; B] ——将维度一致的两个数组合并为一个数组
\n>> A=[1 2; 3 4] |
A(m)=[ ] ——删除数组A第m个元素,并返回一个行向量
\n>> A=magic(3) |
A(m, :)=[ ] ——返回删除数组A第m行后缩短的数组(列操作同理)
\n>> A=magic(3) |
数组操作符:+ - * / ^ . ' |
1. 数组A与标量a
\n>> A=magic(3) |
2. 数组与数组
\n>> A=magic(3) |
3.矩阵运算
\nA=magic(3) |
比如: 加粗
\n创建代码格 |
\n\n创建引用格
\n\n
\n- a,b,c.
\n
感觉挺好用的。
可以尝试缩进\n
这是一个链接 Markdown语法
\nhttps://markdown.com.cn
fake@example.com
# bat
#
下面是一个简单的代码用于检测clash.exe
是否运行:
tasklist|findstr -i "notepad.exe" |
运用这个我们可以写一个自动保持notepad启动的脚本
\n
|
该类型下面有以下方法:
\nclick() 方法用于在单选按钮上模拟一次鼠标点击:
\n这个是直接改变按钮的状态,而不触发click事件(有点像将链接标记为已经按过,但是)。
\n\n# bat
在bat中实现延时有以下几种方法(我见过的):
ping
命令实现延时使用ping命令可以实现延时的效果,命令如下:
\nping 127.0.0.1 -n 11 >nul |
\n\n\n
\n- \n
-n
指定ping
的次数,每次大概间隔1s,>nul
将ping
过程回显信息给屏蔽- \n
ping
命令实现的延时,时间精度:大约1s,内存占用:ping
命令所占用空间- 注意闭坑:ping 从第1次发出请求到接收到回显数据几乎是瞬间的,所以你如果想实现10秒的延时,需要设置-n 为11(至少针对ping 127.0.0.1 回环地址是这样),网上很多说需要多少秒,-n参数值就设置多少秒, 真是有些误人子弟呢!
\n- 我还从网上看到过使用
\n-w
参数,指定超时等待时间来作为延时时间的,这不是可能,除非指定的地址ping不通,否则这个延时实现根本不可靠
timeout /t 4 /nobreak >nul |
# JS
因为divs是nodeList而不是array
nodeList是只读的,反映的是文档节点的实时结构;console.log(divs instanceof Array);; //false
console.log(divs instanceof NodeList);//true
要想把nodeList像数组一样操作,得先把divs转换为array;
var divsArray = Array.prototype.slice.call(divs,0);
然后,交换“位置”,注意,这只是交换两个节点对象在数组中的位置,而不是在DOM中的位置;console.log("before:",divsArray);//[div#test, div#test2]
var temp = divsArray[0];
divsArray[0] = divsArray[1];
divsArray[1] = temp;
console.log("after:",divsArray);//[div#test2, div#test]
其实就是 js中页面加载完成立即执行函数1
\nfunction func(){ |
window.onload=function(){ |
二、jQuery //document加载完成后就执行
\n$(document).ready(function(){ |
$(function(){ |
注:document执行顺序大于window大于onload
\n\n1. js中页面加载完成立即执行函数的写法_js在启动完毕后执行函数-CSDN博客 ↩\n\n\n
# JS
### js-获取标签元素data-xxx属性值的方法
标签上有两个属性data-id
和 data-user-name
, 需要通过js去获取
个人认为较为好用的方法为:使用getAttribute/setAttribute/removeAttribute ,较为直观和易读。let user = document.querySelector("#user");
// 取值
console.log(user.getAttribute("data-id")); // 666
console.log(user.getAttribute("data-user-name")); // Tom
console.log(typeof user.getAttribute("data-id")); // string
// 赋值
user.setAttribute("data-id", 777);
// 新增属性
user.setAttribute("data-age", 23);
// 删除属性
user.removeAttribute("data-user-name");
// <div id="user" data-id="777" data-age="23"></div>
js: 获取标签元素data-*属性值的方法_js获取元素指定属性值的方法_彭世瑜的博客-CSDN博客
\n","tags":["编程","JS"]},{"title":"matlab:停止、报错:控制程序的走向","url":"/2023/12/08/1.Archieve/matlab%EF%BC%9A%E5%81%9C%E6%AD%A2%E3%80%81%E6%8A%A5%E9%94%99%EF%BC%9A%E6%8E%A7%E5%88%B6%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B5%B0%E5%90%91/","content":"\n\n\n\n在写脚本的时候用到这些功能并不多,但是偶尔还是需要用到,每次都得重新查……这次整理一下记录几个常见的控制程序走停的函数pause、input、error、warning、quit、exit、。
\n
在执行脚本文件过程中可以让脚本暂停;
用法:
①pause:暂停,等待用户按下任意键继续;
②pause(n):暂停n秒,然后继续。
input()也可以让脚本暂停,等待用户输入后继续执行脚本;
用法:
① y = input(‘请输入:’); 只能输入数字;
② y = input(‘请输入:’, ‘s’); 将输入转化为字符串;
reply = input('Do you want more? Y/N [Y]:','s'); |
报错并退出当前脚本;
用法:
error(’ 报错提示’);
error('输入不符合要求') |
两者用法相似,不过error会终止执行脚本,warning并不会。
\nquit和exit的功能是一样的,都是退出matlab,注意与error的区别,error只是退出执行脚本,而quit和exit直接推出了matlab程序。
\n# 效率工具
\n
matlab里三角函数有sin,cos,tan,csc,sec和cot,是弧度制;
如,sin(pi/2)=1;
sind,cosd,tand是角度制;
如,sind(90)=1;
asin,acos,atan是弧度制反三角函数;
\nasind,acosd,atand是角度制反三角函数;
\nsinh,cosh,tanh是双曲函数
\n\n\n\n\n一直以为matlab中没有动态数组,或者类似C++的vector容器的数据结构。其实不然,matlab的数组就是一个动态数组,它可以当作vector,或者队列等数据结构使用。
\n
array = 1:10; |
上面的例子可以看出,只要令数组的某一个元素为[],就相当于删除了数组中该元素。array(1) = [] 这条语句,就类似于队列的pop()操作,array(end) = [] 相当于堆栈的pop()操作,而array(end+1) = 10 就相当于push()操作。
\n2. 数组的一些操作技巧
\n2.1 在数组中找到某个特定元素的索引
\na = [1 2 3 3 4 5]; |
matlab动态数组、队列、堆栈、容器_matlab 堆栈-CSDN博客
\n","tags":["matlab"]},{"title":"matlab:获取数组的大小","url":"/2023/12/08/1.Archieve/matlab%EF%BC%9A%E8%8E%B7%E5%8F%96%E6%95%B0%E7%BB%84%E7%9A%84%E5%A4%A7%E5%B0%8F/","content":"\n\n在MATLAB的编程环境下,和数学上的矩阵是一个意义(坐标索引从 1 开始)。我们多使用矩阵和向量这两个数学意义上的数据结构。
\n所以以下把多维(除一维)数组称为矩阵,一维数组称为数组或向量。对于那种每一维的长度不同的多维数组,在matlab和数学研究中,我们一会给它补0,变成矩阵。
\n
1、1*n的矩阵是一维数组(向量)
2、 m*n的矩阵是m(m>1)维数组
|
主要用来获得矩阵的各个维数的大小,或者指定维数的大小。
\nsize()
:获取矩阵的行数和列数
d = size(X) |
s = size(A)
,当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵的行数r
,第二个元素是矩阵的列数c
。即s = [r, c]
[r, c] = size(A)
,当有两个输出参数时,size函数将矩阵的行数r
返回到第一个输出变量,将矩阵的列数c
返回到第二个输出变量。r = size(A,1)
:返回的时数组A的行数c = size(A,2)
:返回的时数组A的列数用来获得数组长度,即一维数组的长度或者多维数组中最大的维数行数或列数中的较大值
\nnumberOfElements = length(array) |
\n\n\n
length()
和size()
使用区别:一般情况下,
获取一维数组的长度用length()
函数;
获取多维数组的维数大小用size()
。
计算一个数组所有的元素数或指定下标的元素总数。
\nn = numel(A) |
获取矩阵的维数
\n\n\n一般来说,多维数组我们用数学意义上的矩阵来理解。多维矩阵,从数学意义上来理解,即矩阵的元素不是数字。
\n
n = ndims(A) |
n1 = ndims( [1 2 3;4 5 6] ); % n1 = 2 二维矩阵 |
# python
在实际操作中,我们常常会从文件中输入和输出,在这个时候我们就需要调用相关的函数进行读取和写入操作,在下面就记录几种较为常用的方式
open函数可以打开任意格式的文件并且进行读写操作,这个的好处是,可以来回在多个文件之间切换。
在实际使用的时候需要注意的是,在程序写入完成之后,需要记得将文件关闭,不然的话数据不会实际写入
import os |
with open() as file:
的方式在找不到文件对应的路径/无法创建文件的时候,执行open()函数往往会报错,在这个时候我们往往会选择使用with,with会尝试打开,如果失败则不会执行其后的指令。且使用with会在结束之后自动将文件关闭。
\n实际上,这两者等价:with open(filename, 'w') as file:
file.write(ret)
try: |
但是前者明显更加清晰易读
\n此内容是直接询问ai + 查询相关资料学习到的,只能说ai确实改变了原有的常规学习方式
\n在python中可以很好地实现图片的处理以及进行OCR文字识别,所以说我们选择使用python进行文字的识别。
\n为了实现我们的目标,我们需要使用到OpenCV库来处理图像,并使用Tesseract OCR进行字符识别。
\nTesseract OCR 除了需要import还需要下载他们的本地工具,我们可以在他们的github上找到适用于window的安装程序
\npytesseract · PyPI | 查看python库详情
\npip import pytesseract
安装库
然后在 Introduction | tessdoc (tesseract-ocr.github.io) 里面找到你想要的版本,会跳转到相应的下载位置。
\n下载完成之后将下载位置的基础目录加入PATH 然后重启电脑。
\n关于的详细运用可以看看tesseract-ocr,基本安装配置,以及python中如何使用?_哔哩哔哩_bilibili
\n在这里我们的目标是将原有图片截取所需部分,然后进行文字的识别
\n在这里先是使用cv2
进行图片处理,然后对于处理后的图片使用了pytesseract
作为文字识别的工具,调用了pytesseract.image_to_string(img, lang='eng', config='--psm 6')
进行文字识别
import cv2 |
tesseract-ocr,基本安装配置,以及python中如何使用?_哔哩哔哩_bilibili
\n","tags":["编程","python","图形处理"]},{"title":"不要在大学里做的事情——来自父亲的教诲","url":"/2023/10/30/1.Archieve/%E4%B8%8D%E8%A6%81%E5%9C%A8%E5%A4%A7%E5%AD%A6%E9%87%8C%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85%E2%80%94%E2%80%94%E6%9D%A5%E8%87%AA%E7%88%B6%E4%BA%B2%E7%9A%84%E6%95%99%E8%AF%B2/","content":"今天在填写HUST华中科技大学军理线上作业的时候,看着满屏幕的选择题,我望了望手中的答案,突然想到,有没有先人已经做好了的脚本可以使用呢?
\n然后在油叉上面找了找发现了这个:
HUST华中科技大学军理线上作业简易自动填充助手 (greasyfork.org)
这是它的github页面:
HUST-MT-Helper
在尝试安装并使用之后,我发现并不能正常使用,主要原因是华中科技大学出版社的官网更新了,原有的域名和内容编排都发生了变化,于是我就开始尝试自己将其中的js代码进行改写。
\n具体改写过程在这里不再赘述,但是想要在这里记录一下自己所遇到的几个问题,以及学到的几个知识。
\n\n对于感觉js有点像就是对于html的源代码进行检索,编辑,操作……本身就提供了相当多的接口来使用,使用起来相对轻松。
\n基本语法和C++基本一致,除了在函数声明上和另外一些我暂时看不懂的东西上有所区别,基本上是相同的。
\nJavaScript是一个弱类型语言,在定义变量时,变量类型由其储存的内容决定。
\n其实结合后面的另外一点,感觉JavaScript在存储数据方面更像是存取指针,而不是引用具体的实例。
\n和常规的语言相比,JavaScript的运行依赖于html文件,在很多操作上比起引用更像是指针。
\n比如这样的DOM结构:<div id="a1"></div>
<div id="a2"></div>
我之前想的是这样交换:var divs = document.querySelectorAll("div");
var temp;
temp = divs[0];
divs[0] = divs[1];
divs[1] = temp;
但是实际上这将不进行交换。原因如下:
\n![[js-将nodeList像数组一样进行操作]]
\n可以将js挂载到网页中,然后使用edge开发者工具对代码进行debug调试
\n最大的优点是数据类型会以悬浮窗的形式显示出来,而数据的具体数据及其变化情况会以旁批的形式标注出来。
\n在JavaScript 如果直接使用 a.data-id
会被理解为两数相减a.data - id
这个时候就需要换一种读取方式。
![[js-获取标签元素data-xxx属性值的方法]]
\n![[js-radio表单结构]]
\n![[js-函数构造]]
\n","tags":["编程","JS"]},{"title":"主题团日","url":"/2023/11/05/1.Archieve/%E4%B8%BB%E9%A2%98%E5%9B%A2%E6%97%A5/","content":"\n主题团日相关材料省流
你也可以到我的blog里面查看🥰
XLXZ’s BLOG
# C++
使用C++写入数据或者读取表格数据然后转化为vector<vector<string>>
,代码如下:#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
\t// 写文件
\tofstream outFile;
\toutFile.open("data.csv", ios::out); // 打开模式可省略
\toutFile << "name" << ',' << "age" << ',' << "hobby" << endl;
\toutFile << "Mike" << ',' << 18 << ',' << "paiting" << endl;
\toutFile << "Tom" << ',' << 25 << ',' << "football" << endl;
\toutFile << "Jack" << ',' << 21 << ',' << "music" << endl;
\toutFile.close();
\t// 读文件
\tifstream inFile("data.csv", ios::in);
\tstring lineStr;
\tvector<vector<string>> strArray;
\twhile (getline(inFile, lineStr))
\t{
\t\t// 打印整行字符串
\t\tcout << lineStr << endl;
\t\t// 存成二维表结构
\t\tstringstream ss(lineStr);
\t\tstring str;
\t\tvector<string> lineArray;
\t\t// 按照逗号分隔
\t\twhile (getline(ss, str, ','))
\t\t\tlineArray.push_back(str);
\t\tstrArray.push_back(lineArray);
\t}
\t
\tgetchar();
\treturn 0;
}
最后读取的结果保存在strArray
里面。
注意,该方法通过分辨,
来进行分割,所以说处理字符串类型的数据的时候注意不应该包含,
\n\n","tags":["编程","Cpp"]},{"title":"关于hexo与hugo","url":"/2023/11/02/1.Archieve/%E5%85%B3%E4%BA%8Ehexo%E4%B8%8Ehugo/","content":"\n另外,一件比较有趣的事情:我现在才知道循环中定义的变量会在循环结束后自动垃圾回收🧐
\n
偶然间看到了还有其他的几个离线网页生成器,就好奇地去看了一眼~
\n所以说我选择:就使用hexo就ok
\n","tags":["hexo","杂谈"]},{"title":"关于MarkDown的吐槽","url":"/2023/10/29/1.Archieve/%E5%85%B3%E4%BA%8EMarkDown%E7%9A%84%E5%90%90%E6%A7%BD/","content":"\n怎么说呢,我从最近开始使用markdown来构建我的blog
\n但是,我还是更加习惯xmind的那种整理模式。
\n毕竟那个东西是树状的,在信息的传递上比起线性的列表式的markdown有着天然的优势。
\n 不过在线性记录的载体上,markdown算是比较方便且好看的载体。但是还是很麻烦,我连首行缩进都无法统一设置,还得使用  我的文本
进行编辑。
之前也明确过了,我使用markdown来构建blog,其中的blog更多是为了记录学业&技术方面相关的东西
\n比如说用来记录我之前踩过的坑啊,或者想到的一些有趣的东西~
\n","tags":["杂谈"]},{"title":"关于举办华中科技大学第二届“科技强国”大学生创意作品竞赛暨“青创+”系列成长活动的通知","url":"/2023/11/08/1.Archieve/%E5%85%B3%E4%BA%8E%E4%B8%BE%E5%8A%9E%E5%8D%8E%E4%B8%AD%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E7%AC%AC%E4%BA%8C%E5%B1%8A%E2%80%9C%E7%A7%91%E6%8A%80%E5%BC%BA%E5%9B%BD%E2%80%9D%E5%A4%A7%E5%AD%A6%E7%94%9F%E5%88%9B%E6%84%8F%E4%BD%9C%E5%93%81%E7%AB%9E%E8%B5%9B%E6%9A%A8%E2%80%9C%E9%9D%92%E5%88%9B-%E2%80%9D%E7%B3%BB%E5%88%97%E6%88%90%E9%95%BF%E6%B4%BB%E5%8A%A8%E7%9A%84%E9%80%9A%E7%9F%A5/","content":"\n\n自己筛选了一下然后又是问了问贴吧老哥们
最后还是犹豫不决😂
不过还好暂时还不急,我这电脑目前做一些外围的工作还是可以做的
\n总的来说,贴吧老哥给出了一个让我意外的选择,那就是选用了三风扇2080ti魔改22g三星显存
\n确实,如果是用来炼丹的话这无疑是最高性价比的东西,但是除此之外,我还在忧虑的是质量的问题。
\n另外,老哥的这套配置属于是把钱用在了刀刃上,可以说是十分合理的选择。
\n那么其实就是基本上敲定了按照这套配置装,另外我再花个100请学长帮忙装电脑应该就差不多。
\n","tags":["大学","设备"]},{"title":"冰汽时代-《帝国的边界》:利用人性中的怀疑与猜忌","url":"/2023/12/04/1.Archieve/%E5%86%B0%E6%B1%BD%E6%97%B6%E4%BB%A3-%E3%80%8A%E5%B8%9D%E5%9B%BD%E7%9A%84%E8%BE%B9%E7%95%8C%E3%80%8B%EF%BC%9A%E5%88%A9%E7%94%A8%E4%BA%BA%E6%80%A7%E4%B8%AD%E7%9A%84%E6%80%80%E7%96%91%E4%B8%8E%E7%8C%9C%E5%BF%8C/","content":"人性就是最复杂的决策问题 |
在游戏 冰汽时代-《帝国的边界》中 游戏需要让玩家和 自己腐败的母城、温泉村、儿童矿井、废船
这四个其他的定居点进行贸易,或者进行影响。
在游戏的后面,我发现整个系统根本就没有那么复杂:你跟他交换资源或者给予它帮助就可以增加互惠值,你只要向他们要求东西就会减低互惠值。
\n……互惠值其实就像是你能从他那里拿的资源的限额,其实根本不会影响之间的关系。
\n而你们之间还有一一个关系的值,则是由特殊事件决定的。比如说温泉村因为开发水泵把间歇泉搞爆发了,导致了温泉村的损失……然后你就选一个怪温泉还是怪自己。
\n就是这样的一个简单的决策,实际上这个选择对后面就没有别的影响了。我当时还以为这个水泵是关键决策……
\n说实话,这个决策的设计水平的前后关联度和其他的一系列东西,感觉都不如gal设计的复杂。
\n如果给他们赋予复杂的人性,增加你们之间的相互影响程度,游戏可以变得更加有意思。
\n是选择背叛欺骗最大化自己的利益,还是合作共赢?在这样艰苦的环境之中,我们无法不以最大的恶意来揣测对方的心理。
\n你需要花费事件了解对方,试探对方的底线……
对方也会试探你的底线……
如果能够这样,那么游戏将会变得十分有意思……
\n总的来说,帝国的边界很有创意地加入了外交系统 |
|
# 游戏设计
# 冰汽时代
# 未完成
在冰汽时代中,你有的时候不得不选那种“负面的”政策。
在这种不得不接受的妥协之下……会激发玩家对于自己的批判。
\n抱歉,对于这方面我还没有想清楚……下次再来写
\n\n**苍天已死,黄天当立** |
在这部dlc中,你将作为一支探险小队,接到命令的你将在前政府留下来的军火库中搜集资源,并且提交给新伦敦的政府。
\n但是政府腐败日益增长,你也因为伦敦长期不提供食物而关系破裂。
\n我们没有能源塔,在孤独无援,冰天雪地之中,我们需要找到其他的盟友并且打好关系,只有这样我们才能活下去。
\n在游戏的最后,新伦敦四分五裂,其中的人们向我们求助,救援?还是不救?面对昔日的母城。
\n\n在这一dlc中,可以看作游戏将“探索”功能进行了进一步的改造,我们不仅能探索到资源和人口,还多了一种其他的定居点。我们需要和其他的定居点打好关系,交换物资,帮助他们发展。这是十分有趣的一环。
\n在这个dlc中,玩家并不能很好的获取木头/食物/人口等资源,而是需要与其他的定居点合作。
\n所以说游戏的主要矛盾除了来源于环境,还来源于其他的定居点。
\n为了和其他的定居点达成良好的合作,我们需要提供资源,提供人口和技术,来帮助他们发展,这样我们才能成为坚实的同盟,这些定居点也会在最后的时刻帮助我们。
\n在其他定居点对我们的资源的索取的阻力之外,不同定居点之间的价值观和政策会有所不同。如何解决意外事件也是玩家需要抉择的地方
\n","tags":["游戏体验日记","冰汽时代"]},{"title":"制作一个可以将文本处理成Xmind格式的小程序","url":"/2023/11/03/1.Archieve/%E5%88%B6%E4%BD%9C%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BB%A5%E5%B0%86%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86%E6%88%90Xmind%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F/","content":"\n 我本来是想做一个自动将文本处理成xmind格式的小程序。
但是我不知道为什么一对字符进行处理就会出现乱码。。。
#include <regex> |
中文字符占两个字符位置,所以不可以用'我'
,而是tm要用"我"
。所以说所有基础原理是操作char类型的都需要重写。
只能说是最不爱国的一集……
ifstream in("input.txt"); |
**做个资本家压迫工人阶级** |
在在这部dlc中,时间定为了寒冬来临的最后一个秋天,你接到公司的命令,加急制造能源塔,以对抗即将到来的严寒。
\n在游戏中,你的游戏目标发生了变化,同时也会解锁新的建筑和法律、科技树……
\n\n游戏中需要给玩家较为明确的目标和较为明确的实现路径
\n在这局游戏中,玩家的目标变成了在指定期间内完成一定的能源塔建造任务。
\n游戏中,玩家实现目标的主要阻力来源为:
\n除此之外还有:
\n不安全的环境除了会降低工人的积极性以外,还会增加意外事故的发生率。一旦发生了意外事故,实际上是十分得不偿失的。这也为玩家实现目标形成了一定的阻力。
步步为营终不成事,急功近利适得其反
资源有限,你需要合理分配你的资源,将其运用到管理,安全,工厂上面,并且指定合适的政策,才能够完成最终的目标。
\n在这种压力之下,我被迫着选择了 招募 犯人进行工厂劳动、使用工程师对工人和犯人进行监管的路径,而最后,我则是给你个进更进一步,将工人阶级进行分化,顺从我的变为工程师,将忤逆我的变为犯人。
\n强制犯人劳动,毫不顾忌他们的生死……
\n比较有意思的事情就是这个选择并不是游戏告诉我你需要怎么做怎么做,而是玩家在自行的判断之下自己做出的选择、自己推理出的实现路径
\n在这种类型的游戏中,游戏资源相当的重要。
\n在原作中,食物由对应的生产设施生产而来,而人口只能靠着外出探索和靠着随机事件获取。
\n但是在这一dlc中,食物的获取变成了你需要派遣 侦察队 外出寻找动物出没的地点,然后建设打猎场,总而来说依靠探索获得食物。
\n而人口则是由 电报站,消耗资源配额,从远处运输过来。当然,探索中的意外事故也可能会让你可以获得人口。
\n使用电报站可以获得工人(2配额),工程师(4配额),蒸汽核心(20配额),配额每小时加1。后期签署使用犯人进行生产的法令会多一种犯人(1配额)。那么在这种新的资源获取方式之下,如何分配资源配额从而从远处运出回来合适的人口,成为了玩家需要决策的十分重要的点。
\n","tags":["游戏体验日记","冰汽时代"]},{"title":"冰汽时代:中度游玩体验","url":"/2023/12/02/1.Archieve/%E5%86%B0%E6%B1%BD%E6%97%B6%E4%BB%A3%EF%BC%9A%E4%B8%AD%E5%BA%A6%E6%B8%B8%E7%8E%A9%E4%BD%93%E9%AA%8C/","content":"\n今天游玩通关了冰汽时代这款游戏,尤其是体验完了最后的秋天和帝国的边境,对于游戏有了更深的理解。
\n但是可以说,我的初次印象还是比较准确的,其中指出的问题仍然是关键的问题,但是尤其是在dlc中,游戏体现出了更加丰富的玩法以及十分有意思的设计。以至于我认为dlc对于游戏的体验来说至关重要。
\n\n首先聊聊![[冰汽时代:最后的秋天]]
然后就是还有![[冰汽时代:《帝国的边界》]]
冰汽时代是一个模拟经营的策略性游戏,玩家需要子啊严寒、饥饿和物资匮乏的条件下带领玩家度过寒冬。
\n今天大概花了5h把游戏的第一章给打通关了,也有了一些想法和评价,下面我将我认为游戏中的亮点和缺点标记出来。
资源总共有四种:
\n总的来说其实除了“热量&煤炭“这一点,与其他的模拟经营没有什么区别
\n房屋按照换状环绕在能量塔周围,既符合背景设定,有体现出独特的设计美感。
\n在建设路径的时候,会按照环和直径的线给玩家指示,十分地直观。
\n在游戏的进行过程中,玩家需要选择不同的政策进行实施,这一点还是十分有意思的。硬要说,其实也挺平庸,毕竟这种设计其实挺常见,单项选择的科技树其实和这个等效。
\n但是游戏中将这种技能树和”政策“的名称相结合就有点有意思的意味了。
\n在游戏中,你将会面对一系列偶然事件,有的是好事情,有的是突发事故,有的是人们的抗议。给原本死板的游戏带来了一些调剂。
\n在游戏中可以派遣远征队去探索别的地方,从而获取额外的物资或者人口。这也是游戏中人口的唯一获取方式。
\n远征体系在原本过于确定的策略之外,给了玩家一个触发惊喜感的途径,毕竟远征结果是未知的。
\n这样玩家无法很便捷地查看可以解锁的政策体系。
\n虽然说这样可以强调政策的先后递进顺序,但是我也没有看出来为什么需要强调政策的前后递进关系,而且这样的操作真的很别扭。
\n更好的做法是做成可以自由拖动的页面。
\n政策系统里面其实就4个大方向,每个大方向下面有1~2个选项,总共选项就不多,加上选项进行选择了之后无法变更,以及政策之间无法发生联动,基本上只有比较单一的效果。最终的结果就是这个玩法没有深度。
\n如果将更多的政策细化添加进去,并且在不同的政策之间产生联动效果,那么将会有更多的可玩性以及趣味性。
\n不过这也意味着需要在这方面下大功夫,以及增加玩家的学习成本,但是我认为总的来说对于其的趣味性来说是值得的。
\n可以考虑[[灵感:一种另类的科技树设计]] 哈哈哈
\ntitle: 有误差的评价 |
来自中度游玩体验之后:
\n上面的评价有所偏差,游戏中的资源在食材这一物品上的设计是没有问题的。这样的设计增加了玩家利用食材的难度,而且作为唯一一个单一使用途径,需要两次处理才能正常使用的物资,在游戏中也有着特殊意义。
\n玩家需要合理规划生食材的获取和食物配额的合成,避免额外的产能造成的浪费。
\n对于玩家来说,在经历了几局之后总是可以找到最优的解法。并且环境对于这样的最优解法的选择上的影响不大,游戏中唯一可以迫使玩家不去选择“最优解”的唯一办法就是把最优解给禁用。实际上这种设计是比较没有深度的,也使得游戏在决策上会显得有些肤浅。
举个例子,在游戏中,玩家有两种可以获得煤矿的方式,一种是使用挖矿机在煤矿上直接采集矿物,另外一种是使用采矿机器将随便一个地方冲出煤矿堆,然后在使用收集站对煤矿进行收集。在游戏中,除非迫不得已,一般直接选择后者。有下面几个原因:
还有比如说伐木机,和冰冻木头钻机,一般直接选择后者原因如下:
\n还有供暖,基本上核心供暖+加热器>小的加热站
反正游戏中挺多这种“最优解”的。这无疑会使得整体的决策变得较为无趣。
看起来有点像探店之类的东西,不过作者对于“不同种族的风俗店会是什么样的呢?”展开了探讨。
\n作画挺好,剧情不流水线,很有意思
\n
8/10
title: 一 |
Student A: Hey, have you ever come across that quote by Albert Einstein about personal growth and character development?
\nStudent B: Yeah, I think I remember it. He said something like, “Try not to become a man of success, but rather try to become a man of value.”
\nStudent A: Exactly! I’ve been thinking a lot about that lately, especially in today’s society where people often judge themselves and others based on achievements and possessions.
\nStudent B: That’s true. It’s easy to get caught up in the materialistic side of things and forget about the importance of personal qualities.
\nStudent A: Definitely. To me, being a person of value means having traits like integrity, empathy, and humility. These are the qualities that help us build strong relationships with others and contribute positively to society.
\nStudent B: I couldn’t agree more. For instance, honesty is a crucial aspect of integrity. If someone values honesty, they’re more likely to be trusted and respected by their peers, which can lead to better opportunities in both their personal and professional life.
\nStudent A: Absolutely. And another important aspect of becoming a person of value is continuous learning and self-improvement. This could involve acquiring new skills, expanding our knowledge, and stepping out of our comfort zones.
\nStudent B: Yes, by doing so, we can grow as individuals and make meaningful contributions to the world around us. It’s not just about what we have or what we’ve achieved, but who we are as people and how we can impact others positively.
\nStudent A: In conclusion, I believe that Albert Einstein’s advice is still very relevant today. True success comes from within, and by cultivating important qualities like integrity, empathy, and humility, and continuously striving for self-improvement, we can lead fulfilling lives and make a positive impact on those around us.
\nStudent B: Well said. It’s a great reminder that our character and personal growth are just as important, if not more so, than any external success we may achieve.
\n二
Emotional intelligence, or EQ (Emotional Quotient), refers to the ability to Emotional intelligence, or EQ (Emotional Quotient), refers to the ability to recognize, understand, and manage one’s own emotions, as well as the emotions of others. It involves being aware of how emotions influence thoughts, behaviors, and relationships, and using this awareness to navigate social situations effectively.
Being emotionally intelligent is indeed important for several reasons:
\nExample: A manager who is emotionally intelligent can sense when an employee is feeling stressed or overwhelmed and offer support or resources to help them cope. This not only improves the employee’s well-being but also increases their loyalty and productivity.
\nExample: In a family setting, a child who is emotionally intelligent might express their frustration about a task in a calm and respectful manner, making it easier for their parents to understand their needs and provide guidance.
\nExample: A student who is emotionally intelligent might choose a college major not only based on its academic reputation but also on their personal interests and values, leading to greater satisfaction in their chosen field.
\nExample: A person who is emotionally intelligent might practice mindfulness or engage in physical activity as a way to manage stress during a busy workday, rather than relying on unhealthy coping mechanisms like overeating or substance abuse.
\nExample: A CEO who is emotionally intelligent can inspire and motivate their employees, fostering a positive work environment that leads to increased productivity and innovation.
\n三
\n Friends are an integral part of our lives, providing us with emotional support. Friends are an integral part of our lives, providing us with emotional support, companionship, and a sense of belonging. They play a crucial role in shaping our personalities, values, and beliefs. Friendship benefits people in numerous ways, both emotionally and socially.\n
Firstly, friends provide emotional support during difficult times. When we face challenges or hardships, having someone to confide in can make all the difference. For example, when I was going through a tough breakup, my best friend listened to me vent and offered words of encouragement. Her support helped me get through that difficult period and move on with my life.
\nSecondly, friends help us develop social skills and expand our horizons. Through friendships, we learn how to communicate effectively, resolve conflicts, and empathize with others. For instance, I have a friend who is from a different cultural background than me. Spending time with her has taught me about her culture and traditions, and it has broadened my perspective on the world.
\nThirdly, friends contribute to our overall well-being and happiness. Studies have shown that people with strong social connections tend to live longer, healthier lives. Having friends to share experiences with can also increase our feelings of happiness and fulfillment. For example, I recently went on a trip with some close friends, and the memories we made together have brought me joy even months later.
\nFourthly, friends can serve as mentors or role models, inspiring us to grow and achieve our goals. They can offer advice, guidance, and support as we navigate our personal and professional lives. For instance, I have a friend who is a successful entrepreneur. She has shared her experiences and insights with me, which have motivated me to pursue my own business ventures.
\nIn conclusion, friends play a vital role in our lives by providing emotional support, helping us develop social skills, contributing to our well-being and happiness, and serving as mentors or role models. The benefits of friendship are immeasurable, and it is essential to nurture and cherish these relationships throughout our lives.
\n四
\nOne scientific discovery that has had a huge impact on how we live today is the invention of the Internet. The Internet has revolutionized the way we communicate, access information, and conduct business.
\nBefore the Internet, people relied on traditional forms of communication such as letters, phone calls, and face-to-face meetings to stay in touch with others and gather information. With the advent of the Internet, these methods have become outdated. Today, we can connect with anyone in the world instantly through email, social media, and video conferencing. This has made it easier for people to maintain relationships and collaborate on projects regardless of their physical location.
\nIn terms of accessing information, the Internet has also transformed the way we learn and research. In the past, people had to rely on books, encyclopedias, and other printed materials to find answers to their questions. Now, with just a few clicks, we can access a vast amount of information on any topic from anywhere in the world. This has made education more accessible and allowed people to stay informed about current events and trends.
\nFinally, the Internet has had a significant impact on the business world. Online shopping has become increasingly popular, allowing consumers to purchase goods and services from the comfort of their own homes. Additionally, many businesses have shifted their operations online to reach a wider audience and reduce costs. This has led to the rise of e-commerce and digital marketing, which have become essential components of modern commerce.
\nOverall, the invention of the Internet has had a profound impact on how we live today by changing the way we communicate, access information, and conduct business.
\n\n一共40分,最后按比例折算为绩点。
\n其实最主要的是需要考虑是否能够转变观念,将课堂要求的任务不在看做任务而是自主完成学习提升的途径。
# 未完成
GTD时间管理法,全称为“go to done”今天学习了GTD时间管理法的原理应用等等等等,总而言之,感觉不是很好用。
\n\n关于这个可以参考up主 topbook 的相关视频
GTD 自我管理、时间管理教程,
也可去查看我后续可能会放在reference里面的 [[GTD时间管理]]
GTD时间管理法将所有的事项进行拆解分析排序之后形成了7个事项栏:
\n而后再按照一定的逻辑顺序将事项进行排序。
相比之下,或许我现在的任务处理方式更简洁明了并具有实际意义。
因为结构复杂,所以说最后涉及的体现形式会十分复杂,最显著的一点比如说:处理一个事情可能要跨越好几个应用,这对于使用者是十分不友好的。
\n“go to done”使用的是done这个字眼,实际上我们在完成任务清单的时候,需要抓住的是本质上有价值的结果,而并非是事项本身。
\n在GTD中,立即能做的事情会被放入立即做之中,这启发了我事项的规划和事项的具体执行可以进行链接并且形成一个更好的体系。
\n在xmind中剖析完之后的小任务,完全可以将其丢到“飞项”里面,然后再在“飞项”里面规定时间等等
\n在使用飞项的时候我就注意到了,如果我体现在指定事项的时候给它预估一个时间,那么我会更有计划,更乐意的去完成这个事情。个人感觉原因有两个:
\n那么,实际上这种时长预估完全可以在事项分析的阶段就规划出来,相信它在那里也会发挥相同的作用。
\n高中的时候我就有每次定一个九分钟的计时器并且要求我自己将其当成十分钟的习惯,这样一方面可以给我自己施加压力促使我加快速度,另外一方面,它可以让我直到我目前已经花了多少时间。
\n所以说后面可能会考虑继续使用这种方法。
\n可能清单的英文是Someday/maybe,在四象限分类法里面大概算是“不重要也不紧迫”,那么实际上这就启发了我管理这一个分类的灵感:下次就休息/闲的没事干的时候去做做这些事情就好了~
\n我的时间管理法是以四象限管理法为基础的方法,
具体内容我会再写一篇post记录。
[[4-4时间管理法]]
\n","tags":["效率工具","Xmind归档","杂谈","bilibili归档"]},{"title":"小小梦魇:游玩初体验:最好不要让我玩到最后仍然认为你是一坨大便","url":"/2023/12/15/1.Archieve/%E5%B0%8F%E5%B0%8F%E6%A2%A6%E9%AD%87%EF%BC%9A%E6%B8%B8%E7%8E%A9%E5%88%9D%E4%BD%93%E9%AA%8C%EF%BC%9A%E6%9C%80%E5%A5%BD%E4%B8%8D%E8%A6%81%E8%AE%A9%E6%88%91%E7%8E%A9%E5%88%B0%E6%9C%80%E5%90%8E%E4%BB%8D%E7%84%B6%E8%AE%A4%E4%B8%BA%E4%BD%A0%E6%98%AF%E4%B8%80%E5%9D%A8%E5%A4%A7%E4%BE%BF/","content":"最好不要让我玩到最后仍然认为你是一坨大便 |
小小梦魇,一直都听说是一个不错的游戏,但是实际上我上手玩了一下之后,我深刻地意识到了这可能是我今年玩过的第一款大便。
\n实际上,这款游戏按照比较客观地评价来说,应该不算是烂,而算是中庸地一个设计,但是问题是,我给它的期望很高,但是这款游戏的操作手感……着实让人难受。
\n下面我会指出几个我认为游戏中做的比较好的和垃圾的几点:
\n这个结构确实是一个十分常见的解密元素的设计,电线作为一个线状的东西可以很好的引导玩家的视线,从而做到引导玩家进行解密。
\n但是在本作中,游戏巧妙地运用了拖动视野这个功能将这个解密设得十分精妙。
\n游戏的第一章中,有一关需要将电门断电,我以为是要对边上的一个配电箱进行操作,但是根本碰不到那个配电箱。过了一会儿,游戏提示我需要按住上下左右拖动视野。
\n不看不知道,一拖动视野,赫然看见从屋顶拉了根线,拉向我刚刚进来时打开的门的后面。再次将门关上,霍,原来是个开关,在这个门的后面。
\n或许 [[灵感:拖动你那受限的视野]] 可以作为一个独立游戏的核心机制设计?
\n总体来说,游戏营造了一个孤独恐怖的氛围,这一点做的还不错。
\n接下来我要骂骂咧咧地写下这个游戏的缺点了
\n游戏中没有任何的初次引导,甚至连什么按钮对应什么功能都没告诉我。确实,我们一般推崇没有硬性引导的游戏,但是这并不代表游戏就应该直接把引导的部分删去。
\n哪里能上去?哪里需要俯身?哪里可以进行攀爬?都没有告诉玩家。玩家需要自己摸索,只有在你两分钟还卡在一个位置,游戏才会告诉你啊,按什么按键有什么功能?
\n这丝毫不合理,所能带给玩家的只有挫败感,游戏在很多的时候都会有这这样的问题。
\n游戏中没有明确的引导设计,你基本上不知道你需要干什么,或者是需要往哪里走。带给玩家的感受就是,哦,貌似我需要通过这扇门,而在更糟糕的情况下,玩家根本不知道需要做什么。
\n这个游戏又不像是 mc,或者是其他的没有明确的引导设计的游戏一样,那些游戏的答案没有定数,可以说是条条大路通罗马;或者说主线之外的东西带给了玩家十分丰富的探索体验。
\n在《小小梦魇》中,玩家能选择的只有一条路,这毕竟是解密类的游戏,这样的设计无可厚非,更多的额外地方,应该是作为彩蛋的。但是游戏中又并没有明显地将游戏的主要内容和彩蛋部分划分开来,甚至在彩蛋中添加了本身只应该存在在主要部分中的标志性烛灯和蘑菇人。
\n我tm在那个彩蛋的部分找了半天有没有前进的路,最后查攻略才知道这tm只是个彩蛋而已,而正确的路在上一个房间。
\n在玩小小梦魇的时候,我一直在想,给这些东西是干什么用的。
\n具体而言:这个能爬吗?这个跳的上去吗?这个能被推动吗?这个地上的纸是有什么用吗?
\n然而如果有人拿着问我这个问题,我能回答的也只有是:试试之后才能知道。
\n“无意义的设计”游戏中有很多这种设计:不单是无意义,更多的还有是欺骗玩家的设计。
\n在第一大关中,你丫的抓取抛掷功能只能用于触发彩蛋,那么请问,你tm地上设计那么多可以抓取的,可以抛掷的东西有什么用?
\n你说是为了营造氛围?那你就设计一个可以与主角产生物理效果不就行了,取消掉左键拾取谢谢。
你说是为了丰富游戏的内容?抱歉,仅仅是这样的东西并不能提高游戏的趣味性,它没有任何的功能,而且也并不有趣。
首先,你并不能够通过一个物体的高度判断它能不能被爬上去,同样高度的物品有可能你能抓住并且爬上去,也有可能,你只能攀上去……
\n其次,就算是同一个物体,侧面爬不上去,但是欸,你给他换个位置又能爬上去了。
\n这对于玩家的感知判断具有极大的干扰性,并且给予了玩家极大的挫败感。
\n寻找一个攀爬点需要我寻找半天,之前从未告诉我过冰箱的隔层是可以当作梯子攀爬的,后面在需要攀爬网状格子的时候也从来网状的格子的笼子实际上是可以攀爬的。当我以为就这样的时候,游戏又让你卡在一个地方,直到你发现哦,锁链也是能够攀爬的。
\n不确定,这是游戏给我最大的感受,什么东西能爬,什么东西不能。
\n问一下玩这个游戏的人:什么物品可以被拖拽?抱歉我也不知道,我只知道当你认为不能拖动的时候往往它可以被拖动。
\n在游戏中的一关里,玩家需要拆除一个被钉上的木板,才能进入出口。同样的主角,能扯动钉了钉子的模板,拖不动一个木板。
\n这还不可笑吗吗?游戏中出现了十分明显的引导缺失。
\n实际上游戏中提示你冰箱可以被拉开的时候设计得就不错呀,在冰箱上面有一个黑手印,这样不就行了,在玩家见到拖拽的物品得时候全部给它打上黑手印……
\n举个例子:双人成行中,但凡是需要钉钉子的木板,都被涂上了鲜艳的黄色,玩家永远不会陷入:我的钉子到底要钉在哪里? 的窘迫境地。
\n简而言之就是 3d游戏,2d视角。
\n游戏采用了2.5d中较为偏向于平面的一个视角,在这种视角下,游戏三维空间的“深度“并不能被很好的感知。但是游戏中却设计了许多需要对玩家所处的深度进行操作的场景。
\n在双人成行中,当视角切换为较为横板的视角的时候,一方面,玩家的操作方式会变为横板游戏的操作方式,另外一方面,游戏的x轴也会变得对于游戏而言不重要。
\n在这样的视角之下,跑酷、躲避水蛭……都变成了一件无比折磨的事情。
\n在游戏中,玩家时常可以走到建筑的后面去,而这个时候,走到后面并没有什么作用,既不能带来丰富的体验,玩家判断自己的位置甚至都存在困难,那么这个时候,你设计一个可以建筑的后方有什么用呢?
\n在游戏的狗屎的操作手感+固定视角的加持之下,看不到主角在哪里成为了一个十分ex的体验。
\n在第一章的某一关中,我因为被一个小小的突起卡住了而无法前进,而且这个地方我看不见主角……
\n\n从昨天开始陆陆续续玩大概玩了10h,现在指挥官的等级在20级。
\n首先这是一款二游,所以说不应该和其他的游戏一样执着于游戏设计,其画面表现 ,任务塑造,世界观,背景……同样也是构成一款二次元游戏的重要组成部分。
\n下面我就将就我自己的初步游玩,谈谈我的感想。另外,为了能对事物有一个评分的判准,我将会分析游戏中的加分项和扣分项,然后再以杂谈的形式随便聊聊以增加文章的趣味性。
\n\n这款游戏的建模和2d渲染做的都很好,尤其是腿部和足部,还有黑丝,可以看的出游戏开发商在这方面做了很大的努力
\n游戏的画面内容可以分为:基地的展示用画面,过场CG的画面,文字对话的画面,和局内的画面,局内的动画。
\n基地的展示用画面做的十分地精细,尤其是足部与黑丝,这绝对是不会让我吝啬我的赞扬的部分。
\n在游戏中,随着玩家抽到新的角色并且将其升级,玩家可以解锁其相对应的休息室的画面。在休息室的时候,玩家可以欣赏角色在进行各种姿势时的动态3d场景,更为重要的是,在这个场景中,玩家是可以控制摄像头的位置的,你可以将其放在任何一个位置……
\n“这下不得不品鉴一下了”,这对于我这种lsp来说无疑是挺致命的诱惑……
\n在角色升级界面,玩家还可以进入观察模式,并且和角色进行少量的交互动作。
\n总而言之,代表着游戏的核心的顶尖的画面品质做的很好。
\n过场的实时渲染的CG的效果有明显的质量下降,不过总体而言在可以接受的范围之内。值得指出的是,游戏的面部嘴型存在十分严重的问题……
想象这样一个镜头,是拍摄男主的大头,并配有男主的声音,但是男主的嘴巴就是一下都没有动……这种感觉十分的违和
文字对话页面就是十分普通的2d贴图+对话框 的设计,十分地普通,没有上面可圈可点之处。
\n相较之下,我还是感觉类似崩坏3的多使用3d模型进行演出的形式会更好一点,因为这样的话动作,神态,表情都可以较为活灵活现地表达出来。
\n如果可以的话,我还是希望可以是全CG
\n少女前线2作为一款自走棋类的游戏,在游戏的局内使用的是低模,但是还是具有一定的可欣赏程度,我认为这是相当不错的。
\n在局内,移动你的角色将会播放移动的动画,看美少女翻墙和跑动还是很有意思的。在这个过程中,玩家可以欣赏角色的美腿。(所以说整个游戏都在强调腿不是吗www,这是很好的一点,将特色做出来并且强调)
\n在释放技能的时候也会播放对应的动画,还是挺精致的,但是在追求效率的时候可以将其关闭。
\n就世界观来说,还是老生常谈的末世,还是很有意思的。世界观上面可能有继承上一代的成分?我没玩过上一代,所以说并不能回答这个问题。
\n但是在游戏中,我感觉似乎反派的魅力要小一点,整个123章下来,给我的感受就是:反派好傻逼、主角人脉好广。
\n另外,一般而言,为了方便玩家带入游戏一般会将主角设定为“无脸人”,或者至少将主角设定为一个失去记忆的人,这样的话可以方便玩家将男主带入自己。
\n但是在本作中,男主作为一个经验丰富,拥有很多过往的事情的人,十分地不方便玩家带入视角。
\n每次男主说 “找*” 或者 “她是我的老朋友”**,的时候,我都会想问:“所以说你TM到底是谁?你之前又有什么故事?”
\n这种时候就会感到十分地不适。
\n本作的世界观的构筑方式是由以下部分组成的:
\n十分常见的构筑方式,但是我认为还是存在一定的缺陷,
\n在本作中,几个主角设计的都挺有意思的,各有各的风格和性格,
\n男主的问题我不想再提了,前面在世界观的部分已经指出了问题所在
\n但是反派还是缺乏塑造,我所见的就是一个智力有点问题的反派人类,还有一个超级吊的反派战术人形”六分仪“
\n……
\n这毕竟是二次元游戏,只要上面两点不差基本上就是一款合格的二次元游戏了。
\n但是我本人玩过的自走棋类游戏较为少,所以说见到本作的自走棋的设计还是颇有兴趣的awa
\n后面再写一篇有关于游戏设计的
\n","tags":["游戏体验日记","少女前线2:追放"]},{"title":"工创实践-鞋架制作","url":"/2023/11/20/1.Archieve/%E5%B7%A5%E5%88%9B%E5%AE%9E%E8%B7%B5-%E9%9E%8B%E6%9E%B6%E5%88%B6%E4%BD%9C/","content":"\n\n前面已经简单聊过了少女前线2里面的画面和剧情等等,现在在这里简单聊聊少女前线2里面的机制设计。
\n游戏中实际上是一个较为常规的自走棋的模式,每个角色可以在移动之后使用技能或者普攻,拥有蓝条这个限制因素,玩家需要合理规划这些资源来达到游戏的目的。游戏的目标一般是清除所有的敌人,除此之外还有守点,攻点等玩法,但是本质上仍然是击杀敌人。
\n游戏的一个较为有趣的设定是掩体的使用,在游戏中,地形主要可以分为以下三种:
\n在游戏中,角色会因为其所处的位置和自生属性获得减伤,其计算公式如下:
\n地形减伤是因为角色处在掩体后面,可以抵挡对应掩体抵挡方向的直线攻击,并对这部分伤害进行减免,一般来说会提供35%的伤害减免。
\n稳态减伤是角色由于处在掩体后方获得的减伤效果,当然,也可以通过角色技能获得。在掩体发挥作用的时候,稳态减伤会在其基础上进一步减伤。
\n比如说:角色 在【7点稳态】时 在受到【会被掩体格挡住】的无属性攻击的时候,实际的减伤比例是:
需要注意的是,大部分攻击实际上一般都会附带一部分稳态伤害,在计算的时候会优先减去稳态的值,比如:角色在【7点稳态】 受到 带有【3点稳态伤害】【会被掩体格挡住】的无属性攻击的时候,实际上的减伤比例应该是:【掩体减伤35%】+【7-3点稳态减伤 20%】
\n当场上存在属性克制的时候,将会给攻击额外附带2点稳态攻击的效果。
\n在稳态被清空的时候,角色会进入失衡状态,此时,即使掩体不在会生效,玩家将会把伤害吃满。
\n在这种机制之下,玩家进攻的最好的办法就是想办法绕过掩体/通过特殊攻击破坏敌人可能存在的可以被破坏的掩体,或者直接使用投掷类攻击,这类攻击可以无视掩体。
\n你可能会说:那我选择破甲然后进行进攻不好吗?但是在游戏中,大部分角色每回合只能进攻一次,也就是说,你先破甲+攻击,往往需要花费两个甚至更多的回合,这就有点得不偿失了。
\n在游戏中,只有少的可怜的额外行动机会获取方式,这就导致,怎么样才能最合理地分配你的伤害。
\n我们希望高额的伤害能打出它的作用而不让伤害溢出导致浪费,至于击杀残血,我们更希望是范围伤害 收割一批残血或者使用 追加攻击/协助攻击/反击 等被动攻击方式来达到收割残血而不至于浪费行动机会。
\n就现在我的基本打法而言,基本上就是围绕
\n\n\n\n\n这是我第一次购买显示器这一类电脑外设……总而言之也是挺折磨的一次购物体验……
\n
或许是我个人的原因?反正我挑挑挑选选了半天才找到合适的电脑。
从了解电脑显示器的各种指标属性,再到收集数据,最后通过按照各种指标的重要性给其综合打分,并计算性价比……我认为这样的一套选择方式是可以最大程度帮助我选择到自己心仪的产品的。
\n
电脑显示屏的几个指标属性
\n分辨率指的是屏幕中的像素比例。
\n电脑输出图像的时候,实际上是按照像素格点进行输出的,这样就引出了一个问题,那就是像素密度越大,显示的内容越小,我们也就越难辨别文字的内容。
\n为了解决这个问题,系统会存在一个叫做显示缩放比的东西。其将原本的输出进行放大,并投射到显示屏幕上面。那么我们将打印机的标准像素密度DPI = 96 作为一个标准想要最终现实的效果与这个指标接近,所以有公式:
其中的K就是系统的缩放比。
\n我的笔记本规格为1080p,15.6寸,缩放比为125% |
另外,需要指出的是,调整缩放比仍然存在一定的问题。计算机使用插值算法来处理每一个像素,使得原本的图像被放大到指定的比率。在这一过程中,会出现显示模糊的问题。
为了解决这个问题,缩放比率最好要是整数。
而我的打算选择的2k 27寸刚好设置100%缩放就ok
\n最终我决定购买2k的屏幕,一方面还有价格的因素,在这个分辨率往往是各家厂商的主力出货区间,竞争更加激烈,性价比较高。
\n屏幕规格大部分厂商都是16:9,虽然也有少部分厂家做其他比率的屏幕,但是,16:9是各家厂商的主力出货区间,竞争更加激烈,性价比较高。
\n电脑屏幕的尺寸一般有24寸,27寸,32寸三个挡位。
\n但是考虑到我要将其放置在桌子上,32寸的显示器就有点过于大了。那么接下来就是需要比较24寸和27寸。
\n首先需要提到的是:根据前文的缩放比最好是整数的结论,实际上这两种配置都能做到100%缩放比率即可:
\n但是显然我想要的是2k的屏幕。我现在使用的这个笔记本的分辨率是1080p的在先前的使用中总是感觉有像素感(虽然现在想起来其实是因为之前使用笔记本自带的键盘打字,屏幕不得不离眼睛较近,现在我购置了机械键盘之后,终于可以把屏幕方远来打字了。舒服了不少),所以说新的显示器我计划是一定要上2k。
\n因为我是计划以后可能会使用显示器进行绘图或者一些需要色彩的配置较好的操作,所以说我希望显示器的色彩能够较好。
\n显示器的色彩主要有以下几个参数:
\n位深指的是显示器用于处理颜色时使用的位数,一般会有8bit和10bit之分,但是需要注意的是,现在市面上存在宣传8抖10的显示器。
\n8抖10,指的是通过颜色参杂原理,显示出原来显示不出来的颜色,从而达到更好的显示效果,比如想要显示2.5这个颜色,只需要将2和3进行参杂即可。
但是需要注意的是,这种方式虽然提高了颜色显示的精细程度,但是本质上仍然是8bit的显示屏,是无论如何都无法与10bit相比的。
所以我的选择指标之一就是,显示器的位深是否为10bit
\n因为发光材料的限制,所有的显示器都会有一个颜色的显示范围。根据1953年制定的sRGB标准可以对显示器的颜色显示进行度量,后面又有一个要求更高的DP3标准
\n标注超过100%的色域范围并没有意义,其往往指的是使用其他标准然后使用折算计算出来的等效百分比。
\n所以说在我的指标里面就有sRGB和DP3的百分比应该至少大于95%和93%
\n虽然说,最后我使用意愿+加权的数学建模的方法算出打分,那么最低显示效果并没有什么划线的必要,但是这对于后面设定权数有较大的影响。
\n色准实际上指的就是显示器显示颜色的准确程度,为了满足我可能会有的绘画需求,色差自然是越小越好。
其中
但是其实一般而言只要
在这个价位基本上大家的色差都在1000左右,也就是HDR400认证的水准。但是说实话,只有上到HDR600以上的对比度才能看出区别来,所以说实际上这个指标大家的水准基本上一致。
\n屏幕更亮,在明亮的环境中的显色就越正常,而不会泛白。
\n所以说这也做为我考虑的指标之一。
\n属性率是一个老生常谈的话题了。
\n这一次我计划是购买120hz以上即可
(虽然说最后买的那个居然有240hz的)
传统的显示器由两部分构成,一部分是背后的背光层,另外一部分就是显示具体颜色的面板层。
\n说实话,显示器的背光在我看来大同小异,漏光什么的其实我都不太在意。
\n我比较在意的实际上是可视角度,且最好为直面平。曲面虽然说有宣称的·沉浸感更强,但是实际上,曲面带来的扭曲是不可避免的,我认为尤其在处理文字工作以及绘画的时候会带来不小的影响。
\n所以说面板直接就是选择了 IPS的
\n颜色的变化需要时间,但是实际上,感知不是很大,基本上就是0.几毫秒的差别。在游戏或者看电视的时候根本感知不强。
\n所以说我没有将这样一点纳入评分体系。
\n我的评分公式如下:
\n反正最后评出来的排序顺序确实符合我的预期
\n品牌 | \n型号 | \n价格 | \n尺寸 | \n分辨率 | \n色彩深度 | \n色域sRGB | \n色域DP3 | \n色准 | \nHDR | \n刷新率 | \n对比度 | \n亮度 | \n支架 | \n\n | 评分 | \n性价比 | \n
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sanc | \nG72 | \n900 | \n27 | \n2 | \n10 | \n100 | \n97 | \n1.5 | \n1 | \n180 | \n1 | \n300 | \n0 | \n\n | 156.5 | \n1.738889 | \n
sanc | \nG7e | \n900 | \n27 | \n2 | \n10 | \n100 | \n95 | \n1.5 | \n1 | \n165 | \n1 | \n250 | \n\n | \n | 143.5 | \n1.594444 | \n
创维 | \nF27G4Q Pro | \n900 | \n27 | \n2 | \n10 | \n99 | \n96 | \n2 | \n1 | \n170 | \n1 | \n350 | \n\n | \n | 138.9167 | \n1.543519 | \n
sanc | \nG7C 2 | \n1100 | \n27 | \n2 | \n8.5 | \n100 | \n97 | \n1.5 | \n1 | \n165 | \n1 | \n300 | \n\n | \n | 148.25 | \n1.347727 | \n
sanc | \nG7proMax | \n1500 | \n27 | \n2 | \n10 | \n100 | \n100 | \n1.5 | \n1 | \n240 | \n1 | \n450 | \nXLZ | \n\n | 187.25 | \n1.248333 | \n
AOC | \nQ27G2S/D | \n1200 | \n27 | \n2 | \n10 | \n100 | \n96 | \n2 | \n1 | \n160 | \n1 | \n400 | \n\n | \n | 141.6667 | \n1.180556 | \n
AOC | \nQ27G4 | \n1300 | \n27 | \n2 | \n10 | \n99 | \n93 | \n2 | \n2 | \n180 | \n2 | \n450 | \n\n | \n | 152.9167 | \n1.176282 | \n
创维 | \nF27G52Q PRO | \n1350 | \n27 | \n2 | \n8.5 | \n100 | \n98 | \n2 | \n1 | \n180 | \n1 | \n400 | \n\n | \n | 150.1667 | \n1.112346 | \n
小米 | \nG27Q | \n1200 | \n27 | \n2 | \n8 | \n100 | \n95 | \n2 | \n1 | \n165 | \n1 | \n400 | \nY | \n\n | 132.9167 | \n1.107639 | \n
AOC | \nQ27G3S | \n1100 | \n27 | \n2 | \n10 | \n100 | \n95 | \n3 | \n1 | \n170 | \n1 | \n300 | \n\n | \n | 121 | \n1.1 | \n
创维 | \nF27G51Q | \n1200 | \n27 | \n2 | \n8.5 | \n100 | \n93 | \n2 | \n1 | \n180 | \n1 | \n400 | \n\n | \n | 130.1667 | \n1.084722 | \n
AOC | \nCQ27G3s | \n1100 | \n27 | \n2 | \n8 | \n99 | \n90 | \n2 | \n1 | \n165 | \n1 | \n350 | \n\n | \n | 107.6667 | \n0.978788 | \n
AOC | \nQ27G3ze | \n1700 | \n27 | \n2 | \n10 | \n99 | \n95 | \n2 | \n1 | \n240 | \n1 | \n400 | \n\n | \n | 153.6667 | \n0.903922 | \n
华硕 | \nVG27AQL3A | \n1600 | \n27 | \n2 | \n8 | \n99 | \n90 | \n2 | \n1 | \n165 | \n1 | \n350 | \n\n | \n | 107.6667 | \n0.672917 | \n
小米 | \nredmi27pro | \n820 | \n27 | \n2 | \n8 | \n100 | \n90 | \n4 | \n1 | \n60 | \n1 | \n300 | \n全能 | \n\n | 50.83333 | \n0.619919 | \n
微星 | \nG274QRFW | \n1200 | \n27 | \n2 | \n8.5 | \n100 | \n90 | \n4 | \n0 | \n75 | \n1 | \n250 | \n\n | \n | 34.83333 | \n0.290278 | \n
飞利浦 | \n275E1S | \n1200 | \n27 | \n2 | \n8 | \n90 | \n90 | \n4 | \n0 | \n120 | \n1 | \n200 | \n\n | \n | 3.333333 | \n0.027778 | \n
sanc G7proMax
\n我的评价是,很香啊
\n每一次选购东西都需要消耗大量的精力。
\n这一次购买购买显示器,从了解基本参数到最后我将这次经历写成文稿大概用了一天半的时间……
\n有一说一,花的时间太多了……
\n但是能买到心仪的产品还是开心的……
\n显示器基本属性:
百万光学实验数据,告诉你谁适合打游戏|2022千元电竞显示器消费者报告_哔哩哔哩_bilibili
【硬件科普】万能的显示器选购指南。帮你明白不同的用途,适合什么样的显示器。_哔哩哔哩_bilibili
\nPPI&DPI以及缩放存在的问题:
【硬件科普】换了更高分辨率的显示器,软件界面反而模糊-Windows缩放详解_哔哩哔哩_bilibili
品牌参考:
电脑显示器选购指南2023版 (8500字-推荐收藏) (zhihu.com)
# 杂谈
# 设备
新买的显示器总是会或多或少有一些颜色的偏差,至于我的屏幕则在初始状态下发绿,在sRGB和DP-3模式下显得发红。
如何调整显示器的显示模式使其恢复到标准的显示模式成为了一个学问。
\n\n首先是调整显示屏的白色,我们有两种较为常见的调整方式:
\nicc、icm文件是windows的颜色校准文件,将这类文件配置到电脑上即可实现颜色校准功能。
\n一般来说常见的显示器型号都可以找的到对应的颜色配置文件,可以在官方的网站上面找到相关的配置文件,或者你可以尝试在这个网站里面寻找你的显示器的颜色配置文件:ICC Profiles and Monitor Calibration Settings Database - TFTCentral
\n但是对于笔记本或者国产的电脑显示屏幕,我们往往很难找到网络上有对应的icc文件,而即使拥有icc配置文件,我们也可能会发现颜色依旧是不准的。
这种时候就需要我们进一步对颜色进行调试了。
就像是乐器会使用拾音器进行校准,校准屏幕的时候我们也会使用“拾音器”(除非你拥有绝对色感……)
\n最优的专业方式是租用专业的颜色校对设备对颜色进行校对以达到正确的显示效果。但是我们一般没有那么高的颜色显示要求,这个时候就可以选择使用肉眼进行校对。
\n你所需要的就是一个你认为颜色显示正确的其他设备,一般来说你的手机或者平板就是一个不错的选择,这些厂家在出厂的时候一般都会对颜色进行严格的校对,我们完全可以使用这些来作为我们校对颜色的基准。
\n我这里使用的是我的iqoo pad对我的sanc G7 proMax进行校对:
打开绘图软件,一般来说这是最白的,然后按照上面的描述进行调整。
\n将白色调到了预期的颜色之后,再调整灰色的,一步一步进行调整即可,
\n我现在调整的颜色参数大概为:r42,g43,b49
现在的显示效果总的来说还是不错的。(只能说我的pad的颜色太准了)
伽马值实际上具体体现出来就是灰色的显示状态。好的伽马值可以让颜色的显示不会过于泛白也不会过于发黑。
\n这个可以直接在设置里面的校准颜色里面调整
\n设置里面的校准颜色功能也提供了校准这两项的功能,但是我认为其效果显示过于主观了。
\n可以看看这个网站:Contrast ratio - Lagom LCD test
\n上面提供了检测多项数值的功能,十分地好用。
\n调整完上述功能之后你就可以获得一个完美显示的屏幕啦~
\n显示器校色入门指南丨零成本还原TN/ VA/ IPS色彩 [4种方法]_哔哩哔哩_bilibili
\nicc文件查询&下载ICC Profiles and Monitor Calibration Settings Database - TFTCentral
屏幕显示测试Contrast ratio - Lagom LCD test
#include<fstream> |
返回值为bool,结合循环使用:
\nwhile (!ifs.eof()) { |
# 工创实践
上次去了工创实践,学习了如何使用机械臂
其实挺简单来着的,按照菜单页面进行操作,然后在手动移动机械臂的时候需要按下控制器背后的一个扳手。
\n扳手分为两档,不按时无法手动操控,一档是启动操控,再用力按会无法操控。
\n但是实际上人手动操作机械臂的运用场景还是少一些,实际情况肯定还是使用程序操控。
\n其实主要是环境的配置,配置好之后导入预制好的模型进行处理即可
\n环境配置在模拟仿真应用上跑
\n绘制图案的时候,需要进行提笔操作,不然在进行跳跃式的绘制的时候,中间会拉出来多余的线
\n开启工具跟随
\n这样就实现了一个提笔,落笔的操作。
\n","tags":["工创实践"]},{"title":"机械键盘初次选购","url":"/2023/12/05/1.Archieve/%E6%9C%BA%E6%A2%B0%E9%94%AE%E7%9B%98%E5%88%9D%E6%AC%A1%E9%80%89%E8%B4%AD/","content":"\n\n\n今天是我初次选购机械键盘,有一说一就算是选择了茶轴,结果还是很吵……
\n总的来说到手的键盘我很满意,手感、做工、rgb灯效都很棒
\n但是就是有一个问题,那就是这个空格的手感相较于其他的按键来说,会有点过于拉跨,就是也不是说会发生晃动什么的,就是这个手感要比其他的按钮要烂一点,尤其是它的回弹,每次一按下去我都感觉是在按一个又沉又厚重的东西……
\n其实也不是很难得出它这个样子的原因,实际上空格键因为加上了卫星轴的设计,加上本身的重量比较大,所以说会导致这样的问题。
\n可能比较好的办法就是换一个弹簧?反正这件事情暂时没有解决。
\n
接下来,我来总结一下这次购买的经验。
\n\n本来是想在淘宝这种平台购买新的,电商平台上面有各种价位的和品种的键盘,查了查入门款大概是在200以上。
\n但是后面转念一想,似乎我也不需要十分新的键盘,而且同样的价格,买二手的可能可以买到原本价位在300+的产品呢。
\n于是最终我决定优先在咸鱼上进行选购。咸鱼作为一个二手平台,具有更高的性价比。
\n仔细查了一下资料,机械键盘的主体其实是键轴,键轴也分为好几类,对于我这样的新手而言,讨论过多的键轴完全是在浪费时间。于是我开始了解了一下cherry的键轴。
\ncherry作为老牌的键轴,一直是行业的标杆,其有四种最主要的键轴,分别为:红黑青茶。
这些键轴按照以下进行分类:
综合来说,茶轴既适合打游戏也适合码字,而且选购机械键盘而不是薄膜键盘的一个主要的原因也是我想体验一下机械键盘独特的段落手感。
\n本来我的预估花的钱打算控制在150左右的,但是找来找去我也没能找到心仪的键盘:
\n当时仔细想了想是用于干什么的,基本上可能还是用来学习,所以说我不想搞那种很复杂的游戏电竞风格的键盘买最好是浅色系的,最次最次,就算是花里胡哨也尽量是向松石绿接近的颜色。
\n于是我终于明确了我的需求:分为以下几个层次
\n左挑西选发现在100-200很难找到我心仪的产品。
\n后来我又仔细想了想:这个东西我到底是打算使用多久?答:两年是至少有的
\n于是我就将价位加到了250左右。
\n最后我挑选了一个先行者z108键盘,是一个位于武汉大学的同学出的(真巧,正好运的也快)
\n白色,茶轴,rgb,热拔插,三模,108键位。可以说是完美切中了我的需求(虽然就是我虽然是要配色简洁但是也不是代表没有呀,纯白色的awa)
\n最后又是发快递什么的有一点点波折,总而言之,是一个十分好的购物体验,从选购到拿到我的键盘一共耗时是两天~
\n总的来说,这次在咸鱼上面的购物体验丰富了我的见识,也让我真正对于咸鱼有了信心。
\n在选购我们想要的商品的时候,两个元素十分地重要:需求,预算。
\n尤其是需求,只有明确自己的需求,才能更好的去实现你的目标
\n","tags":["杂谈"]},{"title":"杂谈:qq表情实现方式","url":"/2024/01/31/1.Archieve/%E6%9D%82%E8%B0%88%EF%BC%9Aqq%E8%A1%A8%E6%83%85%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F/","content":"\n最近qq搞了个龙年可以刷龙表情的小彩蛋,qq用户可以刷出五颜六色的龙,其中还有一个隐藏款。
\nhmmm然后就发现了一件比较有意思的事情
\n\nqq的表情的实现方式原理原来是两个个特殊的字符:\u0014Ɗ
前者是一个控制字符,后者是特定序号对应的拉丁字母
QQ隐藏表情代码?! - 哔哩哔哩 (bilibili.com)
\n\\u0014\\u18a,比如说这个 就是大龙
\n复制到qq里面即可正常显示\u0014 \u0014\u0001\u0014\u0002\u0014\u0003\u0014\u0004\u0014\u0005\u0014\u0006\u0014 \u0014\b\u0014\t\u0014
\u0014
\u0014\f\u0014
\u0014\u000e\u0014\u000f\u0014\u0010\u0014\u0011\u0014\u0012\u0014\u0013\u0014\u0014\u0014\u0015\u0014\u0016\u0014\u0017\u0014\u0018\u0014\u0019\u0014\u001a\u0014\u001b\u0014\u001c\u0014\u001d\u0014\u001e\u0014\u001f\u0014 \u0014!\u0014"\u0014#\u0014$\u0014%\u0014&\u0014'\u0014(\u0014)\u0014*\u0014+\u0014,\u0014-\u0014.\u0014/\u00140\u00141\u00142\u00143\u00144\u00145\u00146\u00147\u00148\u00149\u0014:\u0014;\u0014<\u0014=\u0014>\u0014?\u0014@\u0014A\u0014B\u0014C\u0014D\u0014E\u0014F\u0014G\u0014H\u0014I\u0014J\u0014K\u0014L\u0014M\u0014N\u0014O\u0014P\u0014Q\u0014R\u0014S\u0014T\u0014U\u0014V\u0014W\u0014X\u0014Y\u0014Z\u0014[\u0014\\\u0014]\u0014^\u0014_\u0014`\u0014a\u0014b\u0014c\u0014d\u0014e\u0014f\u0014g\u0014h\u0014i\u0014j\u0014k\u0014l\u0014m\u0014n\u0014o\u0014p\u0014q\u0014r\u0014s\u0014t\u0014u\u0014v\u0014w\u0014x\u0014y\u0014z\u0014{\u0014|\u0014}\u0014~\u0014\u0014\u0014\u0014\u0014\u0014\u0014
\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014 \u0014¡\u0014¢\u0014£\u0014¤\u0014¥\u0014¦\u0014§\u0014¨\u0014©\u0014ª\u0014«\u0014¬\u0014\u0014®\u0014¯\u0014°\u0014±\u0014²\u0014³\u0014´\u0014µ\u0014¶\u0014·\u0014¸\u0014¹\u0014º\u0014»\u0014¼\u0014½\u0014¾\u0014¿\u0014À\u0014Á\u0014Â\u0014Ã\u0014Ä\u0014Å\u0014Æ\u0014Ç\u0014È\u0014É\u0014Ê\u0014Ë\u0014Ì\u0014Í\u0014Î\u0014Ï\u0014Ð\u0014Ñ\u0014Ò\u0014Ó\u0014Ô\u0014Õ\u0014Ö\u0014×\u0014Ø\u0014Ù\u0014Ú\u0014Û\u0014Ü\u0014Ý\u0014Þ\u0014ß\u0014à\u0014á\u0014â\u0014ã\u0014ä\u0014å\u0014æ\u0014ç\u0014è\u0014é\u0014ê\u0014ë\u0014ì\u0014í\u0014î\u0014ï\u0014ð\u0014ñ\u0014ò\u0014ó\u0014ô\u0014õ\u0014ö\u0014÷\u0014ø\u0014ù\u0014ú\u0014û\u0014ü\u0014ý\u0014þ\u0014ÿ\u0014Ā\u0014ā\u0014Ă\u0014ă\u0014Ą\u0014ą\u0014Ć\u0014ć\u0014Ĉ\u0014ĉ\u0014Ċ\u0014ċ\u0014Č\u0014č\u0014Ď\u0014ď\u0014Đ\u0014đ\u0014Ē\u0014ē\u0014Ĕ\u0014ĕ\u0014Ė\u0014ė\u0014Ę\u0014ę\u0014Ě\u0014ě\u0014Ĝ\u0014ĝ\u0014Ğ\u0014ğ\u0014Ġ\u0014ġ\u0014Ģ\u0014ģ\u0014Ĥ\u0014ĥ\u0014Ħ\u0014ħ\u0014Ĩ\u0014ĩ\u0014Ī\u0014ī\u0014Ĭ\u0014ĭ\u0014Į\u0014į\u0014İ\u0014ı\u0014IJ\u0014ij\u0014Ĵ\u0014ĵ\u0014Ķ\u0014ķ\u0014ĸ\u0014Ĺ\u0014ĺ\u0014Ļ\u0014ļ\u0014Ľ\u0014ľ\u0014Ŀ\u0014ŀ\u0014Ł\u0014ł\u0014Ń\u0014ń\u0014Ņ\u0014ņ\u0014Ň\u0014ň\u0014ʼn\u0014Ŋ\u0014ŋ\u0014Ō\u0014ō\u0014Ŏ\u0014ŏ\u0014Ő\u0014ő\u0014Œ\u0014œ\u0014Ŕ\u0014ŕ\u0014Ŗ\u0014ŗ\u0014Ř\u0014ř\u0014Ś\u0014ś\u0014Ŝ\u0014ŝ\u0014Ş\u0014ş\u0014Š\u0014š\u0014Ţ\u0014ţ\u0014Ť\u0014ť\u0014Ŧ\u0014ŧ\u0014Ũ\u0014ũ\u0014Ū\u0014ū\u0014Ŭ\u0014ŭ\u0014Ů\u0014ů\u0014Ű\u0014ű\u0014Ų\u0014ų\u0014Ŵ\u0014ŵ\u0014Ŷ\u0014ŷ\u0014Ÿ\u0014Ź\u0014ź\u0014Ż\u0014ż\u0014Ž\u0014ž\u0014ſ\u0014ƀ\u0014Ɓ\u0014Ƃ\u0014ƃ\u0014Ƅ\u0014ƅ\u0014Ɔ\u0014Ƈ\u0014ƈ\u0014Ɖ\u0014Ɗ
# 杂谈
# 编程
unicode编码中从 \\u0000 到 \\u0020 是一些特殊的字符,用于控制字符格式或者一些特殊的东西,下面是一个表格,展示了那些字符:
unicode字符编码
\n字符编号 | \n字符代号 | \n字符功能 | \n\n |
---|---|---|---|
0001 | \nSOH | \n(start of handing) | \n标题开始 | \n
0002 | \nSTX | \n(start of text) | \n正文开始 | \n
0003 | \nETX | \n(end of text) | \n正文结束 | \n
0004 | \nEOT | \n(end of transmission) | \n传输结束 | \n
0005 | \nENQ | \n(enquiry) | \n请求 | \n
0006 | \nACK | \n(acknowledge) | \n收到通知 | \n
0007 | \nBEL | \n(bell) | \n响铃 | \n
0008 | \nBS | \n(backspace) | \n退格 | \n
0009 | \nHT | \n(horizontal tab) | \n水平制表符 | \n
000A | \nLF | \n(NL line feed, new line) | \n换行键 | \n
000B | \nVT | \n(vertical tab) | \n垂直制表符 | \n
000C | \nFF | \n(NP form feed, new page) | \n换页键 | \n
000D | \nCR | \n(carriage return) | \n回车键 | \n
000E | \nSO | \n(shift out) | \n不用切换 | \n
000F | \nSI | \n(shift in) | \n启用切换 | \n
0010 | \nDLE | \n(data link escape) | \n数据链路转义 | \n
0011 | \nDC1 | \n(device control 1) | \n设备控制1 | \n
0012 | \nDC2 | \n(device control 2) | \n设备控制2 | \n
0013 | \nDC3 | \n(device control 3) | \n设备控制3 | \n
0014 | \nDC4 | \n(device control 4) | \n设备控制4 | \n
0015 | \nNAK | \n(negative acknowledge) | \n拒绝接收 | \n
0016 | \nSYN | \n(synchronous idle) | \n同步空闲 | \n
0017 | \nETB | \n(end of trans. block) | \n传输块结束 | \n
0018 | \nCAN | \n(cancel) | \n取消 | \n
0019 | \nEM | \n(end of medium) | \n介质中断 | \n
001A | \nSUB | \n(substitute) | \n替补 | \n
001B | \nESC | \n(escape) | \n溢出 | \n
001C | \nFS | \n(file separator) | \n文件分割符 | \n
001D | \nGS | \n(group separator) | \n分组符 | \n
001E | \nRS | \n(record separator) | \n记录分离符 | \n
001F | \nUS | \n(unit separator) | \n单元分隔符 | \n
# 杂谈
这篇文章简单讲讲我自己的blog是如何构建的。
搭建blog的方式无非两种,一种是本地构建,另外一种是云端构建。
\n本地构建指的是网页在本地渲染,然后提交到云端,云端不进行任何计算,只是负责将文件分发给接收者。
\n云端构建指的是云端上只存储原始的markdown文件,在分发时进行渲染,这就要求云端有一定的计算能力。
\n我并不打算花费金钱群购买服务器,但是同时我又想要尽可能个性化的blog页面,但是我又不太希望将其公之于众,那么这个时候github的github_page就十分合适了
\ngithubpage的原理就是属于本地构建,服务器相当于提供下载功能,总而言之是一种相对方便与美观的构建方式
\n一般较为常见的方式是使用hexo搭建,但是同样也有使用huge搭建的方式,后者更加美观,但是我并不计较那些,hexo搭建的话有许多bug都可以直接找的到解决办法。详细的可以看[[关于hexo与hugo]]
\n之后,我选择了看起来简洁社群也相对较为的发达的hexo
\n这里是有专门的教程的,直接跟着一步步做即可。我没有作过于深入的了解。
\n遇到的几个问题,我记得的有:
\n每次想要构建都需要打开所在文件夹,点击open git bash here,这十分麻烦,于是我搜集了资料,自己编写了一个bat脚本来便于我一键生成~
\n再加上powertoys的powertoys run功能,使我只需要按下alt+space并且输入>
就可以开始键入命令调用bat脚本了
下面是我的bat脚本,bat的名称为myhexo:Echo Off
SetLocal
set p0=%1
set "p1=defaultName"
set p1=%2
set "fileAddress=E:\\HexoFile\\source\\_posts\\%p1%.md"
if "%p0%"=="" (
start E:\\\\Git\\\\git-bash.exe --cd=E:\\HexoFile
Exit
)
if "%p0%"=="r" (
start E:\\\\Git\\\\git-bash.exe --cd=E:\\HexoFile -c "hexo g && hexo d &&hexo s;bash"
Exit
)
if "%p0%"=="g" (
start E:\\\\Git\\\\git-bash.exe --cd=E:\\HexoFile -c "hexo clean &&hexo g && hexo d &&hexo s;bash"
Exit
)
if "%p0%"=="n" (
if exist %fileAddress% ( explorer "%fileAddress%" )
if exist %fileAddress% ( Exit )
start E:\\Git\\git-bash.exe --cd=E:\\HexoFile -c "hexo new post %p1%&&exit"
timeout /t 8 /nobreak >nul
cmd /c "myhexo n %p1%"
Exit
)
if "%p0%"=="x" (
if exist %fileAddress% ( explorer "%fileAddress%" )
if exist %fileAddress% ( Exit )
start E:\\Git\\git-bash.exe --cd=E:\\HexoFile -c "hexo new xmind %p1%&&exit"
timeout /t 8 /nobreak >nul
cmd /c "myhexo x %p1%"
Exit
)
if "%p0%"=="b" (
if exist %fileAddress% ( explorer "%fileAddress%" )
if exist %fileAddress% ( Exit )
start E:\\Git\\git-bash.exe --cd=E:\\HexoFile -c "hexo new bilibili %p1%&&exit"
timeout /t 8 /nobreak >nul
cmd /c "myhexo b %p1%"
Exit
)
start E:\\\\Git\\\\git-bash.exe --cd=E:\\HexoFile -c "hexo %p0%;bash"
Exit
使用start调用git-bash,并cd进入指定目录
\n使用 -c附带执行的指令语句。
\n比如简单的生成就输入myhexo r
,这将会调用下面的指令:start E:\\\\Git\\\\git-bash.exe --cd=E:\\HexoFile -c "hexo g && hexo d &&hexo s;bash"
先generate生成网页,然后再develop提交给GitHub,最后再serve构建本地预览。
如果要清空再生成,就是myhexo g
,这将会调用:start E:\\\\Git\\\\git-bash.exe --cd=E:\\HexoFile -c "hexo clean &&hexo g && hexo d &&hexo s;bash"
自动化让生活更美好~
\n我后面又联合obsidian和一个本机文件同步软件FreeFileSync还有一个 多设备的文件同步软件SyncTrazor进一步构建我的blog体系。
\n我使用obsidian构建知识库,然后使用FreeFileSync实时将其中部分公开内容同步到本地的hexo的_post文件夹内,同时也将文件通过SyncTrazor随时准备共享到其他设备上。
\n","tags":["杂谈"]},{"title":"闲聊:知识体系的构筑","url":"/2024/01/13/1.Archieve/%E6%9D%82%E8%B0%88%EF%BC%9A%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB%E7%9A%84%E6%9E%84%E7%AD%91/","content":"\n为什么我会比较感兴趣类似的方法论的东西呢?实际上我认为这和我的个人特点有关,我比较喜欢找到一些比较巧妙的东西来增加我自己的效率。
\n但是我同时认为我自己不是一个空谈者,我对于那些东西进行实践,并且结合自己的知识将他们转化为我自己的东西。
\n带领我从一个较为专业的视角去看待学习这件事情的是yJango的学习观。当时我会在考差了之后断断续续地学习其中的知识。学习观01:好多人一辈子都没搞清什么是学习 - 知乎 (zhihu.com)
\n
|
如果要说当时这个给我带来的最大的影响是什么,那就是对于学习就是压缩信息,总结方法的过程。这一观点我现在还在使用
\n另外,最重要的一点就是其让我知道了线性笔记 的劣势,我第一次知道了思维导图是什么。
\n更进一步的认识则是后来实际的阅读相关的书籍,当时我拿着我的闲钱想买本书,然后这一系列书刚好激发了我的兴趣:博赞学习技巧系列。
\n怎么说呢,当时我本身对于相关的学习技巧之类的东西颇感兴趣。然后当时我本来打算是选购一本小说的,但是很可惜,没有我想要的书本。然后这系列书中有一本叫做思维导图的书吸引了我的兴趣,我知道线性笔记的劣势,同时知道思维导图可以很好地解决我的问题之后,便一直思考着想要变革我自己的笔记形式,但是苦于我拿到了手机的时候不可能再去学习了,我肯定是要玩游戏的,而且这种需要时间去实践的东西,使用不是很容易就能接触到的手机作为学习的对象来说不是十分的理想。
\n所以说我当即就想着要将其买下来看看,然后又得知这一本书才买7元的时候,我简直要高兴坏了,当即就将这一系列一并购买了下来。一本小说的价格也就30左右,而这一本学习之key却只要35,还是五本。
\n然后我就开始正式的阅读起了这几本书……虽然也是断断续续的读,但是我认为这几本书对于我现在的影响十分之大。
\n光是学习理论是没有什么用处的,只有真正的践行,才能被称之为有效。
\n博赞在书中主要是介绍了以下几种观念:
\n虽然说我知道有这么多的理论知识,但是实际上,在那个时候我能加以实践并且对于我来说卓有成效的几乎没有。
在高中的那段时间里面,所需要学习的知识基本上属于是应试的内容,根本用不到这么多的技巧,beside,学习观给我带来的思维上的启示的意义反而更大一点。
学习整体的方式主要是因为所学习的内容的缘故所以说优点运用不来,但是其对于新的知识的获取确实十分有用
学习规律要求定时复习,这是有道理的,但是在高中基本上的东西就那么多,后面到了高二下之后又不怎么学习新的东西,所以说也不是十分适用。
快速阅读我一直没有学会……或许这需要专门的训练?
思维导图主要还是载体的限制性和长线生效的局限性,在高中的后半部分,我通过软件Xmind解决了载体形式上的局限性,但是同时仍然没有解决长期生效的问题,一部分可能还是因为高中时期的知识体系还是较为死板的。
而至于快速记忆,确实有用但是,但是怎么说呢,感觉用来记忆小板块的东西较为好用,而记忆体系较大的东西实际上没有那么好用。当然这也有我没有完全学会的原因。
而后就是现在了,我仍然在探索较为高效的知识体系构建法,目前的想法是:
\n听课学懂——做题——整理错题以及想法《循环》
\n总而言之,还是需要实践,另外,我仍旧想实践一下博赞的学习技巧原理
\n另外,为了使自己更加深刻的理解《自控力》这本书,我打算再抽时间出来对其进行按部就班的实践,并且总结我的想法和体验。
\n\n如果你的耳机在百元以下(蓝牙不清楚,不考虑蓝牙耳机),那么首推一定是换有线耳机,大约价格在500上下就可以,(300到700左右),选择国产的耳机性价比高,基本可以获得前80%的体验。
\n再者,如果经常用手机或者平板听歌,请买一个解码器,注意,是带芯片的解码器,价格在50到100之间就可以,太便宜的容易坏。如果以上耳机加解码器都有了,听音乐就已经完成90%了。
\n剩下的无损音频,加上四位数的耳机,还有几百上千的解码器都是在提升剩下的10%。总体下来 耳机十解码器一共在500元上下,就可以达到一个比较理想的音质了。50以下到几百的耳机提升真的很明显,50的耳机几乎没什么声场,解析力还差。
\n\n","tags":["耳机","杂谈","设备"]},{"title":"杂谈:游戏账号相关","url":"/2024/02/14/1.Archieve/%E6%9D%82%E8%B0%88%EF%BC%9A%E6%B8%B8%E6%88%8F%E8%B4%A6%E5%8F%B7%E7%9B%B8%E5%85%B3/","content":"\n除了制作十分精良的独立游戏和所谓的商业游戏之外,我常常也会游玩一些二次元游戏以达到我对于可爱妹子的摄入需求,那么为了开荒一款游戏,常常是需要十分大的时间成本的。
想要解决游玩游戏的时间成本,又想要获得良好的游戏体验(因为二次元游戏常常会包含或多或少的养成元素,养成程度会影响到游戏的体验),最好的选择就是花钱。
同时对于那种可能只是想要玩一段时间的游戏,也可以考虑将账号卖出,从而使得自己花费的时间转化为金钱作为补偿。
\n实际上,游戏账号交易已经是一个较为普遍的市场,甚至有人以此牟利。
\n通常来说,为了体验自己抽和通关的乐趣,我们常常会选择购买初始号。
\n初始号指的是没有推剧情和代充,只是通过一些活动和通关一些基本的关卡来获得资源,且获得了一定的抽卡资源的账号。购买此类账号的时候需要注意以下几点:
\n购买之前先确认商家是否可信,在较为小的性价比的提升之下并不需要去贪图那点蝇头小利。多花点钱在较为可信任的商家购买可以省下很多烦恼
\n在购买之前,请务必核对账号信息,比如:
\n
|
有一些游戏可以通过其他的手段来将账号找回,购买账号的时候需要注意是否存在其他的找回方式,并且加以防范。
\ntitle:案例 |
理清楚自己的目标,检验是否划算。
\n举个例子,我想要购买战双新出的皮肤,且实际上其他的东西对我的影响不大。如果使用我自己原本的号进行氪金购买的话,至少需要氪金250¥(算上首充的翻倍)。
但是如果我选择购买账号的话,可以获得一堆资源和部分限定道具(概率),还可以拥有足够抽出新皮肤的黑卡。而这样的账号才50¥
实际购买过一次战双的账号之后,就目前来说,体验良好。花费50获得了我期望中的东西,且剧本通关程度和我原本的账号相近,所以说体验剧情也是不会差太多的。
\n\n$ npm install hexo-markmap --save |
注意这个换行是一定要加的。 |
注意这个换行是一定要加的。 |
最大的特征是:
\n\n\n*尽管在网状的科技网当中并没有严格意义上的前置,因为实际上你绕路也可以获得相关的技术,或者随机也可能获得该技术(不过概率比较小)
\n
\n\n当你 解锁 了电池的科技点之后,该电池可以作用于很多的装备之上,并不只是增益在某一种装备上的。
\n
我们引入国家政策机制,玩家可以通过改变国家政策来对某一领域进行投资,具体如下:
\n玩家在发展科技的时候,有概率会获得人才团队,人才团队可以在他所属的领域内移动,并且给所附着科技点提高解锁概率
\n","tags":["游戏设计"]},{"title":"灵感:交警清路","url":"/2023/12/05/1.Archieve/%E7%81%B5%E6%84%9F%EF%BC%9A%E4%BA%A4%E8%AD%A6%E6%B8%85%E8%B7%AF/","content":"\n即时性,策略性。
\n只能说灵感来源于生活。
\n\n","tags":["游戏设计"]},{"title":"桌游:动物园","url":"/2024/01/27/1.Archieve/%E6%A1%8C%E6%B8%B8%EF%BC%9A%E5%8A%A8%E7%89%A9%E5%9B%AD/","content":"\n昨天和王仁喆一起去桌游店去体验了一款重策,名字叫做方舟动物园
\n总体来说,游戏给我带来的体验较为良好,整体游戏的设计较为良好
\n我并不想过多复杂的介绍它的具体规则,这里挑几个我认为比较有讨论性的点进行分析。
\n\n每名玩家有五种指令手牌,手牌会按照一定顺序放在不同强度的下面,每一回合玩家可以选择下面几种执行方式:
\n五种卡牌依次为:
\n这是一个十分简单的规则,就是玩家的五种指令牌会排排队,使用完之后强度会掉。但是就是这样的一个简单的机制,却构成了驱动玩家的核心决策机制。
\n首先这是一个完全可控的机制,而且玩家的决策在其中占据很核心的地位
\n其次,你的选择会相互制约,比如说为了最大的收益,我们希望在强度足够大的情况之下执行指令。但是每次执行玩指令就会再次将其放置到队尾。
\n这样的话就相当于变相的让玩家选择多种指令轮流执行来使得我最想要的指令重新排到队列的首位,同时在我无法执行的指令排到了强度是5的位置的时候,我就不得不去选择不执行指令牌而是将其放至到对位从而避免我想要的牌被卡到后面。
\n尽管游戏中有这样的优秀的设计,但是似乎设计者并没有在这个机制上下太大的功夫。
\n游戏中操作指令轮换的方式过于单一了,仅仅只有几种动物可以供你选择以更改指令的顺序。
\n而且在每回合只能选择一个指令移动给人带来的体验并不是十分友好,尤其是前期,实际上你的手牌常常会有价格十分高而打不出去的牌,这个时候,这些牌就会显得十分的麻烦。
\n如果说要我来将游戏进一步的优化,我会选择做出以下的更改:
\n游戏中拥有 地块的系统,玩家需要利用拼图的图块来获取地块上面的资源以及建设可以安置动物的地块
\n本来这套系统按理来说应该是挺有意思的,但是存在着一个问题,那就是收益太低了。
\n收费亭前期需要布置地块+安置动物才能收到零零星星几块钱,显然这是十分不合算的。
\n在这样的一个前提条件之下,我们每回合甚至不需要入住动物,而是想办法将地块给铺过去以获得地图上的资源。
\n实际上游戏应该进一步权衡以下,到底是布置收费亭和安置动物给予我的收益高还是直接铺地,直接前期拼发展速度的收益高。我认为按理来说应该是前者,因为前者需要的条件更为复杂。
\n实际上科技树也是常见的游戏设计之一,当你达成了某些指标之后,你可以在游戏内选择一项专场加点,而加点次数是相对来说较为珍惜且对玩家影响较大的,这就使得玩家需要十分小心的控制自己的科技树的走向。
\n同时这也满足增加决策点的两个要素:
\n游戏中有十分丰富的动物/赞助商牌,这些牌之间可以相互联动,有的有十分特殊的技能。
\n这些牌在一定程度上增加了游戏的趣味性,但是同时也使得游戏的策略意味没有那么浓厚。
\n增加牌的多样性可以增加游戏的趣味性这一点毋庸置疑,但是需要注意的一点就是有的时候,我获胜或否就很大一部分取决于我是否能拿到合适的牌,而这一点的随机性又在牌的多样性的背景之下被无限放大。
\n对于萌新来说,尤为严重。玩家甚至不知道有哪些是可以构筑出的组合,以及组合的构建难度。这就使得游玩过程中挺大一部分还需要看运气。
\n# 数学建模
# matlab
第一次使用matlab成功绘图~,开心。
因为我什么都不会,所以说暂时只能用十分拙劣的方式去实现绘图的功能。
在填数据上,因为还不懂matlab的一些基层的东西,我选择使用c++将数据处理成和网上给出的示例代码一样的格式,然后直接对他的数据进行替换实现的。
\n 题目背景:数模2023B题
代码如下:(没有matlab语言的高亮格式我就直接用的c++的)
(数据是有所省略的)a=[
4.00 4.92 66.05
4.00 4.94 65.84
4.00 4.96 65.62
4.00 4.98 65.41
4.00 5.00 65.20
];
x=A(:,1);y=A(:,2);z=A(:,3);
scatter3(x,y,z)%散点图
figure
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'linear');%插值,最后一个参数是插值模式
%我这里使用的是linear,如果想要更好的效果可以使用v4(但是那样的话性能开销大)
pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z);%三维曲面
figure,meshc(X,Y,Z)%剖面图
view(0,0);
figure,meshc(X,Y,Z);%s三维曲面(浅色)+等高线
hidden off;
总而言之,很拙劣地实现了绘图的功能。嗯在此分享一下自己的快乐以及记录一下代码
考研数学是指在中国大陆地区研究生入学考试中的一种专业课程考试科目,其目的是测试考生在数学方面的基本理论知识、基本技能和运用能力。它包含高等数学、线性代数、概率论和数理统计四个部分。
\n","tags":["好奇心"]},{"title":"网易游戏解包尝试","url":"/2023/12/19/1.Archieve/%E7%BD%91%E6%98%93%E6%B8%B8%E6%88%8F%E8%A7%A3%E5%8C%85%E5%B0%9D%E8%AF%95/","content":"# 杂项技术
# 编程
我有在玩《非人学园》这款网易旗下的moba类游戏,然后看到了他们同人的mmd,下面写着模型是由非人学园文件里面提取出来的。
于是心生好奇,也想自己尝试解包试试看。
但是以前的话尝试了两次解包,但是很可惜,没能成功。
\n但是这次我终于是成功了,hh
\n现在我将整件事情记录下来,作为技术积累使用。
\n\napk包里面更多的是代码等内容,应用在进入的时候被要求联网更新,另外角色语言和模型都是在进入游戏之后才会下载的程序包,这些内容一般被保存在:Android\\data\\com.netease.huawei.frxy\\
我想要的是人物模型等信息,所以我将其拷贝了一份到电脑上,并对其进行研究。
下面是其的文件夹结构,以及我对其的分析:apk_version
\\\\校验apk版本,其内的内容:{"apk_ver": "4590023"}
Documents
\\\\文档存档位置
filelist.txt
\\\\列出了核心的(登入界面所需要的)文件的位置以及其对应的hash值
init.bm
\\\\初始化什么的不知名文件
log.txt
log_old_0.txt
\\\\登入日志文件
neox.xml
\\\\一些基础的配置信息
npk_version
\\\\貌似是npk文件的hash值
patch_check_info.txt
\\\\校验脚本文件
pushnotice.txt
\\\\是否显示公告?
script.npk_hash_list
\\\\脚本的hash值
user_data.xml
\\\\客户端版本等信息
其中单拿neox.xml分析:
这个XML文件描述了一个名为”ppg3d”的配置文件,其中包括以下几个主要部分:
modules:定义了项目使用的模块。
\npython.dll
:Python模块。collision.dll
:碰撞检测模块。detour.dll
:路径寻找模块。client:定义了客户端的相关设置。
\nDumpPath
:错误日志的保存路径。DumpType
:错误日志的类型。FontPath
:字体文件的路径。ForcedDisplay
、InitSpinningIcon
、InitViewBackground
等:初始化界面的显示设置。UseCADisplayLink
、WindowAutoSize
等:窗口和显示相关的设置。uis
:包含了两个UI框架的设置,分别是cocosui
和pygame
。filesystems:定义了文件系统的加载设置。
\nres
和script
是两个文件系统。loader
元素,定义了不同深度和类型的文件加载方式,包括加载器名称、开启者、根目录等。render:定义了渲染相关的设置。
\nDepth
、EnableDepthShadow
、EnableESM
等:深度、阴影和抗锯齿等渲染效果的设置。cocosui:定义了Cocos UI相关的设置。
\nDisableRunTimelineWhenLoadCsb
、EnableBatchOptimize
等:优化和加载相关设置。FontNameMap
:定义了字体名称和文件路径的映射关系。rsync:定义了数据同步相关的设置。
\nworld:定义了游戏世界的设置。
\nGpuParticle
、GpuSkinningEnable
、HardwareInstancing
等:GPU粒子、骨骼动画和实例化等渲染技术的启用状态。通过更改游戏文件,我们可以发现游戏校验的基本逻辑是从网站上获取文件应该有的目录和对应的一级文件的hash值,如果发现hash值不一样,则将文件强制覆盖。
\n然后这些一级文件中有的是记录对应的二级hash值的文件,然后程序再校验这些二级的文件内容是否正确。
\n这样就避免了每次校对都需要校对大量文件的问题,从而提高了文件校对速度,减轻了服务器资源的消耗。
\n这个文件夹里面包含了所有角色的建模,贴图,音频……
\n但是所有的文件都使用了npk进行加密,所以所需要对其进行解密:
\n或许你应该注意到了,为什么非人学园的配置文件使用的是neoX这个名字?
其实非人学园使用的是网易自研的neoX系统,所以说我以此为方向找到了大佬们写的工具:zhouhang95/neox_tools at gltf (github.com)
可以直接解码npk文件,并把其导出为mesh^1 文件。
\n游戏中常使用bnk文件,将一个角色的多条语音合并在一起并进行压缩,我们想要解开bnk文件就得先将音频分离然后将其转码为MP3。
\n这里有另外一个大佬的工具:Vextil/Wwise-Unpacker: Unpack game audio Wwise files (pck, bnk) (github.com)
可以打开pck, bnk文件。
至此问题已基本上解决了,有关于这些模型文件和音频如何使用则有是另外一件事了~
\n另外,这里解压出的是一些资源类文件,其中还有一部分内容使用的是Pyc^2 ,Nxs文件,这一部分大多是代码文件,我个人感觉用不到,所以说没有研究如何解压。但是可以看看这篇文章:
网易游戏的四种解密&解包,附工具 - 知乎 (zhihu.com)
Vextil/Wwise-Unpacker: Unpack game audio Wwise files (pck, bnk) (github.com)
\nzhouhang95/neox_tools at gltf (github.com)
\n网易游戏的四种解密&解包,附工具 - 知乎 (zhihu.com)
\n","tags":["编程","技术"]},{"title":"耻辱2:游玩初体验","url":"/2023/11/26/1.Archieve/%E8%80%BB%E8%BE%B12%EF%BC%9A%E6%B8%B8%E7%8E%A9%E5%88%9D%E4%BD%93%E9%AA%8C/","content":"\n今天,初步体验了一下《耻辱2》这款游戏,总体给我的观感不错。
\n\n按照常规的游戏构成,对游戏的基本构成进行分析
\n首先是非戏剧元素1
\n游戏的邀请:在这部游戏中体现的并不流畅,即并不是十分地沉浸,但是在使得玩家游戏开始的时候就定下了一个基本的游戏基调。
\n游戏的人数:单人
\n玩家的角色:单一角色
\n玩家的交互模式:人机对抗
\n追捕:游戏主要是以潜行为核心,需要玩家在尽可能不要被敌人发现的前提之下达成目标。
\n探索:游戏中有着围绕着背景的丰富的可探索元素,比如可以进入的房间、房间内的虫瘿、npc的对话、跟npc的交互……总而言之,对于背景的刻画相当优秀。
游戏中有两种可以为主角带来提升的探索元素,一种是收集点数以解锁技能和给技能加点,另外一种有点类似护符槽的设计,玩家需要在自己收集到的几种饰品中选择合适的以给予自己更好的增益效果。
掠夺
\n营救/逃脱
\n游戏中基本上是以任务清单的形式引导玩家进行行动,但是具体的行动路径需要玩家自己探索。
除了游戏中提供的常规的方式之外,游戏还为我们设计了许多条需要额外探索才可以发现的方式。比如同样是为了打开【光门】可以选择断电或者修改光门的接线两种常规方式,但是同时你可以去打探小道消息通过渠道混过去,也可以寻找较为隐蔽的小路,比如通过原本封闭的。
因为实际上是属于潜行类游戏,刺杀思路基本上有一个基本的规范2,让玩家玩起来有自己的思考同时也不会过于单调,游戏在一次次小的决策下推进,十分让人着迷。
十分写实的游戏,基本上没有什么规则,很多东西都符合第一印象。我认为这种设计很好,让人有代入感……这可能是仿真游戏热门的原因之一吧……
规则定义的原则就是越简单越好,而最接近现实的规则就是最不需要解释的规则。
血量和蓝条:影响你的战斗和魔法的使用,可以通过道具回复
\n血量:血量过低死亡,简单模式脱战一定时间后回复至半血。
\n![[耻辱2:蓝条设计]]
\n道具:属于消耗品,用一次少一次,分为一下几种:
\n攻击类:直接攻击敌人的道具,可以更快的击杀,或者可以破坏木门等场景。
\n陷阱类:配合刺杀思路使用,间接造成伤害
\n恢复类:回复血或者蓝。
\n技能点数:技能点数只能被有限的分配到各个项目上去,所以说合理的分配点数成为了玩家需要考虑的一件事情。
\n冲突:玩家和人机的冲突,人机作为守卫而玩家需要绕开/打破防守来达成目的。
\n结果:达成目的然后回到船上,即可达成获胜。
\n挑战因人而异
\n可以选择难度
\n可以选择是否使用魔法
\n挑战是动态的
\n挑战的设计优秀:
\n\n1. 即较为传统的游戏元素,注意和戏剧元素区分开来 ↩\n\n
\n2. 即偷偷靠近,想办法不让人发现地刺杀,处理尸体 ↩\n\n
\n3. 玩的潜力的定义:在规则框架内的自由,以及紧凑体验和自我表达的机会 ↩\n\n","tags":["游戏体验日记","耻辱2"]},{"title":"耳机选购2023-12-28","url":"/2023/12/28/1.Archieve/%E8%80%B3%E6%9C%BA%E9%80%89%E8%B4%AD2023-12-28/","content":"\n
之前我是在刚开学的时候购置了一个头戴式耳机。型号是Haylou的S35
\n总体来说,使用体验还是很不错的,但是我还是觉得它的音质不是很好……
\n因为,
\n但是就在最近,我的头戴式的耳机的充电接口坏了,导致我无法使用蓝牙以及降噪功能,我只能将其作为有线耳机使用。
而我的音频线又十分的短,所以说很难说能够这样继续使用下去。
值得庆幸的是,店家支持一年内以换代修,但是他们家没有这个耳机的存货了,于是我可以直接申请原价退款。
\n也就是因此,我得以有机会按照我现在的眼界以及对于自己需求的判定来进行耳机的重新选购。
\n\n说白了,我基本上只有在站定的时候才会考虑去使用这个头戴式的耳机的。最常见的使用场景还是在寝室/自习室/图书馆才会使用……
\n在这些情况之下,我没必要去佩戴蓝牙的小耳机,因为长期佩戴那种耳塞式的耳机会导致我的耳朵比较难受……
\n另外我还可能会在睡眠的时候使用这个耳机,可能更多的是将其作为一个耳罩来使用……
\n综上,实际上我更需要注重的是这个耳机它的音质,至于降噪反而在其次。
\n然后就是我经常听的类型实际上是轻音乐与日本流行音乐,这类音乐对于低频的需求不是很高,而是最主要是中频和高频。这一点也需要被纳入考虑内容当中。
\n音乐的成像也是挺重要的一个参数* 虽然说我还没有了解这个到底具体是指什么。但是就我大概对其的印象而言,应该是会影响耳机播放的声音具体在人脑中结成的位置。总而言之也是一个挺重要的影响因素。
\n主观的比较总是会出现误差,量化的指标更加容易进行评价。
\n这里需要感谢这个网站 Reviews and Ratings - RTINGS.com
\n这个网站里面对于几乎所有在国际市场上较为主流的耳机型号都进行了标准化的指标测量,所以说我们可以拥有一个客观的数据对自己所需要的型号进行选择。
\n我按照自己的需求,选择了几项较为重要的指标进行评价,并且最终得到他们的加权分数和性价比。
\n(说起来我发现excel中居然可以进行矩阵的运算,真是神奇,这样的话我只需要将系数和对应的评分按照 : {k1,k2,k3,k4} * {x1,x2,x3,x4}^T 就可以了,我之前都是手动一个个乘以系数的QAQ)
\n下面是我对比的表格:
\n\n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
\n | \n | \n | 参数的系数 | \n1.2 | \n0.8 | \n1.2 | \n1 | \n1.3 | \n0.8 | \n0.6 | \n3 | \n-0.01 | \n0 | \n50 | \n0.5 | \n7 | \n\n | \n | \n |
品牌 | \n型号 | \n价格 | \n参数 | \n声音还原程度 | \n低音 | \n中等精度 | \n高音准确度 | \n成像 | \n被动声场 | \n虚拟声场 | \n降噪 | \n无线延时 | \n无线 | \n有线 | \n应用支持 | \n多设备连接 | \nend | \n总分 | \n性价比 | \n
索尼 | \nWH-1000XM2型 | \n550 | \n\n | 8 | \n8 | \n7.8 | \n8.4 | \n8.7 | \n3.9 | \n6.4 | \n9.1 | \n304 | \n0 | \n0 | \n8.5 | \n1 | \n虚拟声场+更好的app支持 | \n87.54 | \n0.159163636 | \n
声阔 | \nQ30 | \n320 | \n\n | 6.9 | \n4.9 | \n8.2 | \n7.2 | \n6.1 | \n4.9 | \n0 | \n9.1 | \n206 | \n0 | \n0 | \n7.5 | \n2 | \n\n | 84.08 | \n0.26275 | \n
声阔 | \nQ35 | \n440 | \n\n | 6.8 | \n6.7 | \n9.1 | \n6.6 | \n7.6 | \n5.1 | \n0 | \n8.2 | \n206 | \n0 | \n0 | \n7.5 | \n2 | \n\n | 85.29 | \n0.193840909 | \n
声阔 | \nQ45 | \n450 | \n\n | 7.7 | \n7.4 | \n7.1 | \n6.9 | \n8.7 | \n3.6 | \n0 | \n9.2 | \n214 | \n0 | \n0 | \n7.5 | \n2 | \n\n | 87.98 | \n0.195511111 | \n
索尼 | \nWH-1000XM3型 | \n770 | \n\n | 8.3 | \n7.2 | \n9.4 | \n7.9 | \n7.8 | \n3.7 | \n6.4 | \n9.8 | \n225 | \n0 | \n0 | \n8.5 | \n1 | \n虚拟声场+更好的app支持 | \n90.24 | \n0.117194805 | \n
声阔 | \nQ20 | \n200 | \n\n | 6.8 | \n5.4 | \n8.5 | \n7.4 | \n8.4 | \n4.5 | \n0 | \n7.6 | \n362 | \n0 | \n0 | \n0 | \n1 | \n\n | 70.78 | \n0.3539 | \n
\n | S1 | \n500 | \n\n | 6.5 | \n8.6 | \n6.6 | \n6 | \n8.5 | \n4.8 | \n0 | \n7.5 | \n275 | \n0 | \n0 | \n7.5 | \n2 | \n\n | 80.99 | \n0.16198 | \n
最终选择了soundcore的Q35,从数据上来看,q35的几项和声音有关的属性如下:
\n品牌 | \n型号 | \n声音还原程度 | \n低音 | \n中等精度 | \n高音准确度 | \n成像 | \n被动声场 | \n虚拟声场 | \n
---|---|---|---|---|---|---|---|---|
声阔 | \nQ35 | \n6.8 | \n6.7 | \n9.1 | \n6.6 | \n7.6 | \n5.1 | \n0 | \n
拥有较为优秀的的中频和高频精准度,虽然说低音较差,不过我本身就不怎么挺摇滚低音炮,所以说对我来说影响不是很大。
\n其实吧,如果真的要说性价的话,索尼的耳机的优势很明显,但是最终还是因为它只支持单设备连接和延时较高而被劝退了。
其实还有一点就是价格,我的基础预算是300,因为这个haylou也不过就是250的价格买的,我就是想买个同价位音质更好的而已,没必要让我的预算翻倍……
不过说起来,只支持单设备链接是否有点过于nt了……
\n听说还是十分不错的……反正目前东西还没有到,但看数据而言是十分优秀的。
\n最终我以350的价格购买到了一个女大学生的99新的耳机,她说基本上只用过一两次。(这个价格基本上可以说是做慈善了……)
\n还去研究了一下,耳机线,这次买了个两米长的线,这下应该不用再担心线不够长了哈哈哈
\n音质确实和原本的相比要好上不少,降噪的效果也是不错的
\n# 耻辱2
# 游戏设计
这个设计比较有意思,使用技能会消耗蓝量,蓝量会在使用技能一段时间后恢复至当前数值+固定数值。相当于多次连续使用技能不仅会耗蓝,还会消耗蓝量的当前的上限。只有通过使用道具才能将蓝量拉回来。
这种设计在不过分限制蓝条的使用的前提下,对过于依赖魔法做出了惩罚:即下一次能透支的连续使用魔法的次数会变少,我认为这是值得借鉴的一点。
\n","tags":["游戏设计","耻辱2"]},{"title":"自制英雄——爱哭鬼(改编)","url":"/2024/02/07/1.Archieve/%E8%87%AA%E5%88%B6%E8%8B%B1%E9%9B%84%E2%80%94%E2%80%94%E7%88%B1%E5%93%AD%E9%AC%BC%EF%BC%88%E6%94%B9%E7%BC%96%EF%BC%89/","content":"\n【非人学园/第五人格】自制联动英雄——爱哭鬼|-|哔哩哔哩|(bilibili.com)
\n本篇在其基础上改了些东西,以达到本人的审美水准
\n\n本篇为『非人×第五』系列的第四个自制联动英雄——爱哭鬼罗比,他将化身为一个拥有高机动性和强大控场能力的刺客。
\n姓名:罗比
\n定位:突袭
\n特长:冲刺/回复
\n分路:野区
\n操作难度:⭐⭐⭐⭐⭐
\n\n\n罗比的技能会对地方造成【恐惧】效果,最多5/7/9/12层,每层使其减速3%,并降低其3%双抗。
\n罗比普攻对非英雄单位额外造成20%的伤害,每移动100码距离获得一次强化普攻的机会,使下次普攻冲向敌人,用斧头重劈,对锁定目标及附近小范围内的敌人造成100(+120%物理加成)+英雄等级×10点物理伤害,命中时回复自己80(+25%物理加成)点生命值,若罗比位于腐朽领域内,重劈攻击会附带0.2秒眩晕,罗比可储存至多3次强化普攻机会。罗比位于安息之路上移速持续增加,3秒内加速比例达到最大150%,罗比在安息之路上每停留4秒获得一次强化普攻机会
\n
\n\n罗比消耗一根树枝并在指定位置种下一颗面向自己的树苗(敌方不可见),树枝会在触碰到敌方角色后迅速长成【安息松】,对周围角色造成200(+10%物理加成)物理伤害并将其击飞0.3s后向朝向的方向抛掷40码的距离,然后在1s内扩大根系形成半径120码的【腐朽领域】。
\n【安息松】拥有 20%自身最大生命值的生命值并继承罗比的双抗,被摧毁时与之相关的安息之路会消失,同时留下树枝,罗比接触树枝时可拾取树枝,最多存在60s,【腐蚀领域】会在安息松被破坏后的2s消失
\n【腐蚀领域】每0.5秒会对在其范围内的目标造成50(+5%安息松当前生命值)法术伤害,同时给予其【恐惧】
\n不同安息松的腐朽领域接壤时将在两颗安息松之间形成一条安息之路。
\n
被动:罗比开局拥有8根树枝,全场至多存在6棵安息松,达到上限值后,新种下的安息松会取代最先种的安息松
\n\n | Lv1 | \nLv2 | \nLv3 | \nLv4 | \nLv5 | \nLv6 | \n
---|---|---|---|---|---|---|
双抗削减 | \n15 | \n17 | \n19 | \n21 | \n23 | \n25 | \n
固定双抗 | \n100 | \n130 | \n160 | \n190 | \n220 | \n250 | \n
存在时间 | \n60 | \n65 | \n70 | \n75 | \n80 | \n85 | \n
罗比向指定方向位移,对路径上的敌人造成450(+120%物理加成)点物理伤害并形成安息之路,树根进入腐朽领域时会额外延伸一条较窄的安息之路支路通向该领域附属的安息松。召唤树根时罗比无法移动,处于霸体状态,再次使用该技能或安息之路达到200码的极限距离时停止召唤。若罗比当前拥有树枝,还会让树根携带树枝生长,并且在停止召唤后在终点处种下一棵安息松。使用该技能时召唤的安息之路持续30秒。
\n罗比快速向指定位置进行滑铲,对路径上的敌人造成150(+80%物理加成)点物理伤害,命中时回复自己75(+60%额外物理加成)点生命值,若位移的终点位于安息之路,则会立马刷新该技能并获得【除怨-二】
\n指定当前所在安息之路对应的安息松,罗比将自己拉至目标并将该安息松摧毁,对路径上的敌人造成150(+80%物理加成)点物理伤害和0.5s禁锢,并引爆【腐蚀领域】和与之链接的【腐蚀领域】对在其中的角色造成1000(+70%物理加成)的物理伤害
\n罗比的核心就是种树,然后把树拆了,就是这样
\n","tags":["游戏策划"]},{"title":"耻辱2:给玩家一个家的港湾","url":"/2023/11/30/1.Archieve/%E8%80%BB%E8%BE%B12%EF%BC%9A%E7%BB%99%E7%8E%A9%E5%AE%B6%E4%B8%80%E4%B8%AA%E5%AE%B6%E7%9A%84%E6%B8%AF%E6%B9%BE/","content":"# 耻辱2
# 游戏设计
在耻辱2中,每次一个新的任务开始的时候,玩家总是会回到“鞭痕号”,并在这里承接推进剧情,给予玩家一个休息的空间。一般这种场景需要有以下的特质:
###
和####
,更大的标题尽量少使用,更小的标题请使用-
或者1.
创建列表。<!-- more -->
我目前使用的图床:来自 Xlxz 的 图片 (xlxz) - ImageHub - 图仓 还算是好用的。title: 已弃用的网站[Xlxz (xlxz) - 路过图床 (imgse.com)](https://imgse.com/xlxz)
这个网站免费每小时限制8张,每天限制16张,更高额度要每年120¥
新的网站免费每分钟限制上传 50 张图片,每小时限制上传 200 张图片,每天限制上传 800 张图片,每周限制上传 2000 张图片,每月限制上传 5000 张图片。超过限额的图片会上传失败。(但是没有升级入口)
你说我选谁
使用方式:在图床上上传了之后获取链接,链接copy到这里就ok了,比如[](https://www.imagehub.cc/image/1Py4Is)
hmmm,还是十分好用的。
\n输入错误的链接/图片被删除了会显示警告图片:
\n
\n\n
|
实际上使用markdown就已经可以实现大多数的功能,但是下面的几个功能我认为是比较重要且只能使用hexo实现的。
\n将图片放到和blog相同名称的文件夹内,然后使用{% asset_img XXXX.png \"XXXX\" %}
就可以在网站中显示图片了(但是在markdown中不显示)
这里一定要空一行 |
显示效果如下:
\n\n建议配合下拉菜单显示原文使用,方便检索和查看原文
\n
|
<details> |
|
分享&存档
\r\n
|
#\r\n王国保卫战:复仇
\r\n王国保卫战:复仇是铁皮工作室对于王国保卫战的正篇续作。如果将其作为脱离于主线之外的日后谈或者说是番外/外传来游玩,游戏还是颇具特色,多种多样的英雄和防御塔给予了玩家丰富的体验,二十多关的关卡内容与各种各样的敌人又给了玩家多样的游戏乐趣。但是,我还是需要说的就是,如果将其作为一个独立的续作来游玩,恐怕会有些没有达到我这个老玩家预期中的质量。下面,我会分别列举游戏中的优点和缺点:
本作的防御塔一改以前的通过基础塔分支进化的设计方式,而是改成了每座塔都是单独的一二三级塔。这样的设计十分有意思,让玩家在放置之初就能够体验到不同塔的不同攻击方式及其威能,而不是像以前一样,需要将防御塔升级到较高等级才能够进行分支选择升级为不同功能的塔。
\r\n英雄在王国包围战系列游戏中发挥的作用很大,玩家可以自由调动英雄,也可以随着关卡养成英雄并且给他的技能加点。
\r\n英雄在游戏中的作用不小,基本上可以视作一个小型的高级塔,玩家可以通过灵活调动英雄和使用英雄的技能从而能够打出更高的操作上限。
\r\n更为重要的是,英雄的强度并没有特别高以至于打破游戏平衡的英雄,虽说能够提高己方的战斗力,但是也不能替代防御塔。
\r\n在游戏中英雄的养成元素并不浓重,英雄的最高等级只有十级,玩家只需要带着英雄打上三四关即可将英雄升满级。
\r\n游戏中,英雄升级的途径就是击杀怪物,而不是像一般的游戏一样在关卡之后结算。这就使得英雄的等级升级的较为轻松,加上英雄本身强度的限制,使得英雄的等级从来不是卡关的原因,而且加上因为是通过击杀怪物升级,所以说即使是失败了,玩家的英雄依旧能够得到等级的提升。
\r\n如果是玩家想要尽可能快的提升英雄的等级的话,那么实际上只需要将他派往前线就好了,比起一般的二游设计的通过关卡和资源副本获取经验瓶,然后再使用经验瓶来升级角色来说,我认为这种形式可以使玩家更有成就感:“想要变强就多出来练练”就是这个道理。
\r\n游戏中的英雄丰富多样,再配上合理且具有成就感的养成系统,玩家能够轻松将喜爱的英雄升至满级并且愉快的体验。
\r\n玩家完全有机会体验游戏中的绝大多数英雄,而且也能够体验不同英雄带来的不同的战斗风格和技能效果。
\r\n在游戏中,我们变成了反派,去进攻原本我们操控的英雄,去攻打前作中由我们控制的兵种。对于老玩家来说十分的怀念~
\r\n在之前的几作中,游戏中有完整且循序渐进的引导体系,当然,这也是建立在只有四大类塔和总共八种分支塔的前提之下。
\r\n在本作中,游戏的引导只是指点了一些基本属性的说明,而对于更进一步的运用,却没有设计更为合理的关卡作为对于玩家的指引。
\r\n在之前的几部作品之中,前期因为各种各样的塔都是基础的四种:民兵、弓箭手、法师、炮台,所以说十分需要注意的就是应对不同兵种时的塔类搭配。
\r\n比如前期打强盗,使用民兵就很难阻挡,比较好的办法就是在路径上使用弓箭手进行消耗,而对于有盔甲的敌人,法师塔就是一个不错的办法,而对于大批大批数量极多但是脆皮的蜘蛛来说,使用炮兵再合适不过了。
\r\n在前作中,基本上解锁一种新的建筑的时候,都是因为需要应对一种新的兵种。大量跑的快的动物,使用炮台就不合适了,这个时候就需要使用弓箭手的分支:魔法弓箭手,他们射击快,视野远,打击准,用来清剿这种敌人来说再合适不过了。为了应对较为强势的治疗兵,我需要尽快建造带有沉默效果的野蛮人投手,他们可以召唤符文禁用敌人的治疗效果……
\r\n但是在本作中,拥有多达16种塔,加上每种塔都有独自的123级+完全体的塔,再想要设计出像前作一样的引导体系似乎有点困难。
\r\n虽然说防御塔的种类变多了,但是实际上让我眼前一辆的也只有新增的“可以移动攻击者的位置”的远程攻击塔了,比如哥布林飞艇。哥布林飞艇的攻击方式是从上向下投掷炸弹,而飞艇的位置是可以人为改变的,这就解除了远程塔对于塔位的限制,玩家可以控制哥布林飞艇的位置从而实现准确的区位攻击。
\r\n哦,还有两个也挺有意思的:一个是可以让周围死的敌人变成僵尸,另外一个是范围的地刺。
\r\n但是除此之外,貌似并没有看到有什么有意思的设计,下面是防御塔的列表,说实话,很少有意思的塔。另外,没意思的点还在于“没用的技能升级”,并不是每个技能升级都是有用的,甚至有的的实际效果完全不能匹配它的价格。这就相当于你给了玩家一个必然不选的选项,那么实际上设计的这个选项就是有问题的,实际上,这种选项应该要是等效的,只应存在的是玩家对于局势的判断,不同技能的优先级不一样。
\r\n防御塔 | \r\n一言以蔽之 | \r\n
---|---|
暗影射手塔 | \r\n最普通的射手 | \r\n
兽人勇士巢穴 | \r\n最普通的民兵 | \r\n
炼狱法师塔 | \r\n最普通的法师 | \r\n
哥布林火箭骑兵 | \r\n最普通的炮兵 | \r\n
黑暗骑士殿堂 | \r\n一个甲特别厚的民兵 | \r\n
熔炉 | \r\n地震机弱化版 | \r\n
死灵墓 | \r\n奥数法师特别削弱版,伤害低但是能蓄力 | \r\n
回旋哥布林 | \r\n一来一回经常射不准的射手,除了眩晕其他没什么能看的 | \r\n
掷骨者 | \r\n攻速很快,自带小兵的射手 | \r\n
精英骚扰者 | \r\n两个可以射箭的民兵 | \r\n
兽人萨满塔 | \r\n随机伤害攻击的法师,技能没什么值得说道的 | \r\n
阴森墓地 | \r\n没有集结点,但是可以将死去的敌人转化为僵尸的民兵 | \r\n
腐朽森林 | \r\n范围地刺,减速,刮痧,控制,自带两个脆皮小兵 | \r\n
炙热宝石 | \r\n持续激光输出,固定目标越打越疼 | \r\n
女巫姐妹花 | \r\n无视塔位的法师塔,输出不俗 | \r\n
哥布林战用飞艇 | \r\n无视塔位的炮塔,输出不俗 | \r\n
深海恶魔礁 | \r\n法师塔+网兜民兵 | \r\n
沼泽怪兽 | \r\n两个血特备厚实的民兵 | \r\n
因为存在替代关系,所以说我基本上了解了哪个塔强之后就没有换过塔……
\r\n哥布林飞艇主输出,阴森墓地,生成僵尸拖住大量敌人,腐朽森林减速留人,精英骚扰者用来拦人和射飞行兵,回旋哥布林用来大批清理后排加上眩晕控制和射飞行兵。通关我根本没用法师塔……哥布林加上其他几个留人的基本上伤害足够了……
\r\n而且这一套还不怕塔被禁用……主力哥布林飞艇是独立于塔的,阴森墓地生成僵尸是被动效果,腐朽森林主要吃的也是技能和效果……
\r\n过于明显的上下位替代关系使得游戏没有那么有意思了。
\r\n在设计塔的时候如果能够为每种塔设定一种特殊的需要应对的怪物,按照这种思路思考可以一定程度上减轻明显的上下位替代问题。
\r\n基本上每到一个地方,四五关就打通了区域boss,两关初见战,一关精英战,一关boss战,然后就立马换地方……每个地区的特色并没有凸显出来,每关的长度也十分的长,基本上都要半个小时,这对于玩家来说负担会比较大。
\r\n如果能将原本的 4 * 30min 变为 6 *\r\n20min,让玩家对于一关不至于疲劳,而对于每一个地区能够作较为深入的认识就好了。
\r\n导致关卡长度过长的原因还有就是现在的每种塔都有独立的123级,玩家并不能感受到普通的123级跳跃到4级的完成感,于是弱化了对于游戏前期和后期的区别,使得玩家感受到重复与疲倦。
\r\n要我提出建议的话,就是砍掉1级的塔,而是使防御塔只有234,且在4级的解锁额外效果上下功夫,使得玩家能够明确的感知到塔的升级,且使整局游戏加快。
\r\n在前作中,升级技能树是使用通关关卡之后的星星,所以说为了提升自身强度,玩家会尽量在这关中达到三星通关。在着一作中,升级使用的是另外的一个点数,而每一关获得的点数奖励貌似是预先设定好的,而跟获得的星星并不一致,有的关卡给三个点数,有的却给4个。这样削弱了满星星通关关卡和提升强度之间的直观联系,从而削弱了游玩的时候追求满星的乐趣。
\r\n同时,在本作中,获取新的防御塔类型也是在关卡结束后,这就使得防御塔在认知上是和关卡割裂的,不过,这也是对“多种塔、自由配”这一创新的妥协
\r\n在前作中,技能点数被分为了六种:四大塔类和支援兵以及火球术,每个种类有一条链。
\r\n但是在本作中,技能树被进一步化简,变为了:塔,英雄,志愿兵,火球术。而且塔的内部,每一种塔种的专有加成也只有一个。这就使得玩家并不能按照自己的意愿来选择喜欢的派系,\r\n而这个技能树,显得更像是对于不断加强的敌人的一个难度调节的补正系统……
\r\n不过,这也是对“多种塔、自由配”这一创新的妥协。
\r\n\r\n