赛车游戏最快记录中由亡父“幽灵”保持,xbox玩家不忍打破纪录

英美等国家的父亲节是6月的第三个周日,国外一名6岁时丧父的网友,日前找出小时候与父亲一起玩的Xbox游戏机,在“拉力赛”游戏中发现“亡父的身影”,他的文章也感动许多往网友。

美国电竞节目PBS上月22日在YouTube询问“电子游戏能成为心灵体验吗?”网名为“00WARTHERAPY001”的网友在视频底下留言说,4岁时父亲买了一台Xbox,父子俩因此度过一段美好的日子,但6岁时父亲不幸去世。

图为赛车游戏截图,“幽灵”车为父亲在网友幼时的游戏记录。

“往后10年我没办法碰这台游戏机”网友表示,直到最近他才发现,父子俩过去常玩的《越野挑战赛》(Rally Sports Challenge)中,父亲是最佳纪录保持人,在这款游戏的中,纪录保持者将以“幽灵车手”之姿与玩家竞赛。

经过多次在游戏中与父亲竞赛后,网友终于有机会能打破父亲纪录,但他最后选择在终点线前停下来,避免破纪录后再也看不到父亲,让父亲的身影永远保存在游戏中。

继续阅读 »

感人肺腑!少年在Xbox中与逝去的父亲重逢

近日,网名00WARTHERAPY00的网友在YouTube上发表评论文章,讲述了自己的故事:“当我四岁的时候,我的父亲买了一台Xbox。你知道的,就是那个2001年发售的第一款,大块结实的机子。我们一起玩了各种游戏,玩得非常非常高兴——直到他去世,当时我才6岁。足足10年,我没敢碰那台机子。但是当我最后又拿起它,我发现了一点东西。”

“我们当时常玩一款赛车游戏,叫《拉力挑战赛》。这款游戏当时是非常棒的作品。当我开始玩弄起来的时候,我发现了一个幽灵!你没看错。你知道的,在进行计时赛的时候,单场最快纪录的保持者会被游戏录下来作为幽灵车。没错,你们猜到了——我父亲的幽灵车直到今天都还在赛道上驰骋。所以我不断玩这款游戏,直到我差一点就能击败幽灵车。而最后有一天我超过了它,随后……”

“我在终点线前停住了车,只是为了我的新纪录不覆盖掉父亲的幽灵车。”
继续阅读 »

C++中GB2312字符串和UTF-8之间的转换

在编程过程中需要对字符串进行不同的转换,特别是Gb2312和Utf-8直接的转换。在几个开源的魔兽私服中,很多都是老外开发的,而暴雪为了能 够兼容世界上的各个字符集也使用了UTF-8。在中国使用VS(VS2005以上版本)开发基本都是使用Gb2312的Unicode字符集,所以当在编 程过程中就需要进行字符转换,这样才能兼容游戏,否则就是乱码。而在控制台显示字符串时,真好相反需要将UTF-8的字符串转换成Gb2312才能正常显 示。

为了解决这个问题,本人将其代码贴出来;其实很多地方都可以使用到字符串的编码转换,代码如下:

无论是GB2312到UTF-8的转换,还是UTF-8到GB2312的转换,都需要注意的是在使用字符串后,需要删除字符串指针;

如何把GIT仓库的子目录独立为子模块

最近在给考拉山后台添砖加瓦的过程中,发现了两个问题:

  • 对于当前的同一套逻辑,我已经有4个view层工作在上面了,马上还要再加上一个view,专门用来显示分享出去的页面;
  • 接下来还要再加上同步evernote这种异步任务;
  • 而现在这些代码都还在同一个GIT仓库中;

这种混乱的场景已经快让我不能忍了,于是乎决定把这个大仓库中的所有businessmodel的代码独立到一个submodule中,这样接下来就可以进一步的拆分各个view让它们都引用这个submodule

还好之前的代码结构还算比较好,所有businessmodel的代码都在一个名为coloshine的目录中,所以接下来只要解决如何把一个子目录独立成一个submodule并且保存分支和提交历史这个问题就好了。
继续阅读 »

静态库与动态库相互调用

测试场景,Test,lib1,lib2,dll1,dll2,分为下面四种情况:
1、Test->lib1->lib2
lib1编译自己的代码,对lib2的部分,只需要lib2的头文件,对lib2的代码实现,使用占位符关联。
生成Test连接的时候,把lib1的代码实现包含进来,再递归,把lib1中关联lib2的代码实现也包含进来。
运行Test的时候,不再需要lib1和lib2。

2、Test->lib1->dll2
lib1编译自己的代码,对dll2的部分,只需要dll2的头文件,对dll2的代码实现,使用占位符关联。
生成Test连接的时候,把lib1的代码实现包含进来,但是,dll2中的代码不包含进来。
运行Test的时候,不需要lib1,但是需要dll2【不需要dll的lib文件】

3、Test->dll1->lib2
dll1编译自己的代码,对lib2的部分,需要lib2的头文件和实现,即lib2,把lib2的代码实现包含到dll1中
生成Test连接的时候,dll1中的代码不包含进来,并且不再需要lib2。
【可以这样测试,生成lib2,生成dll1,生成test.exe,删除lib2,删除test.exe,再生成test.exe,可以生成成功。说明生成test.exe,连接的时候根本不需要lib2,。也就是说,静态库会被连接到动态库或者exe中,但是不会被连接到其他的静态库中】
运行Test的时候,需要dll1,但是不需要lib2

4、Test->dll1->dll2
dll1编译自己的代码,对dll2的部分,需要dll2的头文件和lib文件,对dll2的代码实现,使用占位符关联。
生成Test连接的时候,Test需要dll1的lib,dll1需要dll2的lib,但是代码实现都不会包含在Test中。
运行Test的时候,需要dll1和dll2【不需要他们的lib】

VS2017多版本VC支持

前言

研究目标:VS2017作为目前最新的IDE,让其支持所有版本的VC编译环境

必要性:报建通依赖的特定版本的AutoCAD作为“宿主”环境,作为一个通用产品,就需要支持所有的AutoCAD版本。现在AutoCAD版本需要支持的版本有AutoCAD 2005-2015,其中从AutoCAD 2010开始支持x64,按照一般情况,就需要针对每一个版本安装一个对应的Visual Studio IDE版本,这样给“环境的搭建”、“项目工程的管理”带来很大的挑战和负担

难点:目前每个Visual Studio集成编译环境仅支持对应版本的工程,且作为微软闭源的产品,不支持人为配置
继续阅读 »

Qt 5.10.1 & vs2017 静态编译

  • 2018-03-05

准备:

1、源代码&编译器

继续阅读 »

libuv 在win10 vs各个版本编译静态库

01 环境

libuv使用git管理代码,使用gyp管理工程文件。git、python2.x必须。
环境描述:
win10x64企业版本(10.0.14393),
vs2005–vs2015,
python2.7.6,
git(version 1.9.5.chromium.6)。
git和python建议使用更高版本。
因为下载gyp管理工具需求翻墙,需要vpn。自己有美国的vps,可以自己搭建。
官网:http://libuv.org/
github源码:https://github.com/libuv/libuv

02 源码下载

命令提示符窗口输入:
继续阅读 »

牢记25个最佳的SSH命令

OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。

SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。

(注:有些内容较长的命令,在本文中会显示为截断的状态。如果你需要阅读完整的命令,可以把整行复制到您的记事本当中阅读。)
继续阅读 »

PXE分发安装CentOS 6.5

一.kickstart流程图

二.安装前准备
1.关闭iptables

2.关闭Selinux

继续阅读 »