星露谷物语运势系统源代码测试解析运势怎么计算

4月末入手stardewvalley,玩了一个档。基本上能玩的元素都玩到了,觉得这个游戏的许多地方都很有趣,重要的是这个游戏是xna的,因此想看一下。在网上也没有什么比较好的关于运势系统的分析攻略,所以就选择了这个来分析。

首先打开游戏中的人物状态这里,发现有5个人物的属性等级,farming,mining,foraging,fishing,combat这5个技能类型,在这里我发现其实同等级的技能类型不止有5个,而是6个。

第六个是Luck,也就是幸运等级,只不过这个不会显示在玩家可见的状态栏里。

这就解释了吃某一些料理的时候会增加人物的运气等级,其实增加的就是这个属性。

通过代码发现,这个运气等级其实和我们每天早起看电视的那个运气并不是同个东西。

在代码中显示:运气等级在代码中的名称叫做:LuckLevel,而每日的运气名称叫做:dailyLuck,许多取决于运气的几率事件都是将这两个运气值同时进行计算的。

这段代码显示的就是每天在电视上看到的内容,会根据每日随机的运势值来进行显示

那每日运势这个东西是如何计算的呢?

是这一句话进行随机的

意思大概是,会首先在0.0-1.0之间进行随机一个数字,如果这个数字小于0.8,同时玩家是有“魅力”的,这样的话那运气是固定为0.1,也就是“非常开心”,但这个还不是最幸运的情况,最幸运需要到0.12。如果这个数字大于0.8,或者玩家不是“有魅力的”,那么就会对玩家再进行一次随机,相当于是在-0.1-0.1之间随机。这个概率就比较平均了。

在游戏中,我们一般会遇到几种运势:

1.精灵非常开心(大于0.07)

2.精灵很开心(0.02-0.07)

3.命运掌握在自己手中(-0.02-0.02)

4.精灵不太开心(-0.02--0.07)

5.捣蛋(小于-0.07)

但是,在代码中发现还有三种不同的运势,我是没有遇到过,不知道有没有人玩到过这三种运势:

1.Thespiritsarejoyous!Someonegavethemaniceofferingtoday,andtheyareverypleased.意思大概是今天精灵极开心,会带给你特别好的一天。(0.12)

2.Thisisrare.Thespiritsfeelabsolutelyneutraltoday.意思说这很罕见。今天的精灵绝对中立。(0.00)

3.Thespiritsarefurious.Apparentlysomeonetriedtogivethemaworthlessoffering...Hmm.It'sunwisetoplayjokesonthespirits!意思是精灵很愤怒。显然有人试图给他们糟糕的东西,给精灵开这个玩笑很不明智!(-0.12)

不过,在代码中分析,按照正常的随机算法,是不会出现0.12或者-0.12的,不知道这是不是作者没完成的设定,或者我还没有发现。而0.00这个值是可以出现的,和它自己说的一样,这个确实比较罕见(0.5%几率)。

还有就是最上面说的玩家是有“魅力”的,这个时候,有90%的几率是好运(80+20*50%)。那什么是有魅力的呢,这个我还没有仔细的分析过,貌似只有作者Debug的时候才用到,或者与创建人物时写的那个”喜爱的东西“有关。

那这个运势都会影响什么东西:

1.动物出产的产品

2.矿洞死亡后物品掉落

3.夏天的闪电

4.作物收获

5.蟹笼

6.送礼

7.敲碎石头后掉落物品

下面逐一进行介绍。

CopyRight2003-2018违法和不良信息举报(021-54473036)AllRightReserved

THE END
1.VS如何运行测试代码VS如何运行测试代码 简介 现在我们来看看,VS如何运行测试代码。工具/原料 联想2020 Win11 VS 2017 方法/步骤 1 我们可以使用最简单的办法直接点击启动按钮。2 或者我们点击菜单栏中的测试按钮。3 然后我们点击运行二级菜单。4 接下来我们点击所以测试按钮。5 也可以使用它的快捷键。6 同理,还可以使用它的调试命令https://jingyan.baidu.com/article/67662997a06a7d54d51b84e7.html
2.Python中如何实现代码测试问答在Python中,通常可以使用以下几种方法来实现代码测试:1. 单元测试(Unit testing):使用Python内置的unittest模块或第三方库如pytest来编写和运行单元测试,以验证https://www.yisu.com/ask/27942242.html
3.Golang中如何编写test测试代码这个输出结果是否是我们期望的!很多是否都要碰都这种情况,特别是在写一些项目的时候,文件很多代码也多,以前在不知道这样方法的时候就很恼火,以前在遇到这种情况的时候处理方法就是用IDE新建一个环境,然后把要测试的函数直接复制过去,但是这样不仅麻烦很多时候还没有办法做。https://www.jianshu.com/p/3e9aa5d20782
4.MSDN—探索如何创建测试和理解代码MicrosoftLearn创建代码 了解如何创建代码,获取工具,并立即开始学习。 测试代码 阅读有关测试代码的基础知识,获取工具,并立即了解更多信息。 理解代码 学习理解代码的过程,获取工具,并深入了解! 所有开发人员中心 展开表 任务 展开表 理解代码 理解代码涉及多个任务。工具可帮助您以直观形式查看和理解代码的组织、关系和行为。 https://msdn.microsoft.com/zh-cn/gg192976
5.如何创建临时查询,测试运行代码临时查询用于在本地测试代码的实际情况与期望值是否相符或排查代码错误。 背景信息 若您仅需在数据开发(DataStudio),即开发环境,查询数据及相关SQL代码、测试代码的实际运行情况与期望值是否相符,或验证代码的正确性,而无需将数据或SQL代码发布至生产环境并操作生产环境引擎,则可通过 新建临时查询文件实现。https://help.aliyun.com/zh/dataworks/user-guide/create-an-ad-hoc-query
6.四种常见的代码覆盖率测试当您添加新的功能和测试时,增加代码覆盖率百分比可以让您更加确信您的应用程序已经经过了彻底的测试。然而,还有更多的问题有待发现。 四种常见的代码覆盖类型 有四种常见的方法来收集和计算代码覆盖率:函数、行、分支和语句覆盖率。要查看每种类型的代码覆盖率如何计算其百分比,请思考以下计算咖啡成分的代码示例: https://blog.csdn.net/2301_81967508/article/details/144409765
7.谷歌指南:编写可测试的代码谷歌的软件工程师为了保持代码的最佳状态, 写了以下提醒. 缺陷: 构造器做了真正的工作 构造器中的工作包括: 创建/初始化协同类, 和其他service通信, 和设置自身状态的逻辑, 失去了测试的必要, 迫使subclass/mocks去继承不必要的行为. 构造器中太多的工作阻止了测试中的实例化或协同类的修改. https://zhuanlan.zhihu.com/p/146951456
8.JavaIDE如何使用代码覆盖率工具?在软件开发中,代码覆盖率是一个重要的质量指标,它用于衡量测试代码对实际代码的覆盖程度。Java 开发者常常使用 IntelliJ IDEA 这样的 IDE 来进行项目开发和代码测试。然而,有时在使用“Run with Coverage”功能时,会遇到一些问题,导致代码覆盖率无法正常工作。本文将介绍如何在 IntelliJ IDEA 中使用代码覆盖率工具,并https://blog.51cto.com/u_16175520/11996918
9.如何在树莓派4B上通过GoogleMediapipe解决方案实现手势检测6. 编写代码测试 接下来就可以尝试编写代码进行测试了,其中可以参考官方提供Python代码示例来进行学习: import cv2 import mediapipe as mp mp_drawing = mp.solutions.drawing_utils mp_drawing_styles = mp.solutions.drawing_styles mp_hands = mp.solutions.hands https://www.eet-china.com/mp/a148964.html
10.如何在Simulink中实现MIL的自动化测试?汽车测试技术自动化测试代码主要包括3个指令:xlsread、sim、xlswrite。 先用xlsread把测试用例的输入和期望输出读取进来;借助for循环,实现每一个测试用例的单独执行,这里会用到sim(‘XX.mdl’),把执行完的结果与期望的结果对比即可获得测试结果;最后把测试结果通过xlswrite写入excel。 https://www.auto-testing.net/news/show-107747.html
11.通过调试器如何在线测试S7SCL源代码?内容预览:描述: 调试器帮助对S7-SCL源代码进行一个简单调试,如果在编译S7-SCL 源代码过程没有错误发生,能够通过利用断点找出程序逻辑错误,并在运行时监视S7-SCL 代码的函数功能。过程如下面表格中描述: https://www.ad.siemens.com.cn/download/DocumentDetail_2719.html
12.静态代码分析测试静态分析如何保障软件质量和软件安全? 提高代码质量并降低缺陷成本 在开发过程的早期防止代码缺陷,以免它们在软件测试的后期阶段造成昂贵的成本。 满足行业功能安全标准 引入支持IS26262、DO-178C、IEC62304、IEC61508、EN50128等功能安全标准的静态分析解决方案。 https://www.parasoftchina.cn/solutions/static-code-analysis/