我心目中的网游世界观(一) - 地形与种族

摘要: 以下内容都是针对主流角色扮演类网游说的, 类似X舞, 纸牌类的不再讨论范围内作为一个网游世界, 关键是对玩家的吸引力, 既不能太复杂又不能太简单, 复杂了让大部分初玩者无从上手, 简单了对于大部分人又没有游戏粘性游戏人物的可成长性也是影响吸引力的一个很大因素, 现在的网游讨论区随处可见哪个哪个职业最强, 让很多打算进入游戏的玩家一看就没有继续玩的冲动了还有就是个性化, 玩游戏的都喜欢弄一个在现实里无法产生, 但是自己心目中又非常想达到的形象, 这就是个性化, 有了个性化就会有归属感, 自然也就产生了吸引力另外, 游戏世界最好不要和现实世界, 特别是古代小说的世界靠的太近(如西游/封神), 因为 阅读全文
posted @ 2013-12-18 13:56 黑暗煎饼果子 阅读(413) 评论(0) 推荐(0) 编辑

关于现有网游世界观的一点吐槽

摘要: 以下内容都是针对主流角色扮演类网游说的, 类似X舞, 纸牌类的不再讨论范围内首先现在市面上的网游背景基本可以分成3大类: 东方仙侠, 西方龙与地下城, 以及日韩的那种无剧情的攻敏法打天下的模式先说说龙与地下城这个是历史最久远也是设定最完善最复杂的一类, 从最早的MUD开始一直到现在的西方各种史诗大作(当然到了中国水土不服另当别论)都是沿袭这种模式各种种族职业以及道具技能的设定都很完善, 可惜, 这种设定在早期的MUD或者桌游以及小说里是非常好的世界架构, 但是到了现在的网游里, 却总是因为异常复杂的各种数据让人们望而却步再加上现在的网游正越来越快的从游戏玩家群体向不懂计算机的老百姓群体转移, 阅读全文
posted @ 2013-12-13 09:57 黑暗煎饼果子 阅读(360) 评论(0) 推荐(0) 编辑

使用代码创建快捷方式

摘要: 使用代码创建一个应用程序的快捷方式, 主要是用了IShellLink这个接口, 调用很简单uses ShlObj, ComObj, ActiveX;{参数说明AFile: 执行文件(含全路径)AArguments: 启动参数ALinkCaption: 快捷方式名称ADescription: 快捷方式描述ALinkPath: 快捷方式目录}procedure CreateLinkFile(AFile, AArguments, ALinkCaption, ADescription: string; ALinkPath: String = '');var nIShellLink: I 阅读全文
posted @ 2013-12-06 16:45 黑暗煎饼果子 阅读(627) 评论(0) 推荐(0) 编辑

Delphi 缩放图像代码 - 支持PNG透明通道

摘要: 要求Delphi2007或者更高版本, 系统要求至少XP-SP2以上实际上是利用了Windows的windowscodecs.dll这个文件的功能在VCL里已经封装为TWICImage类procedure ScalerImage(AImage: TWICImage; AWidth, AHeight: Word);var nWIF: IWICImagingFactory; nWIS: IWICBitmapScaler;begin nWIF := AImage.ImagingFactory; nWIF.CreateBitmapScaler(nWIS); nWIS.Initialize(A... 阅读全文
posted @ 2013-12-05 17:40 黑暗煎饼果子 阅读(1498) 评论(0) 推荐(0) 编辑

关于FireMonkey TGrid赋值的一点小研究

摘要: FireMoneky的TStringGrid用法和VCL里面的差不多, 但是另一个TGrid实在是奇葩, 几乎找不到给单元格赋值的方法(除了使用LiveBind)看了其源码, 发现只要给某个Column.Cell.Value赋值就可以了, 但是不知道为什么TColumn里的GetCells和SetCells这2个方法居然没有公开出来, 导致在TGrid里没有一个方法能够像StringGrid一样给某个单元格直接赋值继续查看源码, 发现TGrid有2个事件: OnGetValue, OnSetValue于是联想了一下VCL里ListView的OwnerData模式, 所以写了下面一堆代码, 勉强 阅读全文
posted @ 2013-11-12 10:05 黑暗煎饼果子 阅读(1217) 评论(0) 推荐(0) 编辑

支持4G以上文件的MD5单元

摘要: 根据网上一个流传很久的基于Delph4的MD5单元修改的, 可以支持4G以上的文件, 可以支持UNICODE字符的Delphi恩.......对于大文件速度稍微慢了一点点, 在我自己的电脑上测试, 5.2G文件计算速度86秒...凑合了吧如果谁能优化一下速度, 请联系我哦~~~(*----------------------------------------------------------------------------------------------- MD5 Message-Digest ... 阅读全文
posted @ 2013-11-11 17:58 黑暗煎饼果子 阅读(1261) 评论(0) 推荐(0) 编辑

百度云里视频在线播放, 字幕乱码的解决办法

摘要: 这几天折腾了一下百度云, 放了个电影准备外出的时候看, 结果找了一个没字幕, 从射手上下载了字幕以后浏览器里一播放发现居然是乱码查看了一下字幕, 在编辑器里看着没问题, 于是猜想是不是编码的问题用UE打开, 发现是Ansi的编码, OK 转换成UNICODE的, 再上传上去在线播放...一切OK 阅读全文
posted @ 2013-11-07 14:31 黑暗煎饼果子 阅读(163348) 评论(-3) 推荐(0) 编辑

一个添加用户自定义任务的单元

摘要: 前几天折腾了一下win7的优化, 用了魔方这个软件, 发现他在快速启动里会创建一系列的任务对象查了一下资料, 发现从vista开始, windows新的任务栏支持在按钮或者开始菜单里的快速启动可以添加一些用户自定义任务于是自己尝试写了一个单元出来, 专门添加这种自定义任务代码如下:program Project1;uses Forms, Windows, Unit1 in 'Unit1.pas' {Form1}, UserTasks in 'UserTasks.pas';{$R *.res}begin Application.Initialize; Applic 阅读全文
posted @ 2013-11-07 09:11 黑暗煎饼果子 阅读(661) 评论(0) 推荐(0) 编辑

通过驱动向打印机发送一段(ESC)控制指令

摘要: 这个功能看起来挺奇葩的, 写这个是因为有客户在使用驱动连接票据打印机, 但是又要开钱箱, 驱动里只能每张单据都开钱箱, 而这个打印机又不是只打印结帐单所以就需要用软件控制打印机开钱箱票据打印机一般都支持ESC/POS指令, 所以就出现了如下代码, 通过这个函数可以吧ESC/POS指令里的开钱箱指令发... 阅读全文
posted @ 2013-10-25 10:32 黑暗煎饼果子 阅读(7110) 评论(0) 推荐(0) 编辑

转一个希尔排序

摘要: procedure ShellSort(var AA: Array of Integer);var i, j, x, nTmp: Integer;begin x := 1; nTmp := High(AA) div 9; while (x 0) do begin for i := x to High(AA) do begin nTmp := AA[i]; j := i; while (j >= x) and (nTmp < AA[j - x]) do begin AA[j] := AA[j - x]; ... 阅读全文
posted @ 2013-10-22 11:05 黑暗煎饼果子 阅读(206) 评论(0) 推荐(0) 编辑

关于Memo或者Edit之类控件, 直接设置Text无法撤销的解决方案

摘要: 昨天看到群里有人问使用Memo1.Text := '11111';来设置内容的代码无法使用Memo1.Undo的方式来撤销测试了一下果然如此, 跟踪了VCL代码, 发现Text := '11111'的方式使用的是WM_SETTEXT消息来设置内容, 而撤销似乎是需要类似"键入"之类的操作才能有效(猜测, 未实践)所以猜想了一下, 如果是使用类似选择然后键入文字的方式应该是允许撤销的然后查找了一遍Edit可以使用的消息发现了一个EM_REPLACESEL的消息, 是使用参数字符替换所选字符, 其参数的WParam为1表示可以撤销测了一下果然成功 阅读全文
posted @ 2013-10-16 10:02 黑暗煎饼果子 阅读(433) 评论(0) 推荐(0) 编辑

关于创建无窗体程序的一点心得

摘要: 这2天在写一个工作统计的小东西, 设计思路是创建一个只有托盘图标的程序, 无主窗体, 唯一查看窗体都是动态创建关闭销毁的使用Delphi自带的TrayIcon控件在DataModule里创建托盘, 由于没有主窗体, 所以设置Application.MainFormOnTaskbar := False;在查看窗体显示后, 无论点关闭还是最小化都要求关闭窗体, 点击任务栏按钮也一样但是运行后检查实际效果发现, 任务栏按钮没有反应, 而显示出的窗体在点击最小化以后是缩小到桌面左下角经过一系列跟踪VCL发现(过程太复杂了懒得写了^_^), 原来是因为非主窗体, 所以消息都没有经过Application 阅读全文
posted @ 2013-09-29 09:04 黑暗煎饼果子 阅读(507) 评论(0) 推荐(0) 编辑

在Vista或更高版本Windows系统中, 获取超大图标的办法

摘要: 这几天写个小东西, 需要获取系统正在运行的程序图标, 一般来说32*32就足够了, 不过既然Win7能够支持超大图标(256*256), 咱们也需要与时俱进, 说不定什么时候遇到个变态客户就有这要求了找了下以前的资料, 获取程序图标基本都是用SHGetFileInfo来获取, 这样只能得到最大32*32的想获取超大的需要用SHGetImageList这个API, 不过很奇怪Delphi里面虽然有这个API, 可是调用出错, 只能从DLL里面重新加载了网上相关资料很少, 但是还是能找到的, 不过不知道为什么, 找到的都是一样的代码, 相对下面的代码网上的资料都是这样获取图标句柄的Result : 阅读全文
posted @ 2013-09-27 10:40 黑暗煎饼果子 阅读(1095) 评论(0) 推荐(0) 编辑

随笔里的标签为啥不能用空格分隔??

摘要: 用逗号真别扭..... 阅读全文
posted @ 2013-09-27 10:40 黑暗煎饼果子 阅读(275) 评论(0) 推荐(0) 编辑

一个ICMP单元

摘要: unit ICMPUtils; interface {$IFDEF VER80} { This source file is *NOT* compatible with Delphi 1 because it uses Win 32 features. } {$ENDIF} uses Windows, SysUtils, Classes, WinSock; const IcmpV... 阅读全文
posted @ 2013-09-22 12:04 黑暗煎饼果子 阅读(773) 评论(0) 推荐(0) 编辑

Delphi XE5 与其他版本共存

摘要: 来源于http://www.board4allcz.eu作者是gateway如果你想使用Delphi诸如XE4、XE3、XE2、XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简单修改两行就行啦。找到Delphi XE5的安装根目录C:\Program Files (x86)\Em... 阅读全文
posted @ 2013-09-18 17:57 黑暗煎饼果子 阅读(901) 评论(0) 推荐(0) 编辑

删除win7中的库/收藏夹/家庭组/网络

摘要: 通过修改注册表删除库/收藏夹/家庭组/网络(还是不习惯库的这种管理方式, 导航里面又太占地方)库:[HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]->Attributes: b080010d(显示) b090010d(隐藏)收藏夹:[HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder]->Attributes:a0900100(显示)a9400100(隐藏)家庭组:[HKEY_CLA 阅读全文
posted @ 2013-09-18 17:17 黑暗煎饼果子 阅读(793) 评论(0) 推荐(0) 编辑

一段检测IP设备是否在线的代码

摘要: 原理是通过发送ARP包来检测uses WinSockfunction SendARP(const DestIP, SrcIP: Cardinal; pMacAddr: PULONG; var PhyAddrLen: ULONG): DWORD; stdcall; external 'iphlpapi.dll';{调用}var nMacAddr: array[1..6] of Byte; nMacAddrLen: ULONG; nRet: DWORD;begin nMacAddrLen := SizeOf(nMacAddr); nRet := SendARP(ine... 阅读全文
posted @ 2013-09-18 09:51 黑暗煎饼果子 阅读(798) 评论(0) 推荐(0) 编辑

TWICImage.SaveToStream内存泄漏的解决办法

摘要: 这个BUG从2010到XE5一直没改.....只能自己写个函数来搞了uses ActiveX;procedure WICImageSaveToStream(AWICImage: TWICImage; AStream: TStream);var nEncoder: IWICBitmapEncoder; nFrame: IWICBitmapFrameEncode; nProps: IPropertyBag2; nLStreamAdapter: TStreamAdapter; nPixelFormat: TGUID; nLStream: IWICStream; nPalette:... 阅读全文
posted @ 2013-09-18 09:44 黑暗煎饼果子 阅读(547) 评论(0) 推荐(0) 编辑

Delphi XE5 Android 程序退出功能

摘要: Uses FMX.Platform.Android;...begin {退出程序} MainActivity.finish;end; 阅读全文
posted @ 2013-09-18 09:37 黑暗煎饼果子 阅读(713) 评论(3) 推荐(0) 编辑