Re: [FGO] 石头回收完了 会显示负数

楼主: fish770130 (catfish)   2024-12-27 16:08:51
※ 引述《allen20937 (旅行者)》之铭言:
: ※ 引述《seer2525 (月月)》之铭言:
: : 标题: Re: [FGO] 石头回收完了 会显示负数
: : 时间: Fri Dec 27 12:57:25 2024
: : 你跟这张图的主角应该比FGO工程师还厉害
: : https://i.imgur.com/BTC2EYz.png
: : 明明就写得很清楚
: : 抽之前有偿26 无偿-149
: : 抽下去会变有偿23 无偿-149
: : 这就是扣有偿啊 看不懂有偿无偿意思就算了
: : 不会连有跟无都分不出来吧
: 首先我要先澄清这篇文章不是在说实际上FGO就是这样,我没玩宇宙神游也不在乎这件事
: 情到底是真是假。
: 我只是想解释当某种情况下出现免费石变负数后还越扣越负这种Bug在游戏程式逻辑上
: 是完全说得通,实际上也有可能会发生。
: 但我没有说FGO就是这种情况
: 但我没有说FGO就是这种情况
: 但我没有说FGO就是这种情况
: 很重要所以说三次,免得有人乱扣帽子说我就是在指宇宙神游
: 首先要先解释的是通常这种结果预测的UI显示出来的数字是工程师预期玩家做了某些动作
: 之后会产生这样的结果。
: 因为实际上玩家还没行动,所以一切的数字都只是预测,而不是已成事实的结果。
: 有做过实验的人都知道吧,预测跟实际出来的结果有差别根本是家常便饭
: (我没有说这种差别在手游上很普遍,只是提出这种情况有可能会在现实中发生)
: 假设你身上有免费石A颗,课金石B颗,抽一次要花费X颗好了
: ・UI逻辑
: {
: 如果玩家的免费石A < X
: 显示:A数量不变,B-X → 免费石数量不够,消耗课金石
: (这边实际上还要加入检查课金石数量的条件判断,但我省略了)
: 否则显示:A-X,B数量不变 → 满足一抽需要的数量,优先消耗免费石
: }
: 但像我刚才所说的这充其量只不过是预测,不是实际行动后的结果,实际上要等到玩家按
: 下了按钮后才会执行转蛋抽取的程式。
: 10个公司可以写出11种不同的程式码,如果有间公司把UI跟转蛋执行的处理分开来写的
: 话,可能出现下面这种东西
: ・抽取逻辑
: {
: 如果玩家免费石A >= 0,且 A < X
: 执行:扣除课金石X颗,且抽取转蛋 → 免费石数量不够,消耗课金石
: (一样省略了课金石的数量判断)
: 否则执行:扣除免费石X颗,且抽取转蛋 → 不考虑负数的情况下,A肯定会大于等于X
: }
: 上面两种逻辑在正常情况下都是可以运作也不会出错,但如果像这次一样工程师没事先
: 考虑到石头变负数的情况,下面的情况就有问题了,因为免费石A是负的,所以直接执行
: 了下面的扣除免费石X颗且抽取转蛋的处理。
不好意思小弟是文组,可能不太了解工程师的逻辑
想问一下如果工程师没有考虑到石头有负数的可能
为什么要在判断式写if(免费石A >= 0)?
: 所以我说这种情况是“有可能”,不表示宇宙神游的程式就是这样写
: 会不会发生端看工程师怎么写,但要说一定不会发生的话那就太过武断了
: 解Bug的时候自认绝对不会出问题的地方就是问题所在的情况我实在见得太多了
: : 推 nineflower: 笑死,还在凹,你职业是检察官喔 12/27 13:14
: 不是,我的职业是游戏工程师。
: 文章有错误的话欢迎指证,绝对不会凹
作者: kaori9993 (铁骑臣)   2024-12-27 16:13:00
正常是直接指定数值类型就好,比如uint这种没负数的这样也不用担心会发生逻辑错误来着,不过这不重要了
作者: s1129sss (恩兔)   2024-12-27 16:17:00
因为那行的逻辑只是在判断免费石够不够而已
作者: w77899 (洨E7)   2024-12-27 16:20:00
逻辑是有石头才让你抽 所以只判断你石头够不够多一个>0是fgo有分有偿跟无偿石 可能有总体石够但无偿不够
作者: winiS (维尼桑)   2024-12-27 16:23:00
问题是有有偿石还是可以抽啊=3= 干嘛if免费石,直接when有偿或无偿就好了,大师就是大师
作者: s1129sss (恩兔)   2024-12-27 16:24:00
有写判断免费石为正数 不表示考虑到免费石为负数的情况
作者: winiS (维尼桑)   2024-12-27 16:25:00
根本不需要在判断式这样算正数,事实也是总计负数也给抽
作者: s1129sss (恩兔)   2024-12-27 16:25:00
楼上说的对 但现实就是有人可能这样写
作者: w77899 (洨E7)   2024-12-27 16:26:00
这就是上一篇在凹的问题 讲自己不是指fgo但一堆前提又直接套fgo的情况 混在一起做大杂烩
作者: winiS (维尼桑)   2024-12-27 16:27:00
当然有可能,但不需要扎个笨蛋稻草人然后打得很开心
作者: a125g (期末崩溃讨嘘哥)   2024-12-27 16:27:00
他文章说fgo工程师没考虑到负数问题 可是图中石头明明就有扣对 然后开始硬凹
作者: w77899 (洨E7)   2024-12-27 16:28:00
表示他自己为了辩自己逻辑都混成一团了
作者: yellowhow (┴─┴~\( ̄□ ̄#)\)   2024-12-27 16:28:00
前面不是有说他扣对吗? 只是有人转图讲错
作者: w77899 (洨E7)   2024-12-27 16:29:00
他这个例子就是明明自己要举一个假设 结果扣石头的想法还
作者: winiS (维尼桑)   2024-12-27 16:29:00
原图就没看到下面列有偿无偿,只看到上面总计就嗨了
作者: yellowhow (┴─┴~\( ̄□ ̄#)\)   2024-12-27 16:29:00
非员工正常也看不到程式码逻辑,所以没法确认是怎样吧
作者: angel6502 (仓木彻 TetsuKuraki)   2024-12-27 16:30:00
现在才发现原来中午还在争"有可能"XD 也太欢乐了吧
作者: yellowhow (┴─┴~\( ̄□ ̄#)\)   2024-12-27 16:31:00
虽然她们系统烂但也不至于搞到抽抽扣错石拉
作者: AirPenguin (...)   2024-12-27 16:31:00
这也不用通灵吧 结果都出来了还在假设一堆
作者: w77899 (洨E7)   2024-12-27 16:31:00
宇宙神游屎的地方有一堆 偏要拿这种有长期营运最不可能出错的地方酸 又云又蠢被抓到还想顾面子
作者: yellowhow (┴─┴~\( ̄□ ̄#)\)   2024-12-27 16:33:00
一般来说有偿跟无偿石存的字段不同,不管前面判断是怎
作者: AirPenguin (...)   2024-12-27 16:33:00
FGO文日常了 又云又爱高谈阔论酸
作者: angel6502 (仓木彻 TetsuKuraki)   2024-12-27 16:34:00
就很有趣 搞错造谣的都下车了 结果还有人另外开XD
作者: winiS (维尼桑)   2024-12-27 16:34:00
先不讲可能性,但之前每日一有偿跟只负无偿做得出来,就能
作者: w77899 (洨E7)   2024-12-27 16:34:00
就硬要扯罢了 现在哪个UI资料不是API传过来接的 又不是十
作者: winiS (维尼桑)   2024-12-27 16:35:00
理解公司没那么蠢了吧,还可以if那么多,只能期望他不在我玩的游戏附近
作者: w77899 (洨E7)   2024-12-27 16:36:00
年前那种还会把资料放在客户端的
作者: s1129sss (恩兔)   2024-12-27 16:37:00
我也只是单纯回答这篇的问题
作者: oselisdu (美国学者)   2024-12-27 16:37:00
某a: 欸你这个程式output错了 工程师f:我验算完没错啊,是不是你看错output format了 某a:你确定你的output是正确的吗?我怀疑你程式逻辑写错才造成这个output看起来是对的 工程师f:所以哪里有错你能举例吗? 某a:我是说你有可能会写错不是说你真的写错啊,你这么生气干嘛 工程师f:神经病
作者: yellowhow (┴─┴~\( ̄□ ̄#)\)   2024-12-27 16:38:00
架构老又大的话是可能有些细节或特殊状况,像这次BUG
作者: s1129sss (恩兔)   2024-12-27 16:38:00
石为负时要处理的状况
作者: AirPenguin (...)   2024-12-27 16:52:00
上面那种人还真的遇过 "我过程都对可是结果错""你是怎么做对的 是不是过程有问题"
作者: ARTORIA   2024-12-27 17:26:00
这么简单的东西 为什么可以讨论这么多...
作者: Gouda (gouda)   2024-12-27 17:53:00
因为有没写程式的人在谈啊 其实逻辑不好面试或试用期就直接筛掉了 听这些鬼扯逻辑很痛苦

Links booklink

Contact Us: admin [ a t ] ucptt.com