`
msh24
  • 浏览: 57624 次
  • 性别: Icon_minigender_1
  • 来自: 山西
文章分类
社区版块
存档分类
最新评论

单机游戏计时器防zuo弊解决方案

 
阅读更多
单机游戏计时器防zuo弊解决方案

一、zuo弊方法描述
    一些游戏会在某些情况下让玩家等待一段时间,例如candy crush中游戏失败会消耗一点体力,体力不满时,会每隔30分钟涨一点。体力耗尽时就无法再进行游戏,此时玩家可以修改系统时间,调到未来的时间,再回到游戏中,体力就会涨满了。游戏的这种控制就失效了。

    原理:当消耗一点体力时,游戏会记录一个时刻t1,等到当前时刻为t1+30分钟时,就会加上一点体力。如果把系统时间调后半个小时,那就不需要等待直接回复体力了。


二、解决思路
1、通过开机运行时间计算开机时刻
    ios和android都提供了一个方法:获取自开机到现在运行时间。就是利用这个方法来做时间校验。通过获取当前时间(有可能被修改)和开机运行时间,可以计算出开机时刻(前者减后者),如果一直保持开机状态,那么这个开机时刻应该是不变的。如果某次开机时刻算计算出来与上一次不同,那么就可以判断计时器出错。

2、记录开机时刻
    第一次运行游戏时会把开机时刻记录下来,用于之后计算的对比。

3、联网时间修正
    当用户时间异常,比如往后调了1个小时,计算出开机时刻与上次不同,此时需要联网修正时间。从网络上取得正确的当前时间,对比用户时间(有可能被修改),计算出时间差1个小时,记录这个时间差。之后每次获取用户当前时间的时候都要减去这个时间差,结果可以能当成正确的系统时间,再根据1的方法算出开机时刻就比较准确了。时间修正后会重设上次开机时刻做为新的参考值。


三、示例
    进入游戏时,取得当前系统时间8点,获得开机运行3个小时,计算出开机时刻是5点。
    游戏中在9点钟触发了一个30分钟的计时器,应该在9点半的时候完成。此时用户切到设置中修改了系统时间到10点。
    再回到游戏中,会进行计时器检查,系统时间是10点,开机运行4小时,计算出开机时刻是6点,与之前记录的5点不一样,判断出计时器出错。如果用户不进行联网校正,那就无法继续操作。
    用户联网后,取出网络真实时间9点,计算出用户时间差1小时(10-9),重置上次开机时刻,还是5点钟没变(如果是关机再开机这个值会变)。
    校正完后让计时器继续,取用户时间会减去时间差,即可以得到真实时间,那么计时器就可以正常运行了。
    如果用户保持联网状态,那么计时器出错就会瞬间被校正。
分享到:
评论

相关推荐

    辩论赛计时器

    "辩论赛计时器"是一款专为辩论比赛设计的计时工具,其主要功能是帮助组织者精确控制...通过深入理解其源码和工作原理,我们可以学习到如何利用Delphi构建高效的应用程序,以及如何设计符合特定场景需求的计时解决方案。

    计时器.exe 计时器.exe

    计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe...

    windows桌面计时器

    通过充分利用内置工具和第三方应用,我们可以定制出最适合自己的计时解决方案,提高生产力和生活质量。而Debug文件可能是开发者在调试程序时生成的,与计时器功能的使用直接关系不大,但在软件开发过程中起着重要...

    多功能计时器-倒计时器

    "多功能计时器-倒计时器"这款应用程序,正如其标题所示,旨在提供一种高效且灵活的计时解决方案,适应多种场景的需求。 首先,我们来详细探讨倒计时器的核心功能。倒计时器是一种能够从预设时间开始向零倒数的计时...

    组态王计时器控件及使用文档

    本文将详细介绍组态王计时器控件的特性、使用方法以及示例工程,帮助用户更好地理解和应用这个控件。 一、组态王计时器控件特性 1. 易用性:计时器控件提供直观的界面和简单的设置参数,用户可以通过GUI界面轻松...

    计时器(演讲赛计时专用)

    【计时器(演讲赛计时专用)】是一款基于VB编程语言开发的实用工具,专为演讲比赛或竞选活动设计,旨在提供一个免费且高效的计时解决方案。在组织此类活动时,确保每位选手的演讲时间公正准确至关重要,而这款计时器...

    希沃白板计时器提取版 ,集成倒计时和计时器两大功能,支持全屏

    在日常工作或学习中,我们经常需要掌握和计算时间,这时计时器工具就显得尤为重要。许多朋友发现希沃软件中的计时功能非常方便实用。今天,我为大家介绍希沃计时器工具,这是从希沃软件中单独提取出来的功能,提供了...

    Android简单的计时器源码

    在Android开发中,计时器(Timer)是一个非常常见的组件,用于实现各种定时任务,比如倒计时、游戏计时、动画间隔等。本资源提供了一个简单的Android计时器源码,包含了开始、暂停和重置功能,是学习Android计时器...

    swf计时器(很好用的swf计时器)

    swf计时器(很好用的swf计时器)swf计时器(很好用的swf计时器)

    计时器-子叶计时器-倒计时会议提醒功能

    "ReadMe.txt"通常是一个文本文件,用于提供软件的使用说明或者更新日志,用户可以通过阅读这个文件来了解计时器的具体操作方法和注意事项。而"计时器子叶"可能是个可执行文件,代表了计时器的主体程序,用户双击运行...

    labview实现计时器

    LabVIEW,全称为Laboratory Virtual ...通过熟练掌握计时器的使用和复位方法,可以大大提升LabVIEW应用程序的效率和功能。在实际项目中,根据具体需求选择合适的计时器类型和复位策略,是优化代码性能的关键。

    数字计时器(eda)

    【数字计时器(EDA)】是电子设计自动化(EDA)领域的一个常见实践项目,它主要涉及硬件描述语言VHDL的设计与应用。VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种用于数字系统...

    组态王秒计时器编程方法

    本文将详细阐述如何在组态王中实现秒计时器的编程方法,帮助用户理解并掌握这一实用技术。 一、组态王简介 组态王,全称为“亚控科技组态王”,是一款基于Windows平台的工业自动化监控系统软件。它通过图形化编程...

    PPT演讲倒计时器

    本文将详细介绍这款计时器的特点和使用方法。 首先,PPT演讲倒计时器的核心功能在于其三段式提醒设计。这一特性使得演讲者可以根据演讲内容的结构,预先设置不同阶段的时间提醒。例如,可以在开场、主体论述和结尾...

    1-99分钟倒计时计数计时器60进制计数器倒计时定时器等6个计时器Multisim仿真实例

    在这个“1-99分钟倒计时计数计时器60进制计数器倒计时定时器等6个计时器Multisim仿真实例”中,我们将探讨几个关键的计时器设计概念和技术。 首先,让我们理解什么是倒计时计时器。倒计时计时器是一种设备或电路,...

    基于labview计时器,计时器,可显示时、分秒、毫秒.vi

    基于labview计时器,计时器,可显示时、分秒、毫秒.vi

    电话通话计时器PCB

    总的来说,电话通话计时器PCB是一个融合了模拟电路、数字电路、嵌入式系统和人机交互设计的综合性项目,展示了电子工程在解决实际问题中的应用。随着现代通信技术的发展,虽然电话通话计费已不再那么依赖硬件计时器...

    打boss计时器辅助.rar

    【打boss计时器辅助.rar】是一个专为游戏爱好者设计的实用工具,它主要用于追踪和管理游戏中的“boss战斗”时间。在许多大型多人在线角色扮演游戏(MMORPG)或团队合作游戏中,boss战往往是游戏的核心部分,挑战强大...

    绿色版倒计时器(五种方案)

    总的来说,"绿色版倒计时器"是一款集多功能于一身的倒计时应用,其五种方案设定和快捷键操作为用户提供了高效的时间管理解决方案。无论是工作还是生活,它都能成为你不可或缺的时间助手。只需简单探索,你就能发现更...

    反应计时器设计+毫秒计时器+延时计数器模块(Verilog)

    手眼协调是一种眼睛和手一起工作执行一项任务的能力,反应计时器电路能够测量一个 人在看见一种视觉刺激后,手的响应有多快。 实验要求: 1. 基本部分 (1)电路有三个输入按键:clear,start 和 stop,使用一个 ...

Global site tag (gtag.js) - Google Analytics