自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 2021-08-03

protobuf-gen-go 自定义插件生成从入门到放弃心血来潮想研究一下protobuf的定制生成,话说主要还是为了生成自己的rpc代码。没有用grpc,感觉一直在手写rpc接口多少有些麻烦,心想参照grpc来个自动生成吧。第一步,找一个demo参照《go语言高级编程》这本书中4.2节中Protobuf定制代码生成部分。第一步完成一个demo,编译,结果TM给我弹出来一个警告。大概意思就是说当前这种方式不推荐使用了,请参照XXX链接。跳转到github上去查看源码,果不其然。// Packag

2021-08-03 16:59:33 133

原创 宏定义在游戏日志枚举中的应用

1 遇到的问题在游戏开发过程中是要记录一些玩家日志的,以便分析一些玩家的行为。当开发过程中使用脚本和C++语言开发时,又需要使用同一套日志id。通常的做法是这样的,建立日志的枚举字符串对应关系,然后通过字符串的唯一id建立字符串数组,在使用时通过日志枚举取的日志字符串2 补充一点小知识c++ 中的 “#”表示宏处理,但是在宏处理中出现“#”表示取字符串本身,例:#define NAME(...

2019-05-09 14:45:06 217

原创 socket 编程(一)

写在前面在工作中总免不了要用到socket通讯,但因为相关的功能一般都是项目核心组件,不大有机会去修改这些,这次要好好研究一下。都是说由简入繁,今天就先从windows socket编程开始。编程步骤服务端:加载套接字(WSAStartup())创建套接字(socket())绑定套接字到一个IP地址和端口上(bind())设置套接字为监听模式,等待连接请求(listen())请求...

2019-02-25 22:00:22 236

原创 单例模式

游戏设计中的单例模式恭喜今天股票基金大涨,哈哈。但是,加班还是要继续,加班写博客,打发一下时间。因为晚上的工作效率真的是不高呢,那就做一点总结的工作吧。说起单例模式,恐怕大家最熟悉不过了,但是每每看到参考书或者参考资料总是觉得很揪心。因为大部分都是在写java的单例模式,又要讲到多线程状态下不能保证赋值操作和构造函数执行的顺序,所以需要改变一下写法。今天读了C++写的设计模式,才发现C++天生...

2018-10-23 00:42:58 171

原创 成就系统

成就系统——观察者模式百无聊赖,周末来写一个博客吧。苦于前几次去面试都被问到同一个问题,今天来好好想一下,该怎么做,怎么做才会更好一些。游戏中的成就系统,是一个根据一些特定事件去完成一些目标,然后获得奖励的玩法。游戏中的各种事件遍布游戏各处,成就类型又是多样化的。先说一下我自己的做法,在游戏中成就是和玩家相关的,所以直接在玩家的系统组件中添加了一个成就系统。我们要做的就是在成就系统中有一个事...

2018-10-21 22:39:03 1178

原创 游戏编程模式——命令模式

命令模式学习从游戏编程模式开始,参考资料是Bob Nystrom的游戏编程模式这本书。当然学习资料是在网上下载的PDF版本,等学完了这本书,一定要买来这本书的纸质版留一个纪念。GoF是这样定义的:将一个请求封装为一个对象,从而使你可用不同的请求的客户进行参数化;对请求队列或记录请求日志,以及支持可撤销的操作。每个游戏都有一些用户输入要处理,比如键盘敲击,鼠标点击等等。例如:下面是一种简...

2018-10-19 23:11:22 433

原创 正人君子第一天

游戏编程模式-命令模式——写在前面的话为什么要来写博客呢,因为要提高自己,因为在面试中常常被问到“平时有写博客的习惯吗?”。以前当然是没有了,但是以后就要常写了,毕竟——不能总是尴尬的说没有。设计模式这个东西,以前没有认真的学习过,实际工作中用的也不多,因为架构都是别人设计好的嘛,关我什么事!不过人总是要成长的嘛,不然工资总是那么一丢丢,丢不丢人啊。丢人,“人难做屎难吃”——这是高中老师天天...

2018-10-19 19:41:15 174

原创 一个打乱列表获得伪随机序列的生成器

一个打乱列表获得伪随机序列的生成器偶得一代码,再晚也要记录下来。最近看一本叫游戏编程的书,里面讲到了一种用伪随机的方式实现的洗牌算法。算法思想是这样的:算法利用质数和二次方程的数学特性,该算法需要一个质数,他应该大于要遍历的集合元素个数。如果集合中有10个元素,该指数为11,当然这个算法不会生成质数;它只是将一组选定的质数放在一个查询表中。如果需要比较大的质数可以另行生成。其工作原...

2018-03-30 01:44:20 2517

原创 lua笔记之local

lua笔记之local最近使用lua语言遇到一个小问题,这里要记录一下lua 中使用 local 的变量,例如:function testLocal() print(a, b) a = 10086 local b = 10086 print("hello world!")endtestLocal()testLocal()输出结果ni

2018-01-12 15:55:59 3295 6

原创 C++学习笔记

写一点笔记,C++fflush(stdin) 可用于清空输入缓冲区 stringstream 可以简化类对象之间的转化stringstream .str().c_str()可以返回C类型的字符串#include #include using namespace std;int main(){ std::stringstream stream; std::st

2015-06-17 16:58:57 362

转载 MATLAB添加VOICEBOX工具箱

一、  介绍     VOICEBOX: Speech Processing Toolbox for MATLABVOICEBOX is a speech processing toolbox consists of MATLAB routines that are maintained by and mostly written by Mike Brookes, Depa

2015-01-16 09:40:29 878

原创 数据结构内排序

最近学习了数据结构的内排序,以前总是学了忘忘了学,今天忽的想写一点东西把学过的那些知识记录下来了。那就简单说一下内排序吧。内排序,是相对于外排序而言的,内排序是指在排序过程中,整个表都是放在内存中处理,排序时不涉及数据的内、外存交换;反之,若排序过程中要进行数据的内、外村交换,则称之为外排序。通常可以按平均时间将排序方法分为三类:(1)平方阶O(n2)排序,一般称为简单排序,例如直接插

2015-01-11 19:23:39 442

转载 http://blog.csdn.net/wudiwo/article/details/7682320#comments

Eclipse 中新建C 或C ++到项目时,头文件报警,显示“Unresolved inclusion:” 虽然不影响项目到编译和运行,确也无法查看头文件,让人感觉实在不爽。下面是在国外到网站上看到解决方案,自己整理了一下拿来分享一下。关于在Eclipse 下配置C /C ++ 开发环境这里不多说了。 在终端下查看C 库文件到路径:$ echo "int main() { ret

2015-01-05 22:04:24 509

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除