某游戏中有一个升级系统,每次尝试升级时,会有一定的概率成功或失败,成功后则等级+1,失败则等级不变。升级时会消耗一定的资源,升级成功的概率和资源的消耗量都仅与当前等级有关。具体规则如下:
| 当前等级 | 成功率 | 升级消耗 |
|---|---|---|
| 0 ~ 2 | 35% | 10 |
| 3 ~ 6 | 20% | 20 |
| 7 | 15% | 30 |
| 8 | 10% | 30 |
| ≥ 9 | 5% | 50 |
一开始等级为0,玩家有且仅有20次升级尝试的机会,无论成功或失败都算作一次尝试。
问题:计算玩家用完20次升级尝试后,总消耗的资源的概率分布。



某游戏中有一个升级系统,每次尝试升级时,会有一定的概率成功或失败,成功后则等级+1,失败则等级不变。升级时会消耗一定的资源,升级成功的概率和资源的消耗量都仅与当前等级有关。具体规则如下:
| 当前等级 | 成功率 | 升级消耗 |
|---|---|---|
| 0 ~ 2 | 35% | 10 |
| 3 ~ 6 | 20% | 20 |
| 7 | 15% | 30 |
| 8 | 10% | 30 |
| ≥ 9 | 5% | 50 |
一开始等级为0,玩家有且仅有20次升级尝试的机会,无论成功或失败都算作一次尝试。
问题:计算玩家用完20次升级尝试后,总消耗的资源的概率分布。
查询 systemctl 相关的日志,主要使用 journalctl 命令,因为 systemd 的日志是由 journald 来管理的。
sudo journalctl
使用git时,我们有时候并不需要整个代码库的所有内容,只需要其中的一部分内容。尤其当目标仓库很大时,这个功能就更为常用了。这时,我们可以使用git的稀疏检出功能(sparse checkout)来实现。
我们知道,在redis-cli中使用如SET、GET等命令可以读写数据。但如果过大(例如一个几百K的字符串),这种方法就有些不方便了。
本篇主要介绍 speedrun.com 上面《丝之歌》游戏的投稿问题和NMG规则。
丝之歌排行榜的投稿于2025年10月1日正式开放。
注意
规则的英文原文见:https://github.com/hk-speedrunning/Silksong-Rules
本文旨在帮助国内速通玩家了解速通投稿规则,以意译为主,附带本人的解释,方便国内速通玩家理解,难免有翻译错误,最终请以英文原文为准。下面的每一段翻译都附带了英文原文,方便比对。
规则随时可能变化,但本文档更新可能滞后,最终请以上方链接的规则原文为准。
空洞骑士和丝之歌的存档文件放在打开之后是一串乱码,显然是加密过的。本文简单讲一下它使用的加密算法。
为什么要使用LiveSplit?
在《丝之歌》速通过程中,考虑到不同玩家的电脑配置不同,speedrun.com 上的丝之歌排行榜规定:速通耗时的统计应当使用排除了游戏加载时间的耗时(LRT,Load Removed Time),玩家应当将计时器全程放在视频中清晰可见的位置,否则会按照真实耗时进行统计。其中,LiveSplit 是 speedrun.com 《丝之歌》排行榜中最推荐使用的计时器软件,其中的《丝之歌》计时插件支持排除游戏加载时间的功能。
你可以前往LiveSplit官网下载最新版本的 LiveSplit。
考虑到LiveSplit是全英文的,很多国内玩家不方便使用,因此我开发了一个中文版的计时器生成器,可以用来快速生成你需要的模板(.lss)文件,把这个模板文件导入到LiveSplit就可以用了。
.vcf 文件,也称为 VCard 文件,是一种用于存储联系人信息的标准文件格式。它通常用于电子邮件客户端、手机通讯录和其他应用程序中,以便于导入和导出联系人数据。大部分手机和邮箱的通讯录都支持导入和导出 .vcf 文件。
一个简单的 .vcf 文件大致是这样的:
BEGIN:VCARD
VERSION:2.1
N:;example;;;
FN:example
TEL;CELL:123456789
EMAIL;WORK:example@example.com
END:VCARD
BEGIN:VCARD
VERSION:2.1
N:;test;;;
FN:test
TEL;CELL:123456789
EMAIL;WORK:test@test.com
END:VCARD
我们在使用Go标准库以及一些第三方库时,经常看到需要传入一个context.Context类型的参数。Context 一词翻译过来叫做“上下文”,但在Go语言中,它到底有什么用,应该怎样用呢?
我们就以之前聊到的 五子棋AI 为例:
假设我们计算6步棋花了数秒钟,但是计算8步棋花了1分钟还没算出来,就可以提前返回计算6步的策略了。
这段话看似简单,实则涉及到并发编程的一个问题:提前返回后,8步棋的计算仍在进行,这样会持续浪费资源,如何将其停掉呢?