自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (7)
  • 收藏
  • 关注

转载 TCP/IP各层协议、工作设备、网络地址划分总结 《TCP-IP详解卷1:协议》读书笔记一 概述(内附思维导图)

私有IP地址的范围: 10.0.0.0—10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255

2015-09-08 21:37:48 606

原创 C++面试题

面试C++程序员的时候一般都是3板斧,先是基础问答,然后一顿虚函数、虚函数表、纯虚函数、抽象类、虚函数和析构函数、虚函数和构造函数。接着拷贝构造函数、操作符重载、下面是STL,最后是智能指针。       都能挺过去那基本知识这关应该算是过了,下面就是项目背景和算法了。     1,C++和C相比最大的特点                   1)面向对象:封装,继承,多态。 

2015-09-06 14:25:03 603

转载 c++内存分配优先使用内存池,而不是new,delete

认识一下new和delete的开销:new和delete首先会转调用到malloc和free,这个大家应该很熟识了。很多人认为malloc是一个很简单的操作,其实巨复杂,它会执行一个系统调用(当然不是每一次,windows上是按页算),该系统调用会锁住内存硬件,然后通过链表的方式查找空闲内存,如果找到大小合适的,就把用户的进程地址映射到内存硬件地址中,然后释放锁,返回给进程

2015-09-05 19:31:12 1776

转载 AOI 服务的设计与实现

所谓 AOI ( Area Of Interest ) ,大致有两个用途。一则是解决 NPC 的 AI 事件触发问题。游戏场景中有众多的 NPC ,比 PC 大致要多一个数量级。NPC 的 AI 触发条件往往是和其它 NPC 或 PC 距离接近。如果没有 AOI 模块,每个 NPC 都需要遍历场景中其它对象,判断与之距离。这个检索量是非常巨大的(复杂度 O(N*N) )。一般我们会设计

2015-09-05 19:19:48 504

转载 初识网络游戏防作弊

作弊类型:1. 使用僵尸程序:kickbots:原来用于将作弊用户强迫下线,如今被滥用到强迫合法用户下线                         spinbots:类似加速器,使得使用者的人物行为异常无法被攻击2. 人为延时或者故意下线:通过物理切断对手网络或者使用拥塞产生程序(likeVE这种可以设置网络延时以及拥塞程度的软件),人为延时使得攻击者比延时者

2015-09-05 17:44:21 826

原创 cocos2dx游戏优化

优化方向:一、引擎底层优化:cocos2dx版本选择二、纹理优化:png格式,一个像素4字节1.二的幂次方拼图:由于底层的opengl是按二的幂次方申请内存的,然后再吧这个图片存在内存中,如果一个480*480*4的图片要存入内存,那么它的实际占用内存是512*512*4。所以为节约内存,我们的图片大小最好按二的幂次方制作(拼图法)。2.

2015-09-05 17:31:15 329

转载 游戏AI的综合设计

AI (Artificial Intelligence)作为游戏的重要组成部分,对游戏的可玩性起到越来越大的作用。玩家早已不满足傻瓜似的敌人和NPC,渴望见到能像人一样思考的虚拟人物。本文首先介绍游戏常见的人工智能技术,然后综合利用各种技术设计一个较为通用的AI引擎。 有限状态机(FSM):有限状态机是游戏中最常用的人工智能技术,其他技术基本都需要有限状态机的支持。有限状态机把单位

2015-09-05 17:27:51 394

转载 AOI 服务器的实现

http://blog.codingnow.com/2008/11/aoi_server.html以前谈过多次 AOI (Area of Interest) 的实现,因为我们的游戏尚在开发,模块需要一个个的做。前期游戏世界物件不多的时候用个 O(N^2) 的算法就可以了:即定时两两检查物件的相对距离。这个只是权益之计,这几天,我着手开始实现前段时间在 blog 上谈过的 独立的 AOI 服

2015-09-05 17:25:01 434

转载 游戏的AOI算法

游戏的AOI算法应该算作游戏的基础核心了,许多逻辑都是因为AOI进出事件驱动的,许多网络同步数据也是因为AOI进出事件产生的。因此,良好的AOI算法和基于AOI算法的优化,是提高游戏性能的关键。我在实践中所熟知的游戏AOI算法大致有两种,在此做一些总结,顺便梳理一下,打算设计出一套统一的接口封装不同的算法实现(网络上还有些其他算法,因为不熟悉不作记录了)。我所记录的这两种算法也算经典了

2015-09-05 17:24:15 872

原创 操作系统内存管理——分区、页式、段式管理

1. 内存管理方法        内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。 2. 连续分配存储管理方式      连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。2.1 单一连续存储管理     在这种管理方式中,内存被分为两个区域:系统区和用户区。应用

2015-09-05 17:20:53 339

原创 进程调度算法

调度算法是指:根据系统的资源分配策略所规定的资源分配算法。1. 先来先服务   1. 先来先服务调度算法。先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度, 也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业, 而不利于I/O繁忙型的作业(进程)。2. 短进程优先

2015-09-05 17:19:51 362

原创 网络游戏中的主循环

引言:网络游戏作为一种复杂度较高的软件,从其设计角度还是有一些共性的,比方说几乎所有的网游都会有一个主循环。由于游戏需要根据输入、游戏内状态的改变来不间断地更新游戏画面,所以游戏的主循环往往看起来像一个“死循环”,那么这个“死循环”是如何工作的?主循环主要做什么?1.处理游戏逻辑(输入、AI、事件处理)2.执行渲染操作(更新游戏画面)注:对于

2015-09-05 17:18:09 329

原创 程序的装入和链接

1. 地址相关概念1. 物理地址(physical address)      物理内存,真实存在的插在主板内存槽上的内存条的容量的大小.      内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可唯一标识一个存储单元,称为内存地址(或物理地址)。我们可以把内存看成一个从0字节一直到内存最大容量逐字节编号的存储单元数组,即每个存储单元与内存地址的编号相对

2015-09-05 17:17:11 469

原创 操作系统文件管理

在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿意承担的工作。于是,取而代之的便是在操作系统中又增加了文件管理功

2015-09-05 17:16:01 367

转载 基于cocos2dx 2.x做的一些shader效果Demo

适合:1:想初步学习shader的同学可以了解下。2:想用cocos2dx做点效果的同学可以了解下。请直接下载当前页面附件的rar包就可以了。如果需要直接运行程序的可以到百度盘下载:http://pan.baidu.com/s/1jGoRCmMhttp://pan.baidu.com/s/1u9jEA代码预览:

2015-09-05 14:55:30 478

转载 socket阻塞与非阻塞,同步与异步、I/O模型

socket阻塞与非阻塞,同步与异步1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例

2015-09-05 14:54:22 252

原创 C++中vector使用详细说明

1. 在C++中的详细说明vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。2. 使用vector,必须在你的头文件中包含下面的代码:  #include 

2015-09-04 11:13:39 289

转载 Windows Socket 编程_ 简单的服务器/客户端程序

一。程序运行效果图二。程序源代码三。程序设计相关基础知识    1.计算机网络    2.IP地址    3.协议    4.网络体系结构    5.TCP/IP体系结构与特点    6.客户机/服务器模式    7.TCP/IP特点    8.套接字的引入    9.面向 连接/无连接 的套接字的系统调用时序图/流程图 一。

2015-09-04 10:40:44 278

转载 cocos2d-x 3.0 (vs2012环境下亲测)把json数据转换成unicode编码来传送用户数据并且实现json数据的解析和封装

原文地址:http://blog.csdn.net/nilreb_nb/article/details/17162709关于json在vs2012下的配置和json的用法不清楚的自己去googlejson的配置可以参考这篇文章:http://blog.csdn.net/joeblackzqq/article/details/9060385声明:

2015-09-04 10:36:51 455

原创 堆的插入、删除和建立操作,堆排序

1.        堆堆:n个元素序列{k1,k2,...,ki,...,kn},当且仅当满足下列关系时称之为堆:(ki 或者(ki >= k2i,ki >= k2i+1), (i = 1,2,3,4,...,n/2)若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成是一个完全二叉树,则堆的含义表明,完全二叉树中所有非终端结点的值均不大于(或不小于)其左、右孩子结点

2015-09-04 10:08:21 544

转载 几种进程间的通信方式

# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共

2015-09-04 09:49:27 220

转载 揭开Socket编程的面纱

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.         什么是TCP/IP、UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗?什么是TCP/IP、UDP?         TCP/IP(Transmi

2015-09-04 09:43:42 230

原创 系统设计题

应届生在面试的时候,大公司偶尔也会遇到一些系统设计题,而这些题目往往只是考一下你的知识面,或者对系统架构方面的了解,不会涉及编码。很多人感觉难以应对这样的题目,也不知道从何说起,在本文中,总结了回答这类题目需要哪些基础知识,以及怎样使用这些知识回答这些问题。 在正式介绍基础知识之前,先罗列几个常见的系统设计相关的笔试面试题: (1)(百度)要求设计一个DNS的Cache结构,要求能

2015-09-04 09:36:43 364

转载 cocos2d-x 3.0学习-创建菜单场景

一、创建菜单场景我们在一个游戏中,通常打开游戏后都会有一个菜单场景,在菜单场景中你可以点击开始按钮,也可以点击其它例如设置等按钮。这是一个非常通用的场景,今天就来尝试创建一个menu的场景。二、简单的例子 - hello Menu Scene首先创建一个场景类:MenuScene.h#ifndef __MENU_SCENE_H__#define __MENU_S

2015-09-02 22:37:10 375

转载 cocos2d-x 3.0学习-使用Physicals创建物理世界

一、创建物理世界在cocos2d-x 3.0版本中,封装了方便模拟物理世界操作的一系列physicals类,在这之前一般是将box2d或者chipmunk集成到cocos2d-x中来。而现在,就方便多了,到底多简单?看看就知道。接下来就来实现一个简单的物理世界吧。二、简单的例子 - hello Physicals world首先创建一个场景:PhyScene.h#ifnde

2015-09-02 22:29:40 407

转载 MFC六大关键技术

我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MFC的原理),毫无收获。可能朋友们会说,怎么一定要了解MFC的具体呢,“黑箱”作业不行吗?这不是微软的初衷吗?  不行!!!如果这样,我宁愿永远不选择MFC!在学电脑之前,本人学习的东西大都与艺术不无关系,小学时参加过全国书画

2015-09-02 22:29:03 750

转载 cocos2d-x 3.0学习-Android中集成Admob插页广告

一、主要步骤创建一个免费的Admob账户: (http://www.google.com/ads/admob/39)[http://www.google.com/ads/admob/39]创建一个新的app ID,并设置类型为插页广告的AdMob广告单元导入Google Play services,在eclipse中选择Windows -> Android SDK Manager -> E

2015-09-02 22:21:57 503

转载 面试

企鹅 笔试:因为武汉的笔试是第二批城市,所以参加笔试之前,就先看了下第一批城市的笔试题,出的既有难度又有广度,涉及了方方面面。但是第二批城市的笔试题却略水,估计这应该就是企鹅简历不怎么刷人,笔试也不怎么刷人的原因。 一面:面试官是一帅哥,看了下我简历,我简历上写的大大的应聘游戏后台开发几个字,就先让我谈了下对游戏后台开发的理解。我当时也不了解面试官是做S

2015-08-31 22:00:14 651

原创 Windows消息机制要点

1. 窗口过程     每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数)2 消息类型 1) 系统定义消息(System-Defined Messages) 在

2015-08-31 21:49:00 358

转载 OpenGL ES渲染管线与着色器

[OpenGL ES 02]OpenGL ES渲染管线与着色器 罗朝辉 (http://blog.csdn.net/kesalin)本文遵循“署名-非商业用途-保持一致”创作公用协议前言在前文《[OpenGL ES 01]OpenGL ES之初体验》中我们学习了如何在 iOS 平台上设置OpenGL ES 环境,主要是设置 CAEAGLLayer 属性,创建

2015-08-27 12:43:09 603

转载 C++内存管理

[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权

2015-08-27 12:28:44 314

转载 cocos2d里面如何实现MVC

前言:    众所周知,现在MVC非常流行。现在只要随便搜索一下,哪里都是MVC的影子。刚开始在j2ee里面,然后是rails,后面居然.net也出来了,ios更不用说,哪里都是mvc,而且强制你必须使用mvc。但是,我们写的那些程序,真正完全符合mvc吗?呵呵,这个不好说,看个人理解程度而异。mvc实在是太火了,马上就有人在cocos2d社区里面讨论,cocos2d该怎么实现mvc呢?大

2015-08-27 12:24:39 466

原创 我的一个MFC小项目

虽然是小项目,但是还是有点挑战性的,因为从来没有做过一个比较正式的项目;之前在编程过程当中,都是比较粗糙,想到什么就写什么,在没有一个系统的架构前提之下,虽可谓倚马可待,但bug很多,多到自己想法都没有了,最后不得不丢下个“四不像”的一堆代码。找个借口原谅自己就是自觉阅读之前写下的代码,然后认真总结和分析,谈谈自己的收获。其实也没什么,就一个处理图像的东西,很多的东西已经被sdk封

2015-08-27 12:16:59 2912

转载 STL vector用法介绍

介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够

2015-08-25 15:24:57 231

转载 C++11新特性

C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百科不是知道是台湾还是香港人翻译的然后由工具转换成简体中文的,有些术语和语言习惯和大陆程序不一样! 我决定结合这两个版本按照我自己的习惯把这篇文章整理到我的博客中.分享给关注我和关注C++11的朋友

2015-08-25 15:20:07 351

转载 Pomelo:网易开源基于 Node.js 的游戏服务端框架

Pomelo:网易开源基于 Node.js 的游戏服务端框架  Pomelo 是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo 不但适用于游戏服务器开发, 也可用于开发高实时 Web 应用,它的分布式架构可以使 Pomelo 比普通的实时

2015-08-21 11:15:14 353

转载 socket编程——一个简单的例子

从一个简单的使用TCP例子开始socket编程,其基本步骤如下:server                                                  client +++++++                                          ++++++++创建socket                        

2015-07-29 17:42:34 480

转载 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)

cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑。每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大……  但是凭心而论,3.0RC版本开始 环境搭建、项目创建、编译的方式更加人性化了。  现在我们进入正题,一步一步搭建cocos2dx的开发环境     cocos2d-x很多tools都是需要使用

2015-07-24 17:28:10 241

转载 八皇后问题各种解法分析

.递归与回溯:   a.回溯算法的基本思想:从问题的某一种状态出发,搜索可以到达的所有状态。当某个状态到达后,可向前回退,并继续搜索其他可达状态。当所有状态都到达后,回溯算法结束!   b.对于回溯算法,在前面KMP匹配中就利用了这个思想,只不过当时KMP中定义了一个node数组(起到了一个地图的作用,记录了每种回溯情况的可能)。而这节中,是利用函数的活动对象保存回溯算法的状态数据

2015-07-23 15:32:07 2325

转载 如何快速接手一个项目(内部项目或开源项目)

1. 了解项目读相关的文档和文章,起码要知道这个项目是用来干嘛的,有什么样的功能,运行在什么上面(手机,PC,或多平台),发行许可(GPL,Apache或者??),目标格式(应用程序,库,中间件等)等等。通常这些问题在项目的文档,Wiki,FAQ等地方都 能找到。2. 获取源代码这不用多说,没源码你还研究个啥,这个官方文档会讲,通常都是通过SVN或GIT,当然也有把源码打包下载

2015-07-05 23:02:48 320

计算机操作系统 第三版.pdf

作者: 出版社: 西安电子科技大学出版 出版年: 1984-11 页数: 406 定价: 19.60元 ISBN: 9787560601922

2015-06-25

OpenGL编程指南(原书第7版)

作者: [美] Dave Shreiner 出版社: 机械工业出版社 原作名: OpenGL programming guide 译者: 李军 / 徐波 [等] 出版年: 2010-3 页数: 519 定价: 89.00元 装帧: 平装 ISBN: 9787111294504

2015-06-25

计算机图形学的算法基础.pdf

作者: 罗杰斯 出版社: 机械工业出版社 原作名: Procedural Elements of Computer Graphics (2E) 译者: 石教英 出版年: 2002年01月 页数: 503 页 定价: 55.0 装帧: 平装 ISBN: 9787111075820

2015-06-25

Python基础教程(第2版)

作者: Magnus Lie Hetland 出版社: 人民邮电出版社 原作名: Beginning Python: From Novice to Professional, Second Edition 译者: 司维 / 曾军崴 / 谭颖华 出版年: 2010年7月 页数: 471 定价: 69.00元 装帧: 平装 丛书: 图灵程序设计丛书 ISBN: 9787115230270

2015-06-25

More Effective C++中文完整版

作者: 梅耶 出版社: 电子工业出版社 译者: 侯捷 出版年: 2011-1 页数: 317 定价: 59.00元 装帧: 平装 丛书: 传世经典书丛 ISBN: 9787121125706

2015-06-25

空空如也

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

TA关注的人

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