机率新手如何减少犯错的机会(EXCEL、Program)

在制作EXCEL完后,我们通常要自行验证自己的试算表是否正确,但验证的路远而宽广,是你的程式写错,还是你的EXCEL出错,我该怎么判断,是不是有一些规则可循?因为自认为目前只能算个初阶机率而已,我想就让我分享我在大海捞BUG时的一些技巧跟逻辑,希望之后的机率工程师可以更快的上手。

程序

  1. Feature类(Locked Wild 盘面变形)的程式逻辑先后要非常清楚,先算分还是先变化的处理上要非常小心,前后搞错模拟出来会差很多
  2. Pay Table写入数值正确很重要(曾经200写成20炸掉过)
  3. 自然机率滚轮抽取后写入盘面的位置正确很重要(曾经Reel 2抽完写到Reel 3的位置)
  4. 盘面上有Locked Wild时,Scatter出现在同一位置的变化
    (假设我的盘面把Locked Wild 预设为数字15,Scatter预设为数字16,我会设定数字17做为Locked Wild跟Scatter同时出现时使用)
  5. Line Game 及Way Game的算分逻辑正确很重要(通常这比较少错因为写过一次基本上就是一直沿用)

Excel

  1. 尽量不要使用复制贴上(刚开始制作Excel时会因为贪图方便,而使用复制贴上如下图,我会直接把A3复制到B3,但当你A3做更改时B3会维持原样,因此后来都会尽量使用在B5表格内填入=A5 的方法减少错误)

image

2.Way Game的滚轮表(因Way Game的计算方式会在滚轮表最后补上相对应的图示,数量是否正确)

3.Way Game的滚轮表与计算Way Game数量长度是否相等(假设盘面是2*3)

image

4.马可夫链是否有拉错(通常数字差距大我会先从这部分开始检查)

结论
当程式模拟与Excel都完成后,但最后模拟结果与Excel对不起来

  • 我都会先从Excel检查起,像MID找出来的值是否正确,范围抓得对不对,检查完觉得都没问题了,才会去程式里面除错
  • 程式先从宣告类下手(像是上面提到的Pay Table),之后才会去检查程式逻辑,如果检查到头昏脑胀发现逻辑顺不出来加入一些printf(C#是Console.WriteLine)去验证先后顺序,若是使用像C#有个更强大的功能是单步执行搭配使用断点,其实就不需要土法炼钢的printf,直接单步执行针对想看的dictionary或是值去看就可以了

希望可以帮助跟我一样除错除到快疯掉的机率工程师们。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容