golang游戏完整攻略
记录利用golang开发游戏服务器的方方面面
-Nodep-
qq:623440028
展开
-
golang随机数的C#实现(五)
接着上一篇随机数中所描述的验证例子,这里贴出C#版本的golang随机数类 这里我只实现了int64,其他部分需要自行拷贝golang源代码进行翻译。 rand.cs using System; // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a...原创 2020-01-14 10:30:48 · 373 阅读 · 0 评论 -
随机数(四)
游戏开发过程中,有大量的随机数需求。本文将着重介绍go的随机数用法(伪随机)。 原理: 种子决定了接下来的随机数值,直到种子变化! 相同种子的情况下得到的随机数值是必然一样的。 一旦错误的使用了种子,为什么会出现连续出现相同数的情况。在rand包中默认会有一个种子数为0的随机数生成器。首先看一下下面的代码。 错误用法一: for i:=0;i<10;i++{ rand....原创 2020-01-14 10:24:14 · 395 阅读 · 0 评论 -
基于snowflake的无锁uuid生成器(三)
在实际生产过程中,有创建全局唯一id的情况(游戏开发中尤为明显)。这样做的目的和好处很多。 一般情况下,我们可以通过数据库或特殊算法来达到一致,这里主要讲如何通过snowflake的方式创建golang的uuid。 符号位| 32 时间戳 | 8 区域 | 13 节点 | 10自增ID 0 | 00000...原创 2020-01-12 21:58:25 · 346 阅读 · 0 评论 -
cron按时间格式触发器(二)
上一篇中实现了延迟触发器,开发过程中还有另外一种按照日期触发的需求,例如: 注意: 需要用到上一篇文章中的Job接口 1、每天晚上8点开始某个活动 2、每整点执行某些操作等 首先我们要用到cron格式解析,对应git地址 https://github.com/rfyiamcool/cronlib cron表达式生成器 下面是直接搬家的cronlib源代码 package tim...原创 2020-01-10 11:42:54 · 1913 阅读 · 0 评论 -
按时间间隔的触发器(一)
相关文章 cron按时间格式触发器(二) 在游戏开发中,很多场景会用到时间间隔触发的情况。例如: 1、超时处理 2、循环触发某些处理 3、延后处理等 下面的代码是一个完整的触发器应用代码,通过 New_tickTimerLink()创建一个任务管理器 Add函数用于添加一个延迟任务,包括(延迟时间,次数,任务接口实现) 关键点: 1、任务需要实现TimeJob接口 2、Rem...原创 2020-01-10 10:55:02 · 3025 阅读 · 1 评论