Skip to content
Archive of entries posted on November 2009

妙趣视频 《半条命2》引擎重现《魂斗罗》

游戏年龄15岁以上的老资格玩家们一定还记得当年FC任天堂红白机上的经典《魂斗罗》(Contra)。这款横版卷轴射击游戏恐怕是当时绝大多数玩家的游戏启蒙之作,相信至今还有不少玩家能对其关卡、窍门如数家珍。 日前,一位名叫M0rtanius游戏Mod开发玩家就帮我们回顾了一下儿时的幸福时光。他使用《半条命2》的Source引擎,惟妙惟肖的重新制作了《魂斗罗》第一关。把当年的横版第三人称视角转化为现在的第一人称FPS,可谓别有一番趣味。 相信看过之后,不少玩家都会和笔者一样认为,如果真有人做出了这样一款Mod游戏作品,愿意尝试支持一下的玩家肯定不在少数。

programmers系列漫画 神秘的程序员们

最流行俏皮语

1、总有一天你的名字会出现在我家的户口本上!         2、将薪比薪的想一下,算了,不想活了。  3、活了二十多年,没能为祖国、为人民做点什么,每思及此,伤心欲绝。 4、我和脂肪做斗争,差点没牺牲  5、生活嘛,就是生下来,活下去~~   6、再丑也要谈恋爱,谈到世界充满爱。 7、船撞桥头自然沉~~  8、当你披上了婚纱 我也披上了袈裟~~   9、我跟耶稣祈求踏实稳定的生活,他想了想说,咱们还是先谈谈世界和平的事吧…  10、爱我就大声地说出来吧!恨我就一辈子藏在心里吧!   11、趁着年轻把能干的坏事都干了吧,没几年了。  12、我在春天种下一堆男朋友,现在秋天到了,啧啧,居然颗粒无收~~ 13、你曾经对我说,会永远爱着我,爱情这东西我明白,但永远是什么?  14、七岁的小男孩是地球上最可怕的生物,他们有好奇心、行动力、破坏力以及《未成年人保护法》  15、人贵在言而有信——我说不还钱就不还钱!  16、夏天就是不好,穷的时候连西北风都没得喝,幸亏现在是秋天了。  17、我虽然相信海誓山盟,但是未必相信你啊~~  18、 凡我放不下的,必是因为我拥有不了的~~  19、特别的人从来不说自己特别,比如说我。  20、我人生只会两件事 1 这也不会 2 那也不会  21、成人不自在,自在不成人~~ 22、我知道,天下无不散宴席,可是,至少,宴席上我要吃得爽! 23、解释就是掩饰,掩饰就是讲故事~~  24、人和人不是客客气气就能相处的!  25、每当困难的时候我就念藏经:“噢嘛呢哞嘛哄”, 翻译成英文就是:All money go my home!  26、善良就是别人挨饿的时候,我吃肉不bia ji 嘴~~  27、我曾想成为一个问题少年,然而我却循规蹈矩地活了这么多年。 28.如果心情不好, 就去超市捏捏方便面。 捏捏族 29.谁耽误我一阵子,我让他后悔一辈子 。  30.关门一个月,不要叫我,因为一叫我我就会出来……  31.出租车司机,司机中的战斗机,噢耶!  32.思想有多远,你就给我滚多远!  33.诸葛亮出山前也没带过兵啊,你们凭啥要我有工作经验!!!  34.工作的最高境界就是看着别人上班,领着别人的工资。  35.胖并憔悴着~~  36.康夫你辞职的时候有没有考虑过哆啦A梦的感受!(去年日本首相宣布辞职时写的)  37.我风情又果敢,远目且踏实,品味上乘却又勤奋自省,缺点虽多,还望大家海涵!38.你给我滚,马不停蹄的滚……  39.做人一定要做一个蹦蹦跳跳的人。 40.我走我的阳光道,你过你的奈何桥。 41.人生最大的悲哀是青春不在,青春痘却还在。  42.世界是我们的,也是孩子们的,但最终是那帮孙子们的!  43.我们的宗旨是:为人民币服务!  44.好久没有人把牛皮吹的这么清新脱俗了!  45.最简单的长寿秘决————–保持呼吸,不要断气~~  46.钱对你真的就那么重要吗?讲了3个多小时了一分钱都不降。  47.打死我也不说,你们还没使美人计呢!  48.等我有钱了,我就买一辆公交车,专门走公交专用车道,专门停在公交车站,等有人想上车了,我就说:对不起,这是私家车~~ 49.甲:人家十全十美,你怎么说也是十全八美~~ 乙:那我是缺哪两美?甲:内在美和外在美…… 乙:…………

【10.26.09】《无主之地(Borderlands)》[EN]

中文名称:无主之地 英文名称:Borderlands 发行时间:2009年10月26日 游戏类型:角色扮演 游戏语言:英文 开发厂商:Gearbox Software 发行厂商:2K Games 官方网站:http://www.borderlands.com/ 游戏介绍: 虽然Gearbox是要带给我们一个传奇冒险,但是游戏中也充满了幽默的部分。比如可以在抽水马桶和动物屎堆里发现道具,往水里扔手雷可以收获大堆死鱼。Borderlands故事发生的星球叫做Pandora,故事是围绕着星球枯竭的资源和新发现的外星科技展开的。游戏中将会有20~30主线剧情,130~140个支线任务。并有大量的场景可以探索。游戏中的宝物掉落种类非常丰富,而且有着非常强大的枪械和载具组装系统。据Gearbox称,如果不算上改造的话,游戏中将会有五十万到六十万中武器可以选择。算上改造的话,可以有一千七百万种的组合。(卫星太大了吧,我觉得是说像大菠萝那种的吧)特殊的高级武器将会使用绿色,紫色武器等等常见的武器稀有度设定。游戏设计初期内定了三种传统的职业:Soldier,Hunter,Siren。最近的公布加上了Berserker。 该作具备暗黑系列的主要特色,比如技能树、情节驱动模式、可即时加入或跳出的四人通关模式: ·掉落的每一只枪都有随机属性,比如射速、装弹时间、弹匣容量等 ·武器属性直接影响其外观,比如发着绿光的枪肯定被淬了毒 ·就像暗黑一样,每次开宝箱都无法预料会掉落哪些物品,开箱者总在试图获得更丰厚的掉落 ·技能可升级,技能类别分为装备和体格等,比如玩家可将天赋点数加在手雷携带量上,或是分配给装弹时间 ·设置有武器专精技能,比如“突击步枪专精”,每增加一级都将强化这方面的能力 ·游戏提供了可驾驶的载具,演示中的沙滩车有异乎寻常的腾空能力,就像《战地》里的轻型攻击车或是《光晕》中的疣猪车。 ·所有载具都考虑到了多人合作模式,行驶途中可互换乘坐位置 ·动态背景音乐 ·超乎寻常的肢解画面,残肢漫天飞舞,爆炸物能让敌人一飞冲天 ·50万支枪是远远不够的,准确地说,该作内置了65万3千种枪械 配置需求: 操作系统 Windows XP/Vista 处理器 2.4 Ghz or equivalent processor 内存 1GB 系统内存 (2GB Vista) 显卡 256mb 以上显存 (GeForce 8 系列以上产品/Radeon R8xx 系列) 硬盘空间 8 GB 以上空间 声卡 Windows 兼容声卡 安装信息: 1. [...]

javascript函数作用域与闭包

8.8. 函数作用域与闭包         如第四章所述,JavaScript函数的函数体在局部作用域中执行,局部作用域不同于全局作用域.本章将解释这些内容和相关的作用域问题,包括闭包.[*] [*] 本章包含超前的内容,如果你是第一次阅读,可以跳过. 8.8.1. 词法作用域(Lexical Scoping)         JavaScript中的函数是基于词法作用域的,而不是动态作用域.这句话的意思是JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里.定义一个函数时,当前作用域链被保存起来并成为该函数内部状态的一部分.作用域链的顶层(最初一层)是由全局对象构成的,这和词法作用域没什么明显的关联.然而,当你定义一个嵌套函数时,作用域链将包含外层函数(嵌套函数的外层函数.原文:the containing function).这就意味着,被嵌套的函数可以访问外层函数的所有参数和局部变量.         注意:尽管在一个函数定义的时候,作用域链就已经固定了,但是作用域链中定义的属性并不是固定的.作用域链是”活的”(“live”),当函数被调用的时候,它有权访问任何当前被关联的数据. 8.8.2. 调用对象(The Call Object)         当JavaScript解释器调用函数的时候,首先,它把作用域设置到作用域链,在函数被定义的时候,该作用域链已经有效.接下来,解释器添加一个叫做调用对象(ECMAScript规范使用术语:activation object,活动对象)的对象到作用域链的头部.引用Arguments对象的arguments属性为函数初始化调用对象.接下来,添加函数的命名参数到调用对象.所有用var语句定义的局部变量也都在这个对象中定义.因为调用对象在作用域链的头部,局部变量,函数参数和参数对象都在函数的作用域内.也就是说它们隐藏了所有同名的在更早的作用域中定义的属性. 注意:与arguments不同,this是关键字,而不是调用对象的一个属性. 8.8.3. 调用对象作为命名空间(The Call Object as a Namespace)         有时,用定义一个简单函数的方法创建一个调用对象是很有用的,这个调用对象可以扮演一个临时命名空间的角色,如此一来,你定义的变量和创建的属性都不会破坏全局命名空间.例如:假设你有一个Javascrip代码文件,你希望把它用到很多不同的Javascript程序中(或者,用于客户端Javascript,在很多不同的web前端网页上).假设这些代码像其它代码一样定义了中间变量来保存计算结果.现在的问题是因为这些代码将用于很多不同的程序,你无法知道此变量是否和其它引入该文件的程序的变量相冲突.         解决的方法是把代码放到函数里,然后调用这个函数.如此一来,变量是被定义在函数的调用对象中: function  init()  {      //  代码从这里开始      //  任何变量声明都会成为调用对象的属性      //  如此不会破坏全局命名空间. } init();   //  不要忘了调用这个函数哦!         这段代码只给全局命名空间添加了一个”init”属性,该属性引用init函数.如果定义一个函数还嫌太多,那么你可以用一个表达式定义和调用一个匿名函数.像这样的JavaScript语法如下: ( function ()  [...]

Javascript事件设计模式

事件设计概述 事件机制可以使程序逻辑更加符合现实世界,在JavaScript中很多对象都有自己的事件,例如按钮就有onclick事件,下拉列表框就有onchange事件,通过这些事件可以方便编程。那么对于自己定义的类,是否也可以实现事件机制呢?是的,通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率。本节就将详细介绍JavaScript中的事件设计模式以及可能遇到的问题。 最简单的事件设计模式 最简单的一种模式是将一个类的方法成员定义为事件,这不需要任何特殊的语法,通常是一个空方法,例如: function class1(){ //构造函数 } class1.prototype={ show:function(){ //show函数的实现 this.onShow(); //触发onShow事件 }, onShow:function(){} //定义事件接口 } 上面的代码中,就定义了一个方法:show(),同时该方法中调用了onShow()方法,这个onShow()方法就是对外提供的事件接口,其用法如下: //创建class1的实例 var obj=new class1(); //创建obj的onShow事件处理程序 obj.onShow=function(){ alert(“onshow event”); } //调用obj的show方法 obj.show(); 由此可见,obj.onShow方法在类的外部被定义,而在类的内部方法show()中被调用,这就实现了事件机制。 上述方法很简单,实际的开发中常用来解决一些简单的事件功能。说它简单,因为它有以下两个缺点: ? 不能够给事件处理程序传递参数,因为是在show()这个内部方法中调用事件处理程序的,无法知道外部的参数; ? 每个事件接口仅能够绑定一个事件处理程序,而内部方法则可以使用attachEvent或者addEventListener方法绑定多个处理程序。 在下面两小节将着重解决这个问题。 给事件处理程序传递参数 给事件处理程序传递参数不仅是自定义事件中存在的问题,也是系统内部对象的事件机制中存在的问题,因为事件机制仅传递一个函数的名称,不带有任何参数的信息,所以无法传递参数进去。例如: //定义类class1 function class1(){ //构造函数 } class1.prototype={ show:function(){ //show函数的实现 this.onShow(); //触发onShow事件 }, onShow:function(){} //定义事件接口 } //创建class1的实例 var obj=new [...]

javascript 闭包

写在前面的话: 试图翻译自 http://jibbering.com/faq/faq_notes/closures.html 文中大量提到《ECMA 262 》,我也没时间读这东西,可能有问题理解有误。希望纠正。 只译了前边部分,我得理解几天再继续下去。 英文水平差,凑合看吧。 国内找了半天没这篇文章中文版,献丑了就。 读后有种豁然开朗的感觉,清楚了很多javascript的问题。 一、Introduction Closure (闭包) A “closure” is an expression (typically a function) that can have free variables together with an environment that binds those variables (that “closes” the expression). 闭包是ECMAScript(javascript)语言强大的特征之一,如果没有真正的理解它的概念,不可能很好使用它。在一般浏览器环境中,它们很容易被建立,但也会造成比较难理解的代码逻辑。为了避免闭包引起的缺点,利用它所提供的优点,明白它的机制是重要的。javascript语言的闭包很大程度上依靠 scope chains(函数,变量的范围链) 和 javascript对象的灵活的属性机制 实现。 闭包简单的解释是,ECMAScript允许inner functions(嵌套函数):函数可以定义在另外一个函数里面(关于嵌套函数可以看看)。这些内部的函数可以访问outer function(父函数)的local变量,参数,其它内部函数。当内部函数被构造,并可以在函数外被获得(函数当成返回值),这个内部函数被在 outer function返回后被执行(在outer函数外执行),那一个闭包形成了。(简单的理解,function被当成数据类型传递或动态执行)。 inner function还有权利访问 那些outer function(父函数)的local变量,参数,其它内部函数。那些outer function(父函数)的local变量,参数,其它内部函数在outer function返回前就有值,并返回的inner [...]

【10.27.09】《火炬之光(Torchlight)》[EN]

中文名称:火炬之光 英文名称:Torchlight 发行时间:2009年10月27日 游戏类型:动作角色扮演 游戏语言:英文 开发厂商:Runic Games 发行厂商:Perfect World Entertainment 官方网站:http://www.torchlightgame.com/ 讨论专区:http://3dmgame.chnren.com/bbs/showforum-559.html 游戏介绍: Runic Games(原暴雪北方创始人之一的Max Schaefer创办的新公司)ARPG新作《Torchlight(火炬之光)》公布了一段新预告片,看上去就像降质版的暗黑3。该作的单机版即将在10月27日上市,数字版下载售价US$19.99。而网游版预计在单机版推出18个月之后才能面市,另外早先消息报道该作全球发行权由中国完美时空获得。 配置需求: 1.8 Ghz Intel Pentium 4 or AMD Athlon processor 1 GB RAM NVIDIA GeForce FX 5200 or higher or ATI Radeon 9500 or higher, with at least 64MB of video RAM 500MB of drive space DirectX 9 compatible [...]