- 博客(15)
- 收藏
- 关注
原创 【游戏算法】10000个物体里面快速找到和目标距离小于d的所有点
这样有个好处就是玩家可以很方便的拿到附近的玩家信息,找到附近的上、下、左、右、左上、左下、右上、右下,以及玩家所处的Block,遍历这些block中的所有玩家即可。1.此时玩家A地图块变化,要通知玩家A视野内的其余玩家(玩家A进入视野),遍历蓝色地图块的上、下、左、右、左上、左下、右上、右下的所有玩家(例子中找到了红色格子玩家B)。2.要通知原来范围内的其余玩家(也即再绿色的九宫格中但是不再蓝色的九宫格中的玩家),玩家A离开视野,后续不需要关注玩家A的操作产生的数据。点定义如下 point.h。
2025-01-07 23:22:20
342
原创 【redis】持久化
修改redis.conf的save字段,默认路径为 /etc/redis/redis.conf ,注释掉所有的save来关闭rdb自动保存这里自动保存实际上是redis的一个时间事件,事件通知后redis会fork一个子进程去处理写rdb文件操作,这时候子进程和父进程共享内存空间,遵循写时复制的原则(当父进程没有写操作时,子进程直接访问父进程内存,当父进程有写操作时,父进程会复制一份旧的数据,重新建立页表映射),子进程写rdb文件的中途父进程收到的redis数据变化会在下次rdb持久化时写入。
2024-12-31 15:06:47
561
原创 【DIY游戏开发记录】多人联机游戏的一种移动同步方法
在开发多人联机游戏过程中遇到的移动同步问题,不断尝试然后改进,进而得到的目前可以接受的同步效果。这种办法(例如MMORPG千人、万人同屏的国战后续也会尝试这种类型同步,处理好AIO)。[引用请注明出处]
2024-11-28 18:14:17
835
原创 【go】的变量类型以及生命周期
byte, int32, float32, float64, complex, string, 数组, struct, interface, chanel, 切片, map等数据类型。
2024-11-21 00:31:28
165
1
原创 [硬核]浅谈RSA加密、签名、验证
1提要:工作遇到一个问题,c++客户端用sha1withrsa签名,java验证,但是有些字符串能验证通过,有些不能,网上找的资料大都一知半解贴代码,只能从rsa原理看起,本文从问题引入,对其中部分内容感兴趣可以直接小标题跳转2.问题描述下面这个函数对输入字符串进行签名时,部分输入签名正常,部分异常,签名代码如下,codecode分析发现输出签名的字段长度不一致,www.baidu.com2时签名54字节,丢失了部分字节,看来是丢失字节导致的问题,原因分析(1)了解了sha1摘要算法的工作
2021-05-26 14:39:06
1100
1
原创 分享一个c++连线小游戏
前言想看正文的请跳过。热衷小游戏的我又回来了!上次准备给飞机大战小游戏升级,发现写的一坨,难维护拓展,吸取上次教训,这次的清爽多啦!(抽时间把飞机大战重写,再加上联机功能吧),分享给感兴趣的小伙伴,欢迎引用转载。小程序概述空间随机撒点,点再空间随机运动,用户鼠标放在画布上,自动连接与用户鼠标较近的点,并连接那些点中距离较近的点,效果示意图如下:模块简介类图不完整,仅供参考,详见代码1.Points模块功能:(线程一)(1)维护空间所有点的x,y,z随机运动,撞墙反弹(2)计算所有点的自身
2020-10-20 00:56:36
1485
1
原创 八大排序算法总览
八大排序算法:插入排序:(1)直接插入排序:稳定排序,时间复杂度O(n^2);(2)希尔排序:直接插入排序的优化,非稳定排序,时间复杂度O(n^1/3);选择排序:(1)简单选择排序:非稳定排序,时间复杂度O(n^2)(2)堆排序:非稳定排序,时间复杂度O(nlogn),用于topK问题交换排序:(1)冒泡排序:稳定排序,时间复杂度O(n^2)(2)快速排序:非稳定排序,时间复杂度平均为O(nlogn),使用递归需要栈空间归并排序:稳定排序,时间复杂度O(nlogn),分治的思想,使用递
2020-09-08 22:09:25
151
原创 C++ 实现二叉树的一些基本操作(详细注释版)【原创】
中序,前序(后序同理)遍历恢复二叉树思路:1.前序遍历的第一个元素为根节点。2.在中序遍历中,找到确定的根节点,可以把中序遍历分割成左右子树的中序遍历3.在前序遍历中,区分中序遍历的左右子树部分,根据前序遍历的特点1,找到左右子树的根节点。4.依次类推,直到左右子树为空为止。代码如下:因为代码中有详细注释,在此不在赘述。头文件:tree.h#pragma once#ifndef _TREE_H_#define _TREE_H_#include<iostream>#incl
2020-06-02 23:22:50
822
原创 c++实现飞机大战小游戏
前言:闲下来爱好就是弄点小游戏,后续肯定会继续更新一些新的小游戏的。1.知识点:十字链表(类似,为了机身可以很方便的进行花里胡哨大的变形),队列,类的继承、组合,多线程编程;2.较难处理的地方:碰撞检测,子弹管理;3.游戏说明:游戏只使用了控制台的打印函数(cout。。),所以界面看起来比较呆,有兴趣可以用easyx.h或者graphic.h对显示部分进行优化,使游戏看起来更炫酷。3.游戏可以进行一些优化,比如碰撞检测算法,多线程的共享数据使用单例,而不是全局变量等等,目前游戏可以运行,所以暂时没有
2020-05-28 23:24:59
2686
1
原创 c++隐式类型转换及c风格类型转换的问题
c++隐式类型转换问题前言:一、c风格强制类型转换二、c++隐式转换问题浅谈结语:前言:上次的多线程系列因为某些原因暂时停了,后续会根据实际遇到的问题做一些补充。写博客是为了记录我遇到的问题以及解决,便于自我总结,也帮助遇到这些问题的人。浏览量不是目的,所以不会刻意转载别人写过的东西。言归正传,本文介绍了c++以及c风格的强制类型转换的一些注意点。一、c风格强制类型转换问题描述: 我在做报文解析的时候遇到这个问题:float x=32.128f;float tmp=x*1000;unsig
2020-05-27 21:26:29
436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人