自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 函数对象

重载了()操作符的类对象就称为函数对象,它具有函数调用类似的行为,如下所示:class Test20630{public: void operator()(int a, int b) { if (a > b) cout << "test20630 a>b" << endl; else if (a < b) cout << "test20630 a&lt...

2020-06-30 18:58:52 119

原创 模板的特化

通过特化可以让模板适用一些更加特殊的情况,增强模板的可用性。简单测试代码如下:template<typename T>class Test20629{public: void display(T para) { cout << "para " << para << endl; }};template<>void Test20629<int>::display(int para)...

2020-06-29 17:45:11 124

原创 任务系统

任务系统是指游戏里面的接取任务,执行任务和完成任务的系统。一个任务可以看做成一个事件,一个事件由很多个分支组成,一个分支又包含条件部分和执行部分(当条件部分都通过时,就会跳转到执行部分执行)。当访问npc时,就会根据就根据当前任务的状态而去执行某个分支,一般来说某个时刻只有0个或者1个分支能够满足条件。...

2020-06-28 19:00:37 835

原创 查找

1.查找局部最小的数class Solution {public: int getLessIndex(vector<int> arr) { int n=arr.size(); if(n==0) return -1; else if(n==1) return 0; else if(arr[0]<arr[1]) return 0; else if(arr[n-1]<arr[n-2]) retur...

2020-06-27 12:03:09 150

原创 各种排序算法

1.冒泡排序整个排序过程为大的元素不断往后交换,每一轮排序排好一个元素。class BubbleSort {public: int* bubbleSort(int* A, int n) { int i=0; while(i<n-1) { int j=0; while(j<n-i-1) { if(A[j]>...

2020-06-23 22:47:16 196 1

原创 小技巧(7)打包消息

当遇到字段多且可能在多个地方需要用到的时候把它封装成一个函数会显得清晰简洁的多。以proto消息为例:void pack_gamedata(TestData& data){ data.set_test1(×××); data.set_test2(×××); ...}在需要用到地方调用即可:TestData test;pack_gamedata(test);...

2020-06-20 23:20:46 179

原创 类成员变量的初始化

当一个类拥有一个类成员,会先对类成员进行构造,然后再构造自己。class Test206191{public: Test206191() { cout << "construct 6191" << endl; }};class Test20619{public: Test20619() { cout << "construct 619" << endl; }pr...

2020-06-19 20:25:26 200

原创 限时类活动开发

限时活动是指在某段时间内存在的活动,比如用于公告一些新道具的产出,累积充值或者累积登陆送奖励,限购礼包,完成某些任务给奖励等。这种限时类活动可以做成一个通用的功能,策划只需要配置,就可以开启活动。实现方式如下://限时活动管理器class LimitActivMgr{};//公告类限时活动,用于打广告class LimitActivBase{};//累积类限时活动,比如累积充值多少两金子就送多少两金子class LimitActivAccu :public Limi.

2020-06-14 22:08:23 294

原创 环形队列

在游戏服务器中,很常见的做法就是把消息放进循环队列中,使用循环队列来管理消息。一个简单的循环队列实现如下:template <typename T, int QueueSize = 10> //非类型模板形参class MyCircleQueue{public: MyCircleQueue() { front = rear = 0; } void EnQueue(T x); void DeQueue() { ...

2020-06-11 18:58:03 169

原创 小技巧(6)巧用宏定义

大段的宏定义可能会降低代码的可读性,但是适当使用宏定义可以节省代码量,让代码更加简洁。比如对于定义多种属性的能力模块而言,这样使用宏定义会让更加清晰和简洁://声明一种属性以及获取改属性值#define ATTR_DECL(attr) \ protected: \ unsigned int _##attr = 0; public: \ unsigned int attr() const { return _##attr; }//重置一种属性#defin...

2020-06-11 15:52:53 198

原创 套装计算方法

游戏里面有很多涉及套装效果的功能,比如8星套装,当玩家拥有一定数量的8星或9星或10星装备,比如5件时,这时就会获得一个额外的属性加成,8星套,9星套,10星套加成的效果是不一样的。所以需要计算玩家当前是几星套,然后给玩家增加相应的属性加成。计算套装等级的方法如下://遍历玩家身上的装备std::map<int, int> equip_map; //装备位置索引,星星数for (int i = 0; i < 5; ++i) { equip_map[i] = i位置索引..

2020-06-03 18:53:40 647

xievim-master.zip

vim配置文件,适用vim7.4版本

2021-02-05

my-vimrc-master.zip

vim配置文件,8.2版本的vim

2021-02-05

Qt系统托盘,仿360,QQ管家

Qt系统托盘,仿360,QQ管家,很适合新手拿去学习

2016-05-30

Qt做的系统托盘图标,仿360安全卫士,QQ管家

Qt做的系统托盘图标,仿360安全卫士,QQ管家,比较适合初学者学习使用。

2016-05-30

用qt写的音乐播放器

用qt写的音乐播放器 用到了qss 界面美观 模仿酷狗音乐

2016-02-04

用qt写的学生成绩管理系统

用qt写的学生成绩管理系统 非常适合初学者学习

2016-02-04

用qt写的酒店管理系统

用qt写的酒店管理系统 非常适合初学者学习 也可以拿来做毕设

2016-02-04

用qt写的登录模块

用qt写的登录模块 实现了国际化 有语言包 纯代码 非常适合初学者学习

2016-02-04

用qt写的画图工具

一个简单的qt画图工具 纯代码 适合初学者学习

2016-02-04

用qt写的签到程序

用qt写的签到程序 纯代码 非常适合初学者学习

2016-02-04

用qt写的计算器

用qt4写的计算器小程序 实现连续运算 实现了浮点运算

2016-01-22

Qt学习之路源码

部分源码 节约大家敲书上的代码所用的时间

2016-01-20

用来编译c++的g++编译器

解决不能上网时,c++编译器没法安装的问题。用了这个之后,只要一条命令就能快速安装g++。

2013-11-06

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

TA关注的人

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