自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

积微成著

积微成著 - 积累越多的微技能,处理问题有越多的思考、选择!

  • 博客(91)
  • 收藏
  • 关注

转载 游戏人物装备技能数据表怎么设计(整理)

游戏人物装备技能数据表怎么设计(整理)一、总结一句话总结:把人物的属性抽离出去,其它的装备啊,技能表和属性表之间建立一个关系表。1、装备表如何设计(装备表和角色表的对应关系是什么)?装备属于人物,所以装备表可以加上所属人物的id装备,包括的数据项有:装备名称,装备描述,(通用属性),装备ID,主人ID其实可以弄一个装备属性表,来表示装备提升的属性,和技能一样2、技能表如何设计?技能,包括的数据项有:技能名称,基础伤害,加成类型,加成比例,冷却时间,学习等级其实..

2021-04-30 16:32:42 5290 1

转载 游戏数值策划

游戏数值 - 拆解方法篇大家好,我是Alice,一名喜欢捣腾数字的游戏数值策划 12345~ o(* ̄▽ ̄*)ブ工作中我会经常拆解游戏数值,通过数值理解市面上优秀游戏的设计思路。今天想在这里跟大家分享一下我研究游戏数值的流程。如果各位有什么好方法,也请在评论区留言,期待看到你的想法。我平时拆解数值的流程主要分为六个阶段:准备阶段 数据收集 分析数据规律 提出猜想 根据数据验证猜想 拆解的应用不过在介绍具体流程之前,我想和你们先聊一下,数值拆解的目的。我认为数值拆解的目的大概可以分

2021-03-24 19:29:08 4483

转载 如何找基址,原理是什么

CE (cheat engine)修改数值来作弊是一种很大众化的游戏作弊方式了。尤其是CE设计的很人性化,几乎不需要任何专业知识就能用。但是有一个问题就是,每次开游戏或者有什么变化,就要重新找内存地址。小时候没学过编程,但是经常在网上逛,看别人怎么作弊。经常有人提到“基址”这个词。它就是用来解决上面那个问题的关键。如何找基址是写作弊器的核心部分。有很多教人怎么找基址的教程,基本上都是一步一步,很详细的教怎么做,但是都没有讲为什么。(废话。。受众都是小时候的我那样的,不懂编程,就想着作弊爽

2021-03-05 09:39:10 2606 1

原创 指针、变量、句柄

我直接就上总结了,我参考的资料会在最下面放出来!指针:指向系统中【物理内存】的地址,也就是内存地址;指针与内存地址管理的关系有指针了为什么还要变量呢,直接用指针就可以访问地址了为什么要有变量呢,不是多此一举吗?简单的例子:z = x + y直接用指针:*(int*)(0x1000) = *(int*)(0x1004) + *(int*)(0x1008);指针的优点:可以提高程序的编译效率和执行速度,使程序更加简洁。 通过指针被调用函数可以向调用函数处返回除正常的返回值之外的...

2021-01-21 23:33:03 291

转载 指针与内存地址管理的关系

int 变量存的是 int 型的值,char 变量存的是 char 型的值,而指针,它是一种特殊的变量,存的是内存地址,按照这个模板可以把它理解为:“内存地址变量” 存的是 “内存地址”,等价于:“指针变量” 存的是 “内存地址”。操作系统进行资源调度时,会根据这些变量存的地址去请求 和 使用那个地址代表的内存区域,这就仿佛像是这个变量存的地址指向了某片内存,人们用 “指针” 来统称所谓的 “内存地址变量”。因此,任何跟指针有关的概念,都可以联系内存地址加以理解,二者必然有联系,数组与指针,函数与指

2021-01-21 20:43:51 187 1

转载 隐藏窗口任务栏图标的三种方法

本文介绍三种方法,可以实现隐藏窗口在任务栏中的图标。其中前两种比较坑爹,不建议使用。转载:原文:https://www.xuebuyuan.com/1338887.html方法1:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);为窗口设置WS_EX_TOOLWINDOW属性。会有以下效果:1. 窗口图标不在任务栏显示。2. 窗口不显示在Alt+Tab的切换列表中。3. 在任务管理器的应用程序Tab中不显示。...

2020-12-10 11:51:54 1611

转载 Windows消息常量

1. WM_NULL=0X 0000:2. WM_CREATE=0X 0001: 应用程序创建一个窗口3. WM_DESTROY=0X 0002: 一个窗口被销毁4. WM_MOVE=0X 0003: 移动一个窗口5. WM_SIZE=0X 0005:改变一个窗口的大小6. WM_ACTIVATE=0X 0006: 一个窗口被激活或失去激活状态;7. WM_SETFOCUS=0X 0007: 获得焦点后8. WM_KILLFOCUS=0X 0008: 失去焦点9. WM_ENAB...

2020-12-09 17:33:14 325

转载 windows消息处理机制, SendMessage, DispatchMessage

windows消息处理机制是这样的:首先系统(也就是windows)把来自硬件(鼠标,键盘等消息)和来自应用程序的消息放到一个系统消息队列中去.而应用程序需要有自己的消息队列,也就是线程消息队列,没一个线程有自己的消息队列,对于多线程的应用程序就有和线程数目相等的线程消息队列.winsows消息队列把得到的消息发送到线程消息队列,线程消息队列每次取出一条消息发送到指定窗口,不断循环直到程序退出.这个循环就是靠消息环(while(GetMessage())TranslateMessage();..

2020-12-06 19:43:42 1311

转载 MySQL数据库命令

MySQL笔记1、MySQL笔记2、MySQL笔记3、MySQL笔记41.对数据库常用命令1.连接数据库mysql -u用户名 -p密码2.显示已有数据库show databases;3.创建数据库create database sqlname;4.选择数据库use database sqlname;5.显示数据库中的表(先选择数据库)show tables;6.显示当前数据库的版本信息以及连接用户名select version(),user();7.删除数据库(删除时没有提示直接.

2020-09-13 14:50:10 504

转载 搜索算法 - 深度优先和广度优先

1、区别 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历、中序遍历、后序遍历。具体说明如下:先序遍历:对任一子树,先访问根,然后遍历其左子树,最后遍历其右子树。 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树。 后序遍历:对任一子树,先遍历其左子...

2020-09-12 16:37:10 413

转载 图的遍历 - 深度优先和广度优先

深度优先搜索的图文介绍1. 深度优先搜索介绍图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。显然,深度优先搜索是一个递归的过程。2. 深度优先搜索图解

2020-09-12 16:35:46 350

转载 数组、链表、堆栈、队列

数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。听起来是不是很抽象,简单理解:数据结构就是描述对象间逻辑关系的学科。比如:队列就是一种先进先出的逻辑结构,栈是一种先进后出的逻辑结构,家谱是一种树形的逻辑结构!(初学数据结构的时候很不理解为什么有“栈”这个东西;队列很容易理解---无论购物就餐都需要排队;栈可以认为就是个栈道---只允许一个人通过的小道,而且只能从一端进入,然后再从这端返回,比如你推了个箱子进去啦,第二个人也推个箱子进去,此时只能等后进来的这个人拉着箱子出去后,你才能退出。)

2020-09-12 16:28:17 257

转载 浅谈单链表头结点的作用

带头结点 不带头节点 空 I II 非空 III IV 引入头结点的好处使得在链表头部的操作(如:插入删除等)与在链表中部与尾部一致(统一) 使非空链表与空链表的操作统一以插入为例,分析上述两点好处//I 带头节点的单链表(空) 插入节点 s->next = H->next; H->next = s;//II 不带头节点的单链表(空) 插入节点 ...

2020-09-12 16:21:21 2707

转载 游戏测试工具清单

经常有人问,入坑游戏测试有什么视频教程吗?弱网测试可以用什么工具?手游有什么自动化测试框架吗?工欲善其事,必先利其器,相对于APP测试来说,游戏测试的圈子,开源的资源和方案会少许多,所以收集整理了一份游戏测试人员工作相关的资源清单,包括学习资料,测试工具,开源框架,效率工具等,希望可以给有需要的游戏测试新人一些帮助。目录 学习资料(视频、书籍、社区)性能监控(安卓、iOS、PC)性能分析(Unity)压力测试(安卓、PC)UI自动化(安卓、iOS、PC)弱网工...

2020-09-12 15:51:08 3700

转载 白盒测试----六种覆盖方法

定义:  白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。白盒测试的目的:  通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设置检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。白盒测试的方法:大致分为静态方法和动态方法两大类。A. 静态分析:  是一种不执行程序而进行测试的技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突或者没有歧义。B.

2020-09-11 15:41:05 774

转载 黑盒测试及其实例

(一):黑盒测试黑盒测试是指对程序功能性的测试,也就是不考虑内部的具体实现,仅仅就程序的功能是否满足需求进行测试,相当于一个看不见内部的黑盒子。(二):黑盒测试的作用黑盒测试主要是注重功能的测试,包括:功能的完整性,正确性测试界面错误输入和输出错误数据库访问错误性能错误初始化和停止错误等等(三):黑盒测试常用的方法1:等价类划分2:边界值分析法3:因果图法4:判定表组合法(四):等价类划分1:等价类是指某个输入域的子集合2:分类1:有效等价类,指符合输入域的子集

2020-09-11 12:09:20 3238

原创 JVM中的堆和栈到底存储了什么?

以下文章来自:https://www.jianshu.com/p/8a89fb6d839c,这篇文章涉及多方面知识,所以我在有些地方插入了一些更加深入的文章(方法和函数区别、指针变量、修改引用的值 与 修改引用、函数参数:形参和实参的区别)JVM数据区先上一张Java虚拟机运行时数据区中堆、栈以及方法区存储数据的概要图,如下所示:然后我们来具体解析一下堆和栈堆堆是存储时的单位,对于绝大多数应用来说,这块区域是 JVM 所管理的内存中最大的一块。线程共享,主要是存放对象实例和数组。

2020-09-09 23:43:33 6407 1

转载 函数参数:形参和实参的区别

实参(argument):全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形参(parameter):全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数(文章:方法和函数的区别),目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参...

2020-09-09 23:17:12 1350

转载 修改引用的值 与 修改引用

阅读代码:class Program{ static void Main() { Person p1 = new Person { Name = "Andy" }; Person p2 = p1; p1.Name = "Bill"; p1 = new Person { Name = "Carol"}; }}Person p1 = new Person { Name = "Andy" };解析:在栈上

2020-09-09 23:16:12 345

转载 指针变量

概述存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。举例:int a = 68 ,系统为变量a分配的首地址为0X065FDF4H,声明空指针long *p = NULL,p=&a是存放变量a地址的指针变量,即p=&a中存放的值为0x065FDF4H(a的值为68,&a的值为0x065FDF4H)。对变量a的访问有两种方式:一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访

2020-09-09 22:57:51 718

转载 方法和函数的区别

区别函数属于整个文件, 方法属于某一个类, 方法如果离开类就不行 函数可以直接调用, 方法必须用对象或者类来调用 注意: 虽然函数属于整个文件, 但是如果把函数写在类的声明中会不识别 不能把函数当做方法来调用, 也不能把方法当做函数来调用注意 方法的注意点: 方法可以没有声明只有实现 方法可以只有声明没有实现, 编译不会报错, 但是运行会报错 如果方法只有声明没有实现, 那么运行时会报: reason: '+[Person demo]: unrecognized selector se

2020-09-09 22:45:57 448

原创 基本类型int是对象吗?

不是,Integer才是;类名 对象名 = new 类名(); 类名 对象名 这个的解释是创建名称为“对象名”的“类名”类引用变量 new ;

2020-09-09 22:42:36 1371

转载 局部变量竟然比全局变量快 5 倍?

这次我们来评测一下局部变量和全局变量的性能差异,首先我们先在项目中先添加 Oracle 官方提供的 JMH(Java Microbenchmark Harness,JAVA 微基准测试套件)测试框架,配置如下:<!-- https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-core --><dependency> <groupId>org.openjdk.jmh</groupId> &

2020-09-07 12:03:53 340

转载 判断Http服务器是否支持断点续传

Http服务器有很多,比如,比较著名的有Apache、Nginx等,Apache会默认开启对断点续传的支持。因此,如果直接通过Web服务器来提供文件的下载,可以不必做特别的配置,即可享受到断点续传的好处。断点续传是在发起HTTP请求的时候加入RANGE头来告诉服务器客户端已经下载了多少字节。等所有这些请求都返回之后,再把得到的内容一块一块的拼接起来得到完整的资源。简单来说,判断服务器是否支持断点续传,看Web服务器是否支持Range请求即可。curl -i --range 0-9https://.

2020-08-29 23:05:46 1648

转载 高级语言 和 低级语言 的区别

高级语言:C、C++、Java、Python、Pascal、Lisp、Prolog、FoxPro、易语言等,都是高级语言,相对于低级语言来说,高级语言采用易于识别和记忆的字符来作为关键字,也更接近人类的思维方式,编写容易读写性好,开发效率更高。a=a+b 的表达方式:int a;int b;a=a+b;重点是,高级语言是可移植的,做少量修改甚至无需修改,即可将代码运行在不同平台的计算机上。低级语言(包括机器语言和汇编语言):机器语言:计算机硬件只能识别“断开”和“闭合.

2020-08-27 14:21:21 2709

原创 VMware WorkStation系统安装图文教程(2020.8.2)

翰华Box:https://hanhuabox.lanzous.com/b00zjq9uf翰华Box - 开发日志:https://blog.csdn.net/qq_41517936/article/details/106409456目录安装系统(Win10)1.创建新虚拟机2.安装系统VMware WorkStation Pro自己下载,网上一大堆,没什么要讲的!激活秘钥也是网上一大堆!安装系统之前当然得准备好iso文件,https://msdn.itellyou.cn/安

2020-08-02 15:25:24 682

转载 窗口SendMessage参数详解

WM_ Window Message 窗口消息,一般用在SendMessage,PostMessage这样的消息函数中 SM_ Static Message 静态标签消息 SS_ Static Style 静态标签风格 BM_ Button Message 按钮消息 BS_ Button Style 按钮风格 BN_ Button Notify 按钮通知 EM_ Edit Message 编辑框消息

2020-07-28 20:04:21 3210

原创 【爬虫获取数据】&【无服务器软件自更新】

网页_访问:使用WinInet的API方式访问网页,WinInet为Windows API.版本 2.子程序 网页_访问, 字节集, 公开, 使用WinInet的API方式访问网页.参数 网址, 文本型, , 完整的网页地址,必须包含http://或者https://.参数 访问方式, 整数型, 可空, 0=GET 1=POST 2=HEAD 3=PUT 4=OPTIONS 5=DELETE 6=TRACE 7=CONNECT.参数 提交信息, 文本型, 可空, POST...

2020-07-03 23:31:42 890

原创 WinInet 和 WinHttp 有何区别?

自制工具翰华Box:https://hanhuabox.lanzous.com/b00zjq9uf翰华Box - 开发日志:https://blog.csdn.net/qq_41517936/article/details/106409456目录背景编程模型代理支持HTTP Headers以及Cookie的支持WinInet 和 WinHttp 的区别总结背景WinInet和WinHttp是windows平台下提供了两套独立的网络库,按照微软官方的说法...

2020-07-03 15:00:48 3038

转载 关于Http请求header之Referer讲解

什么是Referer?Referer 是 Http 请求Header的一部分,当浏览器(或者模拟浏览器行为)向web服务器发送请求的时候,头信息里有包含 Referer 。比如我在www.sojson.com里有一个www.baidu.com链接,那么点击这个www.baidu.com,它的header信息里就有:Referer=https://www.sojson.com由此可以看出来吧。它就是表示一个来源。看下图的一个请求的 Referer 信息。...

2020-07-02 23:33:57 2287

转载 [Java基础]Java中boolean类型到底占用多少个字节?

1.时间:2017-07-03 07:37:06YuanMxy2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节?3.问题解答:(1)什么是boolean类型,根据官方文档的描述(http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html):boolean: The boolean data type has only two possible valu..

2020-07-02 14:24:34 189

原创 什么是CSRF?为什么CSRF Token写在COOKIE里面?

自制工具翰华Box:https://hanhuabox.lanzous.com/b00zjq9uf翰华Box - 开发日志:https://blog.csdn.net/qq_41517936/article/details/106409456 跨站请求伪造(英语:Cross-site request forgery),也被称为one-click attack或者session riding,通常缩写为CSRF或者XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本...

2020-07-01 22:46:54 8381 4

转载 内核对象&句柄&泄漏&检测

自制工具翰华Box:https://hanhuabox.lanzous.com/b00zjq9uf翰华Box - 开发日志:https://blog.csdn.net/qq_41517936/article/details/106409456关闭线程句柄CloseHandle():https://blog.csdn.net/qq_41517936/article/details/107053879目录1.句柄和句柄泄露2.句柄泄漏的影响3.句柄泄漏的检测方法4.Handle...

2020-07-01 11:51:52 998 1

原创 关闭线程句柄CloseHandle()

昨天在看老工程中的代码的时候,发现其中创建了一个线程后,并没有通过CloseHandle函数来关闭该句柄。抱着怀疑的态度,就查了些相关的资料,现把自己的调查结果总结如下。1、创建线程可以通过调用CreateThread函数来创建一个线程,函数原型如下:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpsa, DWORD cbStack, LPTHREAD_START_ROUTINE lpStartAddr, LPVOID lpvThrea...

2020-07-01 11:47:12 5204

转载 内存溢出、内存泄漏以及解决办法

1、内存泄漏memoryleak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。2、内存溢出outofmemory:指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。3、二者的关系内存泄漏的堆积最终会导致内存溢出内存溢出就是你要的内存空间超过了系统实际分配给你的空间,此时系统相...

2020-06-30 23:52:24 298

转载 三种迷宫算法(深度优先、随机Prim、递归分割)

之前同学参加面试,面试官问到迷宫生成算法,这个问题自己想了下也没有好办法,所以就查询了相关资料。这里进行了相关整理:本文主要讲解的迷宫生成算法有三种:2.Randomized Prim's algorithm(随机Prim算法,让我想起了最小生成树的Prim算法)3.Recursive division (递归分割算法)首先,为了方便后续处理,默认的迷宫元素表示为[x,y,w]:1.我们的迷宫为常规的矩形,因此可以用二维表示一个迷宫单元,每个迷宫单元表示为一个二维数组元素[x,y...

2020-06-30 18:08:16 3649

转载 A*寻路算法详解

在我们平时打小游戏的时候,有时候会遇到一些小怪兽,这些小怪兽会自动追击我们的玩家的角色,但是,通常我们玩家的路线并不是固定的,那么这些小怪兽要如何自动绕开障碍物,走什么样的路线,才能最快地进行追击呢,答案就是A*寻路算法。A* 算法是一种启发式搜索算法。本质上来讲,可以算作是广度优先搜索算法的改进。我们知道,广度优先搜索总能找到路径最短的最优解,因为它每次新的一轮遍历永远是离起始点最近的位置,这样,当扫描到目标点时,可以保证目标点的距离是离起点距离最近的,也就是找到了寻路的最优解。A*算法的原理是什

2020-06-30 16:01:50 1007

转载 启发式寻路算法

启发函数 (Heuristic Function)盲目搜索会浪费很多时间和空间, 所以我们在路径搜索时, 会首先选择最有希望的节点, 这种搜索称之为"启发式搜索 (Heuristic Search)"如何来界定"最有希望"? 我们需要通过启发函数 (Heuristic Function)计算得到.对于网格地图来说, 如果只能四方向(上下左右)移动,曼哈顿距离(Manhattan distance)是最合适的启发函数.function Manhattan(node) = dx...

2020-06-29 17:05:53 813

转载 GetSystemMetrics(int nIndex) - 获取系统环境信息

前言在写屏幕截图程序的时候,为了适应多屏场景,需要一些屏幕的信息,于是查到了 GetSystemMetrics 函数,此函数的参数很多,所以就打算把这些翻译一下,翻译主要是用的Google翻译,如有不妥的支持还请包涵。同时再次特别感谢:Google 翻译。GetSystemMetrics 函数检索指定的系统度量标准或系统配置设置。请注意,GetSystemMetrics检索的所有维度都以像素为单位。参数要检索的系统度量标准或配置设置。 此参数可以是以下值之一。 请注意,所有S...

2020-06-28 21:53:48 288

原创 IDEA 安装教程(2019.1版本)

自制工具翰华Box:https://hanhuabox.lanzous.com/b00zjq9uf翰华Box - 开发日志:https://blog.csdn.net/qq_41517936/article/details/106409456一、安装进入官网下载适合自己系统的版本,下载地址:https://www.jetbrains.com/idea/download/#section=windows​​​​​​​安装中选择适合本机的64位(32位)版本,其他一直next即可二、打开...

2020-06-28 18:46:00 3380

空空如也

空空如也

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

TA关注的人

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