从程序员(伪)的角度来看待复刻老玩家无门票和黑曜石的机制
2020/08/13447 浏览闲聊杂谈
老玩家不给门票和黑曜石有可能是首通机制的问题,这个机制决定了首通给的材料,要么重置了一起领,要么不重置也不能单独领某一种。
具体的可以理解为代码定死了,而且策划和程序员都没有去改这个地方,当然有可能是策划没考虑到或者说考虑到了但是不想改,当然也有可能就是程序员觉得太麻烦了,给策划说改起来很累可能要很久巴拉巴拉然后就忽悠过去了(当然如果铁了心要改应该还是能改动只是有点不好区分)
举个例子,比如本来代码写得是:
所有关卡一开始没有打的时候首通标记为0;
1).如果首通标记为0,获得以下资源(石头,门票,黑曜石),同时首通标记为1;
2).如果首通标记为1,获得重复奖励(门票或者黑曜石);
现在要区分,已经首通的人,新活动首次过关,怎么写代码呢?
首通标记为0;
1).如果首通标记为0,获得以下资源(石头,门票,黑曜石),同时首通标记为1;
2).如果首通标记为1,获得以下资源(门票,黑曜石),同时首通标记为2;
3).如果首通标记为2,获得重复奖励(门票或者黑曜石)。
这样写有一个问题,新的玩家第一次首通也会导致首通标记为1,所以他第二次过关会触发2),这肯定是不行的。
于是我们还得区分是否是没参加过活动的新玩家。
这个从入职时间上是无法完全区分的,因为可能上次活动最后一天入坑的大佬,说不定人家就是那么刚,把所有图都过了呢?(当然当时不能无限碎石这种可能性不大,但是为了程序的严谨和以后可能的改动(无限碎石),这样弄很大可能是会出bug的)
所以只能通过首通时间来判定。
所以修改的程序如下:
首通标记为0
1).如果首通标记为0,获得以下资源(石头,门票,黑曜石),同时首通标记为1,记录当时服务器时间为t。
2).如果首通标记为1;
2.1)如果t非本次活动时间段,获得以下资源(门票,黑曜石),同时首通标记为2;
2.2)如果t在本次活动时间段,获得重复奖励(门票或者黑曜石)。
3).如果首通标记为2,获得重复奖励(门票或者黑曜石)。
可以说和之前的代码相比,每次过关数据需要多记录一个首次通关时间,还要用当前时间来对比。
当然,显示界面也会相应的修改,具体就是新玩家和老玩家的首通奖励显示相比会多一个源石。
然而这样的代码改动会导致的具体的修改量有多大本人并不能直接评估出来,具体可行不可行也有待商榷,希望有具体从事这一行的大佬可以加入讨论。
当然实际情况可能不是这样,本人也只是大学学过编程,后来从事的并不是编程相关的工作(不过如果excel表算的话也勉强是在搞编程吗2333)。
或许还有更深层次的因素在里面我压根考虑不到,毕竟我当年毕设都只是随便弄了个网站忽悠老师,让我做个游戏怕是要杀了我……