- 博客(27)
- 资源 (8)
- 收藏
- 关注
原创 Node.js学习-----------异步文件读取
Node.js中最大的特点就是异步式I/O与事件紧密结合的编程模式。控制流程要通过事件和回调函数来组织,一个逻辑要拆分成若干个单元。下面来看个Node.js中异步的方式读取一个文件:var fs = require('fs');fs.readFile('file.txt' , 'utf-8' , function (err , data) { if (err) {
2015-06-28 23:18:34 1906
原创 Node.js学习-----------搭建一个简单的HTTP服务器
具体代码如下:var http = require('http'); //调用Node.js的http模块http.createServer(function (req, res) { res.writeHead(200 , { 'Content-Type': 'text/html' }); res.write('Node.js'); res.end('H
2015-06-28 22:57:01 1466
原创 设计模式------------抽象工厂模式
抽象工厂模式的优点:定义了一个创建一系列相关或相互依赖的接口,而无需制定他们的具体类。具体结构图如下:具体例子如下:用户 AB 对象 ACCESS用户,SQL用户。部门AB对象 ACCESS部门, SQL部门抽象的工厂类IFactory具体的工厂类:AccessFactory ,SqlFactory具体代码如下:#
2015-06-27 22:16:45 429
原创 设计模式-------------建造者模式(生成器模式)
建造者模式的优点:在当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时适用。结构图如下:需要为具体的产品类维护一个建造者基类,然后在建造者子类中完成具体的实现,最后在指挥者类(Directer Class)中完成对接口的调用。具体代码如下:#include#include #include using namespac
2015-06-26 10:06:40 404
原创 设计模式 -------------------外观模式
外观模式的优点:为子系统的一组接口提供一个一直的界面 ,让用户使用起来更加方便。结构图如下:具体使用代码如下: // Strategy.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h"#include #include using namespace std;class Sub
2015-06-25 13:10:25 366
原创 设计模式-------------------模板方法模式
模板方法模式的优点:将不变的代码转移到父类中,将可变的代码用virtual留到子类重用结构图如下:具体使用代码如下: // Strategy.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h"#include #include #include using namespace std;
2015-06-25 12:54:06 297
原创 设计模式---------------------原型模式
原型模式的优点:从一个对象在创建另外一个可定制的对象,而无需知道创建的任何细节,并且能提高创建性能(copy技术)。下面先来看原型模式的结构图:具体代码如下: // Strategy.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h"#include #include #include usi
2015-06-25 12:42:47 309
原创 设计模式------------------工厂方法模式
优点:修改了工厂模式不遵守开放关闭原则,工厂模式把选择判断放到了客户端中实现,如果想添加新的功能就不用修改原来的类,直接修改客户端即可。他的实现为具体类和工厂类都添加了一个基类,然后在具体子类中实现具体的方法,介绍如图:具体代码如下: // Strategy.cpp : 定义控制台应用程序的入口点。 // #include "stdafx
2015-06-25 12:30:49 345
原创 设计模式----------------------代理模式
代理模式的优点:远程代理,可以隐藏一个对象在不同地址空间的事实。虚拟代理,可以通过代理来存放需要很长时间实例化的对象。安全代理,用来控制真实对象的访问权限。智能代理:当调用真实对象是,代理处理另外一个事情具体代码如下:// Strategy.cpp : 定义控制台应用程序的入口点。//#include "stdafx.
2015-06-25 10:46:54 407
原创 设计模式--------------------------装饰模式
装饰模式的作用在于:动态的给一个对象添加一些额外的责任(不重要的功能,只是偶尔要执行一次的东西),就增加功能来说,装饰模式比子类更加的灵活具体代码如下:// Strategy.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;//人
2015-06-25 10:37:04 398
原创 设计模式------------将工厂模式和策略模式结合起来
优点:客户端只需要访问context类,而不必知道关于其他类的信息,实现了低耦合。具体代码如下:#include using namespace std;//策略基类class COperation{public: int m_First; int m_Second; virtual double GetResult(){ double dResult = 0;
2015-06-25 09:59:33 541
原创 设计模式----------------策略模式
策略模式的优点:适合类中的成员以方法为主,算法经常变动,简化了单元测试。缺点:客户端要做出判断具体代码如下:#include using namespace std;//策略基类class COperation{public: int m_First; int m_Second; virtual double GetResult(){
2015-06-25 09:53:50 364
原创 杭电ACM----------1004 Let the Balloon Rise
Problem DescriptionContest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is
2015-06-24 00:07:26 4001
原创 杭电ACM----------1003 Max Num
Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 +
2015-06-23 21:41:51 1249
原创 杭电ACM----------1002 A+B problemII
Online Judge Online Exercise Online Teaching Online Contests Exercise AuthorF.A.QHand In HandOnline Acmers Forum | DiscussStatistical ChartsProblem ArchiveRealtime Judge StatusAuthors Ranklist
2015-06-23 20:30:26 3560
原创 杭电ACM----------1001 Sum problem
Problem DescriptionHey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. InputThe input will consist of a series
2015-06-23 20:28:46 806
原创 设计模式----------------简单工厂模式
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。具体使用代码如下:// StaticFactory.cpp : 定义控制台应用程序的入口点
2015-06-19 08:26:30 446
原创 为游戏多开做准备,降低游戏的CPU
那么如题,如何降低游戏的CPU呢?有以下几种方法:1.为游戏挂载一个定时器。利用到的函数为UINT_PTR SetTimer(HWND hWnd, // 窗口句柄UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器UINT nElapse, // 时间间隔,单位为毫秒TIMERPROC lpTi
2015-06-16 18:00:30 8158
原创 如何在游戏中实现穿墙功能
在游戏中,很多地方都有障碍物,那么怎么才能越过障碍物快速进行行走呢?我们可以逆向分析它的障碍物判断函数,然后修改他的返回值或者直接jmp跳过检测就可以实现障碍物的穿越了。下面就来说说具体的思路:.要怎么寻找障碍物判断call?可以通过其他的方法来进行判断,比如人物的坐标来进行判断,首先找到人物坐标的地址,然后通过CE下访问了这个地点的地址,然后就在没有障碍的时候就会调用某些
2015-06-13 21:01:08 6718
转载 linux命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui
2015-06-11 11:11:32 385
原创 Directx中如何利用离屏表面加载一个图片资源
本次学习中,我们要利用DirectX中的离屏表面来加载一副图片资源来主窗口中。首先我们用到的图片加载是用的GDIplus来加载的。下面就来具体介绍怎么使用一个离屏表面首先要用到一个数据结构DDSURFACEDESC2 ddsd;设置这个数据结构的标识位为
2015-06-07 13:16:39 2346
转载 new和malloc的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.
2015-06-06 18:45:19 424
原创 DirectX中设备创建,以及表面缓冲区的使用
本次学习了如何在DirectX中创建一个表面并在窗口中显示出来。用到了下面的4个函数://游戏窗口主要用到的函数//初始化函数void InitDdraw(HWND hwnd);//销毁窗口前释放函数void FreeDdraw();//更新函数void Update();//重绘函数void Render();用到的全局变量//游戏窗口用到的变量//Direc
2015-06-06 18:39:45 1411
原创 如何在VS2013中配置一个DirectX开发环境
如何在VS中配置一个DirectX的开发环境呢?1.从网上下载DirectX SDK并安装2.在VS中新建一个WIN32项目(ps:以后开发就是这个窗口)3.打开项目属性:VC++目录配置包含目录:C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include配置库目录:(32位程序)
2015-06-05 19:35:48 3412
原创 如何利用VC++构建一个游戏框架
要利用VC++构建一个游戏框架,首先需要了解一些东西。1.MFC单文档结构程序2.GDI+等图形处理技术,例如图形的缩放,旋转,以及灰度矩阵等处理,还有就是动画的制作等3.一些图形处理技术,DirectX,OpenGl等一系列技术首先来了解一下MFC的单文档程序。MFC单文档程序中又4个类1. XXXXApp ,应用类,TheApp是全局中唯一一个程序形成时就存在的
2015-06-05 15:56:24 1184
原创 如何在一个辅助中修改游戏的可视距离
在一个游戏中,如何显示周围的可视物呢?肯定封装了一个函数用来设置他的可视距离。所以如何我们要修改游戏中的可视距离,就必须逆向来分析它,根据一个现有的距离变化来找到他周围是否有个比较的代码,在那周围就肯定有关于可视距离的函数了,或者是可视距离的基址。只要修改这个基址中的数据,就达到了修改可视距离的目的了。
2015-06-01 18:43:27 853
windows网络编程
2013-12-20
深度探索c++对象
2013-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人