Archive for August 2006

日志0082   Leave a comment

     所谓“世界叶”,其本来是一个物理术语。指的是某参照系中的等时面。因而,世界叶和光锥面相比,就多了一定的个性,因为光锥面在任何运动参照系都是一致的(这就是说:在非运动参照系中可以不同。比如具有引力场的参照系),而世界叶则要看参照系相对某一个认为选择的“以太”的运动状态。
     上面这段不是废话。写这一段是为了说明:我的世界叶是且仅是我的世界叶。我的过去和我的未来,大家都能看到,但是我所看到的大家,却是大家所看不到的。
     同一个世界,在不同人的光锥面上都是一样的,但是在不同人的世界叶上却是不同的。
     因而,一千个读者就有一千个哈姆雷特,虽然莎士比亚只写了一个。
     这么写似乎很哲理哦,其实都是狗屁。
     记得差不多每个阶段,总有很多人我说是说朋友,但是到了后来连对方的下落都不知道了。比如高中的“新野”,我甚至连他真名是什么都不知道,而他一度是我的好朋友。
     突然感觉自己很混蛋……
     我总认为自己能干一点别人干不了的事出来。因而,刚进高中的时候很嚣张。我认为自己可能是一个很特别的存在,但是事情往往是证明了:我很特别,我又很混蛋,所以我特别混蛋。
     上面的这句话其实本来是某很热爱电影中的经典台词,但是我现在已经不记得这电影的名字了。
     嗨……
     最近一直有一种担忧,那就是担忧自己老了以后回顾自己的一辈子,突然发觉什么都没有。
     虽然我一直在试图记录一些东西下来,一些只存在在我自己这张世界叶上的波澜,但是现在想想,似乎很多波澜从光锥面的角度看来,完全就是一涟幽梦。
     这么想其实很消极。
     以前高中的时候,班主任在我面前的时候似乎总没给过我好脸色。他可能是希望我比他所看到的我更优秀一点吧。其实我一直认为他觉得我这个人很拽,属于那种只有半瓶子水的人。而说到底,我自己也不确定我到底有多少水。许多我认为很让我得意的事情,现在想想如果别人想做的话,花一点工夫钻一下也能做好,说不定比我做得更好。
     比如编程,说白了就是看你花了多少时间去看那些资料。基本把编程的思维脉络理顺以后,编程就不是一件什么难事了。因而,我很让我得意的几个程序,其实如果别人想做的话也能做。我能把别人的程序从表象上都做出来,然后再改进,那么别人自然也可以。因而,其实我并没什么很出众的本领。说代码效率,必然不是最佳;说编程效率,也必然不是最快。既然如此,又去拽什么呢?
     嗨~~最近心情果然阴郁的……
     其实,上面已经扯远了。
     贺西游者归位,乐自己无所事事。

Posted August 30, 2006 by LostAbaddon in 世界叶

日志0081——即将回校   1 comment

最近一直没来写日志,因为懒了……
最近一直在试图解一个方程。其实可以用数值解法,或者用计算机做图法,再不然交给MATHSMATICA,实在不行的话也可以用FOURIER级数法。不过总窝在那里想着能不能通过变换得到简单的表达。显然,这是一种怪癖……发觉家里看这种类型的书很没效率的,倒是看小说速度很快。新买的《返祖》和《过年》都看完了。当然,其实《过年》是第二次看。上一次是在《萌芽》上看到的。不过感觉《过年》实在不错,至少我认为比《幽灵旗》好。当然了,和《亡者永生》和《返祖》相比,还是后两本好。于是还萌生了去把他的《凶心人》、《坏种子》和《变形人》都买下来做收藏的冲动。
初中的时候,在和KONY一起逃课的时候倒一直去NEXTAGE买阿婆的书,高中在“在外四小时”系列行动的时候也去买阿婆的书,现在却反而不买了。这次去书城的时候,以及上次和SLOW一起去书城的时候竟然都没有买阿婆的书的冲动。我自己也感觉很神奇。如果可能的话,还是很有兴趣把她老人家的书都买全的。不过半年前我买了套《波洛探案全集》,因而对书的热忱就少了一点。可惜,这套盘到现在我都没看……我这里还有一套《金田一(真人)》没看过。MASTERS考以后有的是东西看了……
这两天在计算的空挡把游戏又修改了。现在的版本是2.5.1。游戏形式改成了现在小游戏领域流行的“冲关”模式。其实要改成这个很容易的。对加分规则和每关的难度都进行了调整。然后自己尝试了难度100,感觉就是在拼人品,其难度已经不是一般的高了。不过,事实上没人内熬到难度100,因为那需要总分突破十万,这明显不可能,因为难度是在不停增加的。我用正常模式(也就是我暗藏的上帝模式——作弊术语)试了一次,我只能到第五关(当时的过关分数为700,但是机关的出现频率和数量已经比原来多了一般——这是什么概念啊!),总分为14520。其实难度不是体现在分数上的——能过关的话分数基本不成问题,特别是难度高了以后。难度体现在时间上。炸弹爆炸的速度快了,连带的就表示你会很郁闷地发现那些图片是越来越多而不是越来越少。因而如果你的消灭速度比炸弹的爆炸速度慢,那么你将陷入永恒的循环中,于是,你挂了……而魔王扣时间的量也会越来越大,最终等待你的就是分数暴高,但是时间没了,于是你挂了。我妈的平均成绩是两关,然后就无以为继了。
昨天我姨妈来了。她难得到上海来的,不过我哥快结婚了,所以她现在住上海——现在她在上海有三个家了:我哥原来的房子,我哥买给我姨妈姨夫的房子,以及我哥的新房。我哥在市中心闹区买了套房子做新房,理由是这样离丈母娘家比较近。我哥知道我快毕业了,特地让我姨妈来的时候顺便问问是否需要他的帮助,如果需要的话可以去他公司——三家公司中的随便一家。不过他公司要的人都是技术型人才,即使去搞设计也需要电路方面比较熟的,也就是模电和数电好的。我比较喜欢的是理论物理,真要去他公司的话还需要恶补模电和数电。当然了,也可能去负责电脑的部分。去的话自然是从小工开始做起,不过已经比我哥当年顺多了,他当年比我去的话可能的职位还要低。
其实我很佩服我哥,虽然其实我并不大想去他的公司。如果可能的话,我还是希望MASTER毕业以后自己创业。我家人只看到我在家的一面,没看到我在外面的情况,因而对我还是不了解。我妈甚至担心我会很随便的就被别人骗了……当然,我不排除这种可能性。
明天打算回学校,去帮我消防队正要考军校的堂弟补课,顺便去打点一下寝室。下个礼拜六回来一次,把东西带去。
昨天和我妈一起看了《好男儿》的总决赛。之前我们一次都没看过。不过我姨妈来的时候表现出了对它的极大关注热情,以及昨天电视台进行了17小时的连播,所以最后就看了决赛。我感觉主题曲蛮好听的,而宋晓波很强,没拿冠军有点可惜了。我爸睡了一觉醒过来,看我们还在看,就感叹到:怎么还没结束啊?然后就说第一个下场的可以去走偶像派路线,而冠军可以去走实力派路线。而我妈则说:我想他就应该拿冠军,因为就他看上去还像男人。
昨天晚上最让我妈兴奋的,就是《舞林大会》又要开始了。不过显然她没注意到“全国版”这个限制性词语。
前不久在电脑上装了一个OBJECTDOCK。其实和WINDOWS的TASKBAR很类似,但是却是MACOS风格的。透明的ICON,很有VISTA风格。这个东西其实并没什么大用,只不过好看一点而已。
再往前一点,在书城呆了一个晚上。站着翻《高等量子力学》,很仔细地看了一个多小时,脖子都酸了。以前看量子力学时的一些问题发现在高量中并没有说明清楚,反而更迷惑了。旁边还有一本《广义相对论》,也不薄,不过没看。然后在电脑区看了半个多小时的游戏AI的设计,很有感悟(只看了一点,因为这部分东西特耗脑子)。回来以后在外面晃了不少时间,很难得地吃了烤羊肉等东西(上一次可以追溯到以前和B还有ZN一起在路边喝酒的日子),然后晃了回去。一个晚上就吃了一点烤羊肉。
难得能出来的,所以晚上一个人在外面的时候并不想这么早回去。其实前一天也出来过,不过那是给老师家修电脑的,心情自然不同。
在外面晃的时候还见识了一些我们那里的“黑暗场所”,还很明目张胆的呢。又发现了一家模型店,很神奇。

Posted August 27, 2006 by LostAbaddon in 世界叶

一句经典的话   Leave a comment

今天看人吵架(竟然是“看”来的,神奇吧?),看到一句经典的:真是八乌比外~~

Posted August 22, 2006 by LostAbaddon in Uncategorized

日志0080——欢庆日志号80!   2 comments

实在没事,就上来乱写一气了。

今天最值得记录的,是我家鱼缸里的小母鱼生小鱼了。大概一共养了50条小鱼,像撒水车一样“拉”了出来(这个动词是我妈选的……)。其中超过一半的鱼没活过一分钟。

现场的情况是:她一边生小鱼一边在鱼缸里游,然后会时不时地“邂逅”自己刚养出来的小鱼,便小嘴一张,吞了。

对,吞了。

小鱼被它妈妈很和蔼可亲的吃掉了。

感觉仿佛在吃鱼子酱一样。

我妈看了吓了一跳,立刻把母鱼捞到了一旁的临时鱼缸里面。然后,过了几分钟,又不得不转移到第三个鱼缸,依此类推。

然后,我爸爸妈妈就开始盯着小鱼看了,正开心着,我爸问了一个很有技术含量的问题:母鱼呢?

厄,消失了……

立刻开始翻箱倒柜地找。

结果,我家小狗立下奇功——在沙发边找到了母鱼……

立刻把小狗拎了起来扔到一边,不然两条公的就要做GAY了。

经过讨论,一致认为这母的是产后忧郁思念老公所以奋力逃出这临时鱼缸前往那大鱼缸的。

我家小狗这时双眼泪汪汪的,想来它晚饭本就没吃饱,也怪可怜的。

为了避免她再徇情自杀,我们就把她放回到了大鱼缸里。

 

今天一天其实有点好吃懒做的感觉。不过也不能这么说,昨天晚上思考一个微分方程,设计了一个“双曲坐标系”,用来解决波动方程正好。早上建立了这个坐标系下LAPLACE算符、LORENTZ算符的形式,然后尝试解它的通解的时候,发现其角变量部分的方程很诡异,径向部分倒很容易解。想了一下午如何解它的角变量部分,后来论坛上的朋友用MATHSMATICA计算得到了解析解,是LEGENDRE函数表示的。于是把方程变形到了类似连带LEGENDRE方程的形式,用级数法解了这个方程。答案只含有COS的正数次幂,收敛半径大于1,很合理。于是双曲坐标下的波动方程就可以这么解了。

双曲坐标有一个特点,就是在一个平面内含盖了实数部分和虚数部分,两者无法往来。这其实正好可以用来处理时空中的问题:光锥是类空和类时的分界面,无法逾越。它的另一个性质,就是其径向矢基和角向矢基并不正交(几何度量平直度规下),但是在类MINKOVOSKI度量下是正交的。典型的伪欧几何坐标系。

Posted August 21, 2006 by LostAbaddon in Uncategorized

日照0079——回顾以前的EMAIL   Leave a comment

    其实,一天写多篇的话应该就不能叫“日志”了。这个问题以前也想过,想法和现在一样:你管我是不是“日志”。

    今天有事,去搜了次HOTMAIL。这里不得不说一下,HOTMAIL最近的表现很让人生气。有好几天,HOTMAIL都无法登陆。有一段时间,是从http://www.hotmail.com/这个URL无法LOGIN,不过还可以从http://www.mail.live.com/去LOGIN,但是后来就彻底无法登陆了。

    去HOTMAIL上找一份过去的EMAIL,还是一份蛮重要的EMAIL呢。然后就一头扎进了EMAIL堆中。发现了许多过去和别人的讨论用EMAIL。不过不少问题讨论到一般就停了。分析了一下,好象都是我把话题给停掉了。于是用力回忆了一下那段时间我在干什么,发现如果排除有段时间网络有问题的话,那么剩下的时候就是我出去忙别的事情了。过去不像现在这么闲,总有不少有的没的事情过来骚扰我的生活,把我原本要去骚扰的东西给保护住了。一些人后来还很生气的说我为什么不回信了,为什么消失了,为什么不干了。我也感觉颇为无奈。

    总共有三次,由于外事的干扰使得一些事情停掉了,然后造成了很恶劣的影响。我也不想的,奈何事与愿违。第二次的那队人马,我事先说过我可能会有段时间不在的,但是那段时间真不是时候,恐怕他们现在看了我就想杀我了。

    嗨~~~~

Posted August 19, 2006 by LostAbaddon in 世界叶

日志0078——Windows Live Writer   Leave a comment

    今天早上一大早在“博客堂”上逛的时候,看到一篇帖子在介绍WINDOWS LIVE WRITER,就弄了一个下来。

    和传说中的WORD2007一样,这个东西可以直接把你写的东西发到博客上。当年的ONENOTE2003可以自动发到MSN的GROUP上,这个就直接发到各个WEBLOG上了。支持的SERVER还不少,SPACE自然不在话下。

    在下载的时候我一度怀疑是不是MS知道了它门的ATLAS不是所有人都受得了,于是就开发了这个自动化的WRITER了。这倒是SLOW啊小龙啊他们的福音了。

    下了下来以后自然要试一下,界面什么都还可以,秉持了OFFICE系列的一贯风格。主界面自动调节成你所使用的SPACE的风格背景。这是SPACE特有的还是所有WEBLOG都这么支持就不知道了,我只用这一个BLOG。

    和SPACE的操作风格一样,所以基本也就不用多说了。就是一个简化的WORD增加了PUBLISH的功能,总体看来还是不错的。在INSERT区中多了一个INSERT MAP,这是SPACE上所没有的。该功能顾名思义,就是把MSN MAP加了进来。是WINDOWS LIVE LOCAL系统的一个简化部分。发觉MSN的确很照顾大家的心情,不久前看到YCX的SPACE上有地图贴,现在就干脆把MAP也加了进来,市场调查做得不错。

Posted August 19, 2006 by LostAbaddon in 世界叶

游戏最新版又出炉鸟~~   Leave a comment

http://pickup.mofile.com/9789777039115536
 
增加了两种机关,图片数量和种类都多了,难度适当提高(对某些人就可能是噩梦了)。背景自动切换的功能又回来了。

Posted August 17, 2006 by LostAbaddon in Uncategorized

日志0077——回忆以前的假期   3 comments

早上又是做梦醒的。
这个梦比较生猛。一开始是干什么的我忘了,反正一段时间后我是在一家小店里面说店主卖的是假货。然后就打了起来。正打得头破血流的,是真正的“头破血流”。梦中的场景非常血腥,有点以前看的《僵尸之地》的味道。不过梦中没有嗅觉果然是真的,这么血腥我竟然没犯恶心。然后打完了架就回到了自己和同伴的活动基地——貌似是一间室内的植物园。这个场景似乎是取自《十二只猴子》里的,又好象来自《雷霆万钧》。然后,聊了一会天,就出去买东西去了。但是外面的场景似乎时光倒退了,总之和前一次出来的时候不一样。买东西的时候反复遇到了三波小偷,都打了起来,又是很血腥暴力的场景。最后一次打跑了小偷,拿着买好的东西走到一家皮鞋店,看到了一个不知道谁,反正没看清楚又感觉很熟悉。于是很不可思议地,我放下了手上的东西跟了进去。找了一圈,梦中的我忘了我进来是干什么的,又转了出去。然后东西第四次不见了。很神奇地我竟然发现了那个小偷,于是又打了一架。很诧异为什么这个梦中一天到晚都在打架。然后,发现买的东西都碎了。于是第四次回去买东西。这时警察跑了过来,说我为什么杀人。我说他们抢我东西,警察就和我打了起来……然后,再一次用很残忍的手法把警察分了尸……梦做到这里,我自己都开始感到无聊了……于是就醒了。
醒了以后在感叹为什么梦做得这么血腥。然后叹了口气,感到以前看僵尸电影太多了。
躺在床上,看着天花板,就在想了:以前的暑假是怎么过的?差不多是最后一个暑假了,反而感觉没了暑假的感觉。这好象很正常哦。于是开始细细回忆以前的暑假。
貌似小学和初中前两年的暑假每天都很有规律。早上起床以后出去买早饭,回来以后吃饭看漫画,接着打开电视,看着各个频道的暑期连播电视剧,一直到中午,然后继续看漫画。初中的时候下午多半有同学来玩,小学就主要靠漫画和电视过日子。然后一直到晚上,老妈回来以后吃饭,然后晚上继续看电视,最后睡觉。不过,也有别的时候。小学的暑假多半会到奶奶家过,平时的周末倒是常去外公家。暑假在奶奶家有很多一同的玩伴。最常玩的有隔壁的卞正和对面弄堂的张申。卞正比我和张申都大一岁,不过玩的时候三个人倒是基本都是一起度过的。有的时候一起在小区对面靠近河道的水泥管处玩,或者在各自家里玩着玩具军队。也有的时候去别人家玩跳棋啊,三国纸牌啊。不过初中以后就很少去了。
初中后半有了电脑以后,生活也就更简单了。早上起床开电脑,然后出去刷牙洗脸。回来看看网上的漫画,然后出去买早饭。回来以后就开始玩游戏了。上午基本是玩《帝国时代》,然后到了中午,继续看漫画,下午开始完《玩具兵大战II》。晚上开始玩《古墓丽影II》,到了深夜就开始上网看小说。一天就在三个游戏中度过了。不过,有的时候也穿插玩《NBA98》啊《FIFA98》啊什么的,还有就是《速食店II》和《便利店III》。那个时候已经很少看电视了。不过每天的动画时间和DISCOVERY频道还是一直看的。
高中的时候也是玩游戏为主,不过高一的暑假开始做网页。当时还是用的ICQ上的HOMEPAGE,八月的时候开始尝试ICQ的WEBGATE功能。不过后来用的ICQLITE中没有这个功能。高二暑假的时候基本所有时间都用在了IIS上的网站架设上。同时上网找了很多FREE的空间,比如WEBSAMBA,WEBBUS,WEBSTER等等,还申请了一堆的EMAIL。QQ号倒是在初中的时候刚开始用QQ的时候申请了超多。七位的两个,八位的四个,九位十位的一大把一箩筐,都在后来的几年中送给了别人。现在自己在用的就两个。当时还列了张LIST,对市面上所有的FREE资源都做了横向比较,结果选了最好的WEBSTER,在上面开了一个站。后来高三的时候和两个志同道合的人一起做,便在WEBSTER上又申请了三个号。高一的时候同学ZYX找我帮他做VB作业。那时距离我初中自学VB结束已经有两年多了,于是一个周末中又把VB重新捡了回来。后来高二选了VB班,上课享有绝对的自由,想干什么就干什么,基本从来不听课,作业不管怎么都能过。后来高二假期用ASP的时候,就直接从VB转到了VBSCRIPT上,相当顺利。一个假期把站全部建好。按照后来对建站者的划分,当时的我属于第二等。界面主要是借来的,SCRIPT技巧多得像什么一样,不过FLASH倒不是很多。许多动画是用当时的DW ULTRA做的网页脚本动化。其实FLASH当时已经会了。那时直升班进进才的时候夏老师就教我们FLASH,后来的美术老师张老师教的是PHOTOSHOP。两样东西回来以后我就买了D版,几天以后就会了。不过FLASH的脚本控制是大学学的,PHOTOSHOP的滤镜则是在后来不停的使用中琢磨出来的。高一的寒假也很值得一记。当时我用了一个暑假做了一个RPG。主界面的场景是用《英雄无敌III》的地图编辑器做的,然后深入一点的战役场景是用《帝国时代II》的地图编辑器做的,城堡内部的场景是从《轩辕剑III》上截图下来的,街道则取材自《佣兵天下》。总之,是东拼西凑出来的。剧情也很简单,就是典型的欧洲风格的童话,救公主。事实上,这个游戏不能说已经完成了,大概是在剧情设置好,场景做完,功能设置得差不多的时候,硬盘出问题,就都没了。当时的我还没高级到想到GDB这样的修复工具,在那里伤心了一个礼拜。从此这个游戏就被放弃了。值得一说的是里面使用的地图机制。是一个很馊的主意,用的是透明的LABEL控件组。当时对地图算法的研究不深,只想到了这个算法。LABEL有一个TAG属性,在其上记录了其位置和连通性信息。然后用一套算法来计算开始的位置和目标位置的路径结构,完全基于那些TAG的值所进行的计算。当时特崇拜那些做RPG的,地图到底是怎么弄出来的我一直不明白。高一暑假的时候还有一件事情忘说了,就是当时我做了另一个游戏,是一个文字的侦探游戏和一个文字的对战游戏。那个侦探游戏比较有意思,给一个从网上找来的案件,然后让玩家写出三个主要信息:人物、手法和动机。然后还让玩家补充一些相关的信息三条(随便写了,比如推理过程啊之类的)。这些信息和标准答案中的主要信息和推理过程等东西进行文字比较,给出得分,从而判断正确与否。当然,真正的做法比这个复杂。比如要检查答案的自相似程度,玩家所给答案的自相似程度,玩家答案和正确答案的相似程度,然后用个算法求分数。那些相似程度也很讲究。以词、短语、短句为单位,太短和太长都不合适。当时比较了半天,选了一个自认为最好的算法。也就是从这个游戏开始,做游戏的时候,特别是我喜欢的游戏,按钮这个东西就被我舍弃掉了。这可能是因为我也一方面做网页的缘故。程序做得类似网页。整个侦探部分和主界面是以CONAN为主。当时研究了很多技术来处理各种问题,和现在一样过瘾。这个游戏一直被我更新到我换硬盘。现在我寝室的电脑用的是第四块硬盘,家里的是全新的。从初中一开始的2G,到半年后的6.4G,然后到初中毕业时的20G,最后是现在的80G(高二的)和160G。这个游戏后来一直没被我REBORN。因为感觉那个判断玩家输入言语的算法误差太大。其实当时这个文字版侦探游戏和文字版对战游戏都是同时在开发的侦探游戏的先潜部队。现在寝室的电脑里还保有当时收集的资料呢。我寝室电脑里面各种资料都有。虽然不是太多,但是在大学生里面应该也算得上小型资料库了。都是初中到现在这么多年的积累。差不多有8年了。
后来高三毕业以后,三个月的超级长假中,除了做了网站的3.0版以及4种不同的风格以外,主要精力都用在了玩上。6月在家里深入研究VB和ASP,7月开始做一个游戏,8月出去旅游了半个月,回来以后收敛心神准备大学。
7月做的游戏其实只开了一个头。我发觉我总想靠自己做一个游戏出来。而且都是RPG的。可惜,这个愿望一直没有实现。小游戏倒做过不少。一次高二的时候我监考高一的人电脑期末考,除了帮和我同一个初中出来的人作弊(5分钟做完了他的VB、FLASH和PHOTOSHOP考试)以外,就做了一个消磨时间用的游戏出来。其实就是一个石头尖刀布的游戏,不过,老规矩(其实是从当时才开始的规矩)加了很多意外的东西进去。比如不是直接分胜负,而是有“血”这个概念。还可以使用武器,选择不同武功呢。这么说你可能不明白,不过无所谓啦。后来这个游戏成了教学典范。我留在高中的东西有四样:一个就是这个游戏,一个是在图书馆里的我的论文(现在看看,属于小说……论文现在应该已经从玻璃台里拿出来了),一个是学生科学院的头衔(我们那年有三人还是四人?反正我和好友凌晨都是),还有一个就是毕业光盘(当年电脑四大牛人合力打造。都是我们班的)。
高中的生活不如初中的快乐,不过也很有趣。许多事情也都是高中的时候开始的。比如逃夜……这个比较消极。在各个BBS上混出小名气也是那个时候。不过进大学以后以前常去的BBS就不去了,所以现在是小虾米一只。初中在SOHU上被一位大叔说成是民科,后来高中的时候被牧夫天文的人也这么叫。大学的时候我南大的朋友告诉我的。好象他们当时还以为我是一位大叔一样……不过后来帮南大天协做了一个网站。当时我朋友说只能是静态的,就做了个静态的。后来才知道可以做动态的。于是当初的动态版本就留给了自己。半年后以这个版本为起点,全面升级自己的网站到4.0。那个时候是我的网站的黄金时间。
高中在各个BBS认识了不少人,一些是现在的好友。可惜,最近一年多来和他们联系已经不多了。高中毕业的暑假除了电脑和漫画(当时我看漫画的时候还被我爸妈笑,说都大学生了还看漫画,像一个小孩子一样)以外,还写了几篇小文章。然后用了半年时间不断审查不断推敲,继续编写,在寒假刚开始的时候完成了。两篇关于数学的,一篇关于计算机的。计算机的就是一直打算升级的《小型封闭生态系统模拟》。后来被邀请参加第四届上海国际青少年科技展,但是于老通知晚了,没来得及去参加学校组织的一个什么什么会,就被认为自动放弃。也因为这个东西,当时于老说会帮我跟老师说的,因为当时考试于老说会帮我申请缓考。结果他老人家果然老,都忘了,导致我根本没复习,直接挂掉。二等奖学金就这么没了。保研和直研的机会也就没了。于是后来干脆热心“课外”事业,比如程序比如网站比如团学联,学习只学感兴趣的,因而成绩也就一直一般。大一的暑假我也忘了是怎么过的了。写了长篇《二重身·机关·镜·之馆》的前三分之一,但是后来思路枯竭,虽然总体已经想好,但是细节的揣摩一直搞不定,就一直拖到现在。此外7月的时候用VB作了一个扫雷出来。我写游戏的习惯,是1.0的时候总是把想要模仿的游戏都作出来,然后从2.0开始往上面加内容。扫雷2.0(全名是“乐趣扫雷II”)中有7种机关,而且碰到雷也不一定就挂,会有一场战斗。战斗的形式就是高中做的剪刀石头布,不过是简单版(原来的版本图像等东西都更好)。然后,那个暑假我要出《新生手册》,还打算在一开学的时候就印出《悟理》的。前者在各位部长左推右推下拖到了八月下完工,因而后者就没做。休息没多久就开始军训了。军训的时候出了一张很有专业水准的《军训简报》,在传播学院等专业艺术类院系之后拿了第四名,是我们那次军训唯一能拿上台面的成绩。不过,最后四天做简报导致军训没有坚持完,成了很不情愿的“逃兵”。做简报的时候还研究了WORD的高级技巧,后来做小抄的时候很有用——又黑暗了。还练习了PHOTOSHOP的不少技巧。我其实一直感觉我们的副营长和我高中第一次军训的教官是同一个人,而隔壁的一个教官则很像我高中第二次军训的教官。我们高中在高一开学和高三快开学的时候都进行了军训。第二次军训主要练的就是军体拳,因而理论上我对军体拳还是很熟悉的。高中的时候有一位室友,我叫他“师傅”的,小时候学过武功,身体看上去很弱其实暴强。他就是我们学生自主管理委员会的主席。第二次军训的时候他就很活跃,似乎一直有和教官打一场的冲动的。大二的寒假其实很轻松,继续维护网站的日常事物,然后在各个BBS上拉文章(都是事先询问过作者的,这也是宣传的一种方法。作者一般都同意的,但一般并不知道我的站)。同时又在构思两篇论文。其实其中一篇是以大一时的一篇文章为基础的,那篇是一个系列的基础,而这次这篇是以其为基础写的,不过已经在数学上增加了动力学部分。另一篇小文则是关于数列的预测。会写这个其实和小龙一次跟我说起过的图片修复中的插值算法有关。我的方法其实还不够完善,后来做数模的时候就感觉到了。不过那个模型本身可以用在一些系统上,用来判断简单的连续性和进行简单的预测。当时就有人对我手,我可以把我的站做为一个课题去参加大夏杯的,但是我不想一直靠过去的东西。如果把这个站放上来,应该当时就被拉去校网络组了。我老部长是想让我去的,但是我不高兴去。她都帮我打点好了。其实我老部长很器重我,因为大一的时候由于我对排版啊网页啊PPT啊等电脑方面的东西很精通,所以是她的主要助手,许多工作都是我一手包办的,连选另一个部长的事情也是我和她一起决定的。虽然后来我成了副的。可惜啊,大二本来的一腔工作热情在两个打击下彻底消失。当时还打算过辞职呢,还去青物兼职。大二的暑假以KARA OK开始。7月基本都在忙助教的事,而八月则特别空。我也忘了八月我都在干什么,应该是一直在下电影看。不过提前一个礼拜去了学校,给JASK补习数物,然后和CLUBACAS去看了BEYOND告别演唱会,接了MAYWIN的网站工作。这样就进到了大三。8月放假的时候还做了不少计算,写了《变速运动的类LORENTZ变换》。其实我到现在还没用正规方法来验证过我的这篇论文。它没用GR的数学,而是以GR的基本假设出发做的计算。应该没大错,我这么认为。
大三的寒假也很空。我也忘了我都干了些什么。从那时开始我基本上网的时候BBS也不逛了(以前两年是很少逛),QQ和MSN也以隐身为主(过去基本都是和聊得热火朝天的),网站也不更新了。事实上,刚开始达到预期的目标,开始蓬勃发展,就被我停了。就和《INSIGHT》一样,刚达到预期目标就被我停了。
然后就是这个假期了。7月一直看数学,电脑几乎不碰,游戏也几乎不玩。算是最乖的一个假期了。然后学校回来以后和SLOW出去(和去年同一天)了一次,然后开始休息了几天,最后开始写游戏。到现在十天了。用在客户要的游戏上的时间其实差不多仅仅是1天半。然后自己看电影啊,看书啊,玩自己的游戏啊,就搞了十天。
差不多可以把大学的假期和中学假期看成一个分水岭。这两个阶段的假期差距很大。
现在也越来越没过去放假的那种闲情逸致了。虽然也很清闲,但是主要还是有各种事情要去做。不管是自愿的还是强迫的。
明年呢?应该还有假期吧。研究生的假期不知道和本科生又有多大变化呢?

Posted August 17, 2006 by LostAbaddon in 世界叶

日志0076——好混沌   Leave a comment

昨天基本把所有应该做的关于游戏方面的东西都做完了。
自己的游戏开发到2.43版了。修复了几个BUG,其中一个BUG相当严重,在花了一个上午写了差不多等于原代码长的调试侦测代码以后总算找到了问题的关键——一个非常白痴的错误。这个时候的版本是2.1。修订号我自己都忘了。随后,开始根据元帅提供的意见进行再开发。
把本来12套图6组颜色拓展为现在的24套图4组颜色,因而游戏世界从12*12拓展为现在的16*12。此外,为了以后再开发方便,大部分的布局设置都由INITIALIZE部分完成而不是DESIGN时完成。如果把所有的LAYOUT信息都这么做的话,其实可以考虑做一个STYLE化,也就是提供高级SKIN功能。不过对于一个连连看游戏来说似乎不是很需要。不过这倒提醒了我:以后做SOFTWARE开发的时候应该在最初DESIGN的时候就考虑必要的SKIN功能。
这个时候的版本是2.3。
然后,开始提供新的机关陷阱。增加了“借尸还魂鬼”和“幽灵炸弹”两大机关。这两个机关比当初的“魔王”还要恶心。特别是后者“幽灵炸弹”,如果你的反应速度和眼睛对图片的识别能力不够高的话,这种炸弹能让你陷入无休止的郁闷中——注意,是无休止。幽灵炸弹爆炸所产生的复活僵尸的数量差不多等于你消灭掉的敌人的数量,然后每消灭一对敌人时间会延长。里面的奖品非常丰富,足够你有充足的时间撑到幽灵炸弹下一次的爆炸。于是,你会感觉屏幕上的敌人数量在做锯齿波波动,从而彻底崩溃你的心理。
附带一句:越到后期,幽灵炸弹的威力就越恐怖,因为到时候能用来复活的尸体比较多。这让我想到DIABLO中的男巫了。
开发完“借尸还魂鬼”和“幽灵炸弹”,还打算开发“迷魂香”的时候我想,还是先测试一下吧。于是,又开始了漫长的测试调试过程。这两个程序对过去的每一步都有严格要求,因而不得不把“世界缺口”、“乾坤大挪移”和尤其是“癫痫者”的部分都做了彻查。此外还不停地监视CLICK事件的运行情况,结果发现我所认为的“最大”的错误根本就是由于在调试第一个错误的时候调试程序的一个不小心所引起的。深夜两点的时候我都想冲出去大吼了。
最后,完全确定以后,就把“魔王”的魔力增强了。现在一个魔王的出项将伴随大量的鬼和炸弹。配合原来的机关,估计到了最后打BOSS的时候大家会感到很疯狂的。我已经有经验了:好不容干掉了BOSS,结果它百死不僵,又通过借尸还魂复活了。我在旁边吐血。然后,好不容易干到只有最后一个了,结果一个炸弹爆炸,全活了。我的天啊~~~~
感觉有必要把幽灵炸弹的威力降低,因为这个东西再配合上“迷魂香”,估计没人受得了。想想,在最后打BOSS的时候,基本你就处于被蹂躏的状态。鼠标将跟你捣乱,全屏幕的图片都开始走动,你刚消灭一个就复活一个,你正在郁闷的时候一帮子僵尸被炸醒了。等你好不容易在所有的冰块和石头中间穿梭杀得差不多的时候,BOSS时刻又到了……
 
好了好了,把心情从游戏中释放出来,谈点别的。
昨天也不是一天都在搞游戏。抽空想了一点比较玄的东西。
比如说吧,还是EM和引力波的问题。怎么想都觉得它们在时空中没道理只往前运动。既然可以往后运动,那么问题就出来了。
首先吧,看了FIELD FORMULA好半天,总感觉方程本身并不禁止引力波和EM波往过去传递。事实上,不管是哪个方程,是其微分形式还是积分形式,对时间来说都仅仅是用来判断一个世界叶上的“瞬间固定”了的物理作用。因而不管是哪个方程,其本身都没说波不能往过去传递。事实上,往过去传递的解和往未来传递的解都符合方程,都没错。因而,要么我们认为存在一个物理机制组织波往过去传播,要么未来的事物的确可以影响现在。我对后者比较有兴趣,便试着看看如果如此会怎么样。结果发现:很糟糕。如果未来可以影响现在,那么就单纯的EM问题来说,比如单电子对另一个电子的影响,不考虑量子作用。这样,对这“另一个电子”来说,实际上从看看来,应该存在两个电子对他的作用而不是我们大家都看到的“单电子”。这说明什么?这说明灾难。
我们慢慢来看:如果未来对现在有影响,而且影响方式,也就是其物理,和过去对现在的影响一样,那么在上面所举的单电子作用问题中,我们会得到一个伴随电子。我们让观测者电子保持相对参照系静止,世界线为L:r=r0,或者写成点的形式:(t,r0)。而作为源的电子的世界线为S:r=f(t),写成点的形式就是(t,f(t)),那么其伴随电子的世界线的点的形式就是(t+2f(t)-r0,f(t))。显然,这时观测电子的不同位置将看到不同的伴随电子。这显然不符合物理事实。
于是,就得到一个结论:未来不存在。
从我个人来说,这个结论又高心又不高心。高心的是未来不确定,没有宿命论,自己的未来自己掌握。不高心的是我以前都认为宇宙时空整体是稳态的,那么未来应该是已经确定的东西。
不过,并不是到这里就结束了,还要考虑“现在”。
未来不能影响现在,可以理解为未来不存在,或者说未来不确定。那么现在呢?现在能否影响过去呢?如果能的话,本来的过去并不受本来的现在的影响,因为本来的现在不存在。但是从现在来看,现在是存在的,那么势必会对现在的过去造成本来所没有的影响。因而世界线将发生改变。这里就有了两种观点:一,世界线是刚性的;二,过去也不存在。
世界线是刚性的这个结论很让人迷惑。难道其中的应力可以抗拒比如强核力这样的力吗?很难让人相信。那么,过去不存在?这更加不能让人相信了。不过,话要说回来,事实上没有人真的感受到了过去。或者说,并没有人真的和过去的物质接触过,除了光子等东西。我们只是在感受过去的影响。如果现在这个时刻过去以后,现在的过去光锥中的东西都塌缩成了虚无,那么一样不影响我们现在的感受,因为那些感受并不依赖于源头在现在的过去的状态。按照这种思路,那么我们的宇宙实际上仅仅是一片不停抖动而且充满皱纹的一直向着未来蠕动的世界叶。在其之前,没有任何东西。在其之后,也没有任何东西。或者,就是物理根本就是被囚禁在这世界叶上的,两片世界叶从不发生碰撞,也没有物理过程可以传递彼此。这个想法让人想到了PENROSE的《MEASURE THE SPACETIME: FROM QUARK TO BLACKHOLE》。
不过,这也并不是唯一的出路。很可能根本就存在一种机制阻止任何波向过去传递。
经验中最类似的,是HUYGENS原理,也就是“无后效”现象。不过它是建立在动态的波动方程的基础上。
和稳态宇宙模型一样,我们也假定时空是一个整体,那么如果要类比HUYGENS原理,我们就必须认为电磁整体构成了一种基于时空的标量场。这并不是不可以,EM中学过。然后,这个场在一个来自源头的“扰动”下,发出一列波。按照HUYGENS原理,这列波的传递方向指向外向,也就是背离源头的方向。在时空整体中这个方向就是未来,或者就是源头以前的过去。很容易联想到,这个源头就是BIG BANG。这么一来,在时空中类比POISSON方程得到了类似HUYGENS原理的“无后效”现象——对过去不影响现象。不过,这里波面是双曲型的而非球面的。这个方法可以说明为什么未来对现在没影响,为什么现在对过去没影响,因为我们所在的现在这个时空仅仅是一阵波。波前以前,一切平静,波尾以后,一切回归平静。这个平静表示了什么呢?不知道。应该是指一切都确定下来了吧。
想到这里,突然就觉得脑子开始混乱了。因为不管是哪种理解,是波列的,还是蠕动的丑陋世界叶,其实意思都差不多。但是这种图景给人的感觉实在不好,而且这种想法本身又给人很多漏洞的感觉。

Posted August 16, 2006 by LostAbaddon in 世界叶

游戏改版啦~~   Leave a comment

今天把客户要求的游戏和我自己的游戏都完成了。包括游戏说明在内都完成了。
客户要求的游戏(ZODIACCRAFT)的主体用了一个下午完成,然后用了一天的时间按照客户的要求修改,然后再用了一个晚上的时间把三个重要修改都完成了。而自己的游戏发展自ZODIACCRAFT,花了两天时间不停地听取大众的意见并修改。总体来说,这两个游戏的编写过程比我预料的顺利而且用的时间比我预料的少了一天。
下面是我的游戏的EXE提取地址和原代码提取地址:
EXE:http://pickup.mofile.com/6316309272816887
 
下面是我自己的“抖抖连连看”的主要代码。只有FRMMAIN的部分,USERCONTROL的不给了。不过一个FRMMAIN的CODE就要有54KB了,我自己想想都恐怖~~
下面是主要代码:
Private Sub TmrTime_Timer()
Dim T As Integer, I As Integer, J As Integer, K As Integer
Dim Total As Integer
Total = 0
For I = 0 To 143
    If ZodiacGrids(GetLocation(I)).Death = False And ZodiacGrids(GetLocation(I)).IsState = False Then Total = Total + 1
Next I
Dim TTT As Integer
LblLeft.Caption = "剩余人质数量:" & Trim(Str(Total)) & "人"
If IsOver Then Exit Sub
Pri = Pri + 1
FrozenTime = FrozenTime + 1
RockenTime = RockenTime + 1
HelpTime = HelpTime + 1
ChaoTime = ChaoTime + 1
CrazyTime = CrazyTime + 1
MadTime = MadTime + 1
BossTime = BossTime + 1
If LinkTime >= 0 Then LinkTime = LinkTime – 1
Randomize
If MadTime >= 25 + Rnd() * 20 Then
    T = Int(Rnd() * 5 + 1)
    If Boss > -1 And BossTime >= 0 Then
        T = Int(Total / 2)
    End If
    ReDim Maden(T)
    For I = 0 To T
        K = Rnd() * 144
        J = GetLocation(K)
        TTT = 0
        Do While ZodiacGrids(J).IsState = True Or ZodiacGrids(J).Death = True
            K = K + 1
            If K >= 144 Then K = 0
            J = GetLocation(K)
            If TTT = 144 Then Exit Do
            TTT = TTT + 1
        Loop
        If TTT < 144 Then
            ZodiacGrids(J).Maden
            Maden(I) = J
        End If
    Next I
    MadTime = -45 + Rnd() * 10 + Sqr(144 / Total) * 3
    If Boss > -1 And BossTime >= 0 Then
        MadTime = MadTime * 3
        ZodiacGrids(Boss).AntiBosslize
        LblTips.Caption = "魔王降下了灾祸!" & ";  " & LblTips.Caption
        Boss = -1
        BossTime = 0
    End If
    LblTips.Caption = "有" & T + 1 & "人癫痫啦!!" & ";  " & LblTips.Caption
ElseIf MadTime = -1 And UBound(Maden) > 0 Then
    For I = 0 To UBound(Maden)
        If ZodiacGrids(Maden(I)).IsMad Then
            Crazy Maden(I)
            ZodiacGrids(Maden(I)).UnMaden
        End If
    Next I
    LblTips.Caption = "癫痫平息了…………" & ";  " & LblTips.Caption
ElseIf MadTime < -1 And UBound(Maden) > 0 Then
    If MadTime – Int(MadTime / 2) * 2 = 0 Then
        For I = 0 To UBound(Maden)
            If ZodiacGrids(Maden(I)).IsMad Then Crazy Maden(I)
        Next I
    End If
End If
If CrazyTime >= 40 + Rnd() * 9 Then
    T = Int(Rnd() * 4 + 1)
    ReDim Crazyen(T)
    For I = 0 To T
        J = GetLocation(Rnd() * 144)
        If ZodiacGrids(J).IsState = False Then
            ZodiacGrids(J).Crazyen
            Crazyen(I) = J
        End If
    Next I
    CrazyTime = -20 + Rnd() * 11
    LblTips.Caption = "世界出现了" & T + 1 & "个破坏缺口!" & ";  " & LblTips.Caption
ElseIf CrazyTime = -1 Then
    For I = 0 To UBound(Crazyen)
        If ZodiacGrids(Crazyen(I)).IsCrazy Then ZodiacGrids(Crazyen(I)).UnCrazyen
    Next I
    LblTips.Caption = "世界缺口愈合了" & ";  " & LblTips.Caption
    CrazyTime = 0
End If
If ChaoTime >= 30 + Rnd() * 9 Then
    T = Int(Rnd() * 3 + 1)
    ReDim Chaoen(T)
    For I = 0 To T
        J = GetLocation(Rnd() * 144)
        If ZodiacGrids(J).IsState = False Then
            ZodiacGrids(J).Chaoen
            Chaoen(I) = J
        End If
    Next I
    ChaoTime = -25 + Rnd() * 11
    LblTips.Caption = "有" & T + 1 & "个人学会了乾坤大挪移!" & ";  " & LblTips.Caption
ElseIf ChaoTime = -1 Then
    For I = 0 To UBound(Chaoen)
        If ZodiacGrids(Chaoen(I)).IsChao Then ZodiacGrids(Chaoen(I)).UnChaoen
    Next I
    LblTips.Caption = "会乾坤大挪移的人走掉了……" & ";  " & LblTips.Caption
    ChaoTime = 0
End If
If HelpTime >= 30 + Rnd() * 13 Then
    T = Int(Rnd() * 2 + 1)
    ReDim Helpen(T)
    For I = 0 To T
        J = GetLocation(Rnd() * 144)
        If ZodiacGrids(J).IsState = False Then
            ZodiacGrids(J).Helpen
            Helpen(I) = J
        End If
    Next I
    HelpTime = -25 + Rnd() * 7
    LblTips.Caption = "有" & T + 1 & "个人愿意为你提供帮助!" & ";  " & LblTips.Caption
ElseIf HelpTime = -1 Then
    For I = 0 To UBound(Helpen)
        If ZodiacGrids(Helpen(I)).IsHelp Then ZodiacGrids(Helpen(I)).UnHelpen
    Next I
    LblTips.Caption = "帮助你的人走掉了……" & ";  " & LblTips.Caption
    HelpTime = 0
End If
If FrozenTime >= 12 + Rnd() * 5 Then
    T = Int(Rnd() * 6 + 1)
    ReDim Frozen(T)
    For I = 0 To T
        J = GetLocation(Rnd() * 144)
        If ZodiacGrids(J).IsState = False Then
            ZodiacGrids(J).Froze
            Frozen(I) = J
        End If
    Next I
    FrozenTime = -15 + Rnd() * 7
    LblTips.Caption = "有" & T + 1 & "个人被冰封啦~~" & ";  " & LblTips.Caption
ElseIf FrozenTime = -1 Then
    For I = 0 To UBound(Frozen)
        ZodiacGrids(Frozen(I)).UnFroze
    Next I
    LblTips.Caption = "被冰封的人都溶化啦~~" & ";  " & LblTips.Caption
    FrozenTime = 0
End If
If RockenTime >= 15 + Rnd() * 9 Then
    T = Int(Rnd() * 6 + 1)
    ReDim Rocken(T)
    For I = 0 To T
        J = GetLocation(Rnd() * 144)
        If ZodiacGrids(J).IsState = False Then
            ZodiacGrids(J).Rock
            Rocken(I) = J
        End If
    Next I
    RockenTime = -30 – 5 + Rnd() * 11
    LblTips.Caption = "有" & T + 1 & "个人被石化啦~~" & ";  " & LblTips.Caption
ElseIf RockenTime = -1 Then
    For I = 0 To UBound(Rocken)
        ZodiacGrids(Rocken(I)).UnRock
    Next I
    LblTips.Caption = "被石化的人都融化啦~~" & ";  " & LblTips.Caption
    RockenTime = 0
End If
If Pri > 15 Then
    If Rnd() > 0.8 Then
        Pri = -10
        K = Rnd() * 144
        If K = 144 Then K = 143
        J = GetLocation(K)
        TTT = 0
        Do While ZodiacGrids(J).IsState = True Or ZodiacGrids(J).Death = True
            K = K + 1
            If K = 144 Then K = 0
            J = GetLocation(K)
            If TTT = 144 Then Exit Do
            TTT = TTT + 1
        Loop
        If TTT < 144 Then
            Loc = J
            If ZodiacGrids(Loc).IsState = False Then
                ZodiacGrids(Loc).Price
                LblTips.Caption = "大奖出现了!" & ";  " & LblTips.Caption
                ZodiacShine.Top = ZodiacGrids(Loc).Top – 250
                ZodiacShine.Left = ZodiacGrids(Loc).Left – 250
                ZodiacShine.Host = Loc
                ZodiacShine.Show Style, ZodiacGrids(Loc).Zodiac
                ZodiacShine.Visible = True
            Else
                Pri = 0
            End If
        End If
    End If
ElseIf Pri = -1 Then
    ZodiacGrids(Loc).DisPrice
    LblTips.Caption = "大奖消失了!" & ";  " & LblTips.Caption
    ZodiacShine.Visible = False
    ZodiacShine.Hide
End If
If Total <= 30 And Boss = -1 And BossTime > 60 Then
    BossTime = -5
    K = Rnd() * 144
    If K = 144 Then K = 143
    J = GetLocation(K)
    TTT = 0
    Do While ZodiacGrids(J).IsState = True Or ZodiacGrids(J).Death = True
        K = K + 1
        If K = 144 Then K = 0
        J = GetLocation(K)
        If TTT = 144 Then Exit Do
        TTT = TTT + 1
    Loop
    If TTT < 144 Then
        Boss = J
        ZodiacGrids(Loc).Bosslize
        LblTips.Caption = "魔王准备出现了!" & ";  " & LblTips.Caption
    End If
End If
If BossTime = -1 And Boss > -1 Then
    ZodiacGrids(Loc).AntiBosslize
    LblTips.Caption = "魔王出现了!" & ";  " & LblTips.Caption
    For I = 1 To 50
        Me.Top = (Screen.Height – Me.Height) / 2 + Rnd() * 200 – 100
        Me.Left = (Screen.Width – Me.Width) / 2 + Rnd() * 200 – 100
        For J = 1 To 200
            J = J
        Next J
        DoEvents
    Next I
    Me.Top = (Screen.Height – Me.Height) / 2
    Me.Left = (Screen.Width – Me.Width) / 2
    Score = Score / 2 – 10
    LeftTime = LeftTime / 1.2 – 2
    TxtScore.Text = Score
    For I = 0 To UBound(Maden)
        ZodiacGrids(Maden(I)).UnMaden
    Next I
    MadTime = 100
    For I = 0 To UBound(Rocken)
        ZodiacGrids(Rocken(I)).UnRock
    Next I
    RockenTime = 100
    For I = 0 To UBound(Frozen)
        ZodiacGrids(Frozen(I)).UnFroze
    Next I
    FrozenTime = 100
    IBnChao_Click
End If
LeftTime = LeftTime – 1
LblTime.Caption = "游戏剩余时间:" & Str(LeftTime) & "秒"
If LeftTime = 0 Then
    MsgBox "时间已用完,可惜您还没有完结战斗……", vbOKOnly
    LblTips.Caption = "时间已用尽,扣20分!" & ";  " & LblTips.Caption
    Score = Score – 20
    TxtScore.Text = Score
    TmrTime.Enabled = False
    IsOver = True
    If Score > Val(TxtMax.Text) Then TxtMax.Text = Score
    TakeRange
End If
End Sub

Private Sub ZodiacGrids_Click(Index As Integer)
TmrTime.Enabled = False
Dim Total As Integer
Dim T As Integer, I As Integer
If CanGo = False Then TmrTime.Enabled = True: Exit Sub
If IsOver Then TmrTime.Enabled = True: Exit Sub
If ZodiacGrids(Index).Death Then
    If Not PriseTime Then TmrTime.Enabled = True
    If ZodiacShine.Host = Index Then
        ZodiacShine.Visible = False
        ZodiacShine.Hide
    End If
    Exit Sub
End If
If ZodiacGrids(Index).IsFrozen Then
    LblInfo.Caption = "冰封的人无法行动!"
    TmrTime.Enabled = True
    Exit Sub
End If
If ZodiacGrids(Index).IsRocken Then
    LblInfo.Caption = "石化的人无法行动!"
    TmrTime.Enabled = True
    Exit Sub
End If
If LastOne = -1 Then
    LastOne = Index
    ZodiacGrids(Index).Clicked
ElseIf LastOne = Index Then
    LastOne = -1
    ZodiacGrids(Index).Clicked
Else
    ZodiacGrids(LastOne).Clicked
    If CanCatch(LastOne, Index) Then
        If HasLine(LastOne, Index) Then
            If Cartoon = 1 Then
                ShowPath
            End If
            ZodiacGrids(LastOne).Die
            ZodiacGrids(Index).Die
            Score = Score + 1
            T = Gifts(Index)
            If LinkTime > 0 Then
                LX = LX + 1
                LeftTime = LeftTime + 1
                Score = Score + LX
                LblInfo.Caption = "旋风连击,加" & LX & "分!"
                If T > 0 Then
                    LX = LX + 1
                    Score = Score + T * LX
                    LblInfo.Caption = "同色图案,奖" & (T * LX) & "分"
                End If
            Else
                If T > 0 Then
                    LX = LX + 1
                    Score = Score + T * LX
                    LblInfo.Caption = "同色图案,奖" & (T * LX) & "分"
                Else
                    LX = 0
                End If
            End If
            LinkTime = 3
            LeftTime = LeftTime + 1
            If (LastOne = Loc Or Index = Loc) And Pri < 0 Then
                ZodiacGrids(Loc).DisPrice
                Pri = 1
                Score = Score + 10
                LeftTime = LeftTime + 5
                LblTips.Caption = "采得大奖,奖励10分!" & ";  " & LblTips.Caption
                ZodiacShine.Visible = False
                ZodiacShine.Hide
            End If
            If PriseTime = 0 Then
                If ZodiacGrids(Index).IsHelp Then
                    Score = Score + 6
                    PriseTime = PriseTime + 1
                    IBnHelp_Click
                    PriseTime = PriseTime – 1
                    LblTips.Caption = "有人帮助你了!" & ";  " & LblTips.Caption
                    ZodiacGrids(Index).UnHelpen
                    ZodiacShine.Hide
                End If
                If ZodiacGrids(Index).IsChao Then
                    Score = Score + 5
                    IBnChao_Click
                    LblTips.Caption = "有人使用了乾坤大挪移!" & ";  " & LblTips.Caption
                    ZodiacGrids(Index).UnChaoen
                End If
                If ZodiacGrids(Index).IsCrazy Then
                    AllChao
                    LblTips.Caption = "一个世界缺口被引发了爆炸!" & ";  " & LblTips.Caption
                    ZodiacGrids(Index).UnCrazyen
                End If
                If ZodiacGrids(Index).IsMad Then
                    ZodiacGrids(Index).UnMaden
                    Score = Score + 2
                    LblTips.Caption = "治愈癫痫,得2分!" & ";  " & LblTips.Caption
                End If
                If ZodiacGrids(Index).IsBoss Then
                    Boss = -1
                    BossTime = 0
                    ZodiacGrids(Index).AntiBosslize
                    LblTips.Caption = "魔王被赶走了!!" & ";  " & LblTips.Caption
                    LeftTime = LeftTime + 5
                End If
                If LastOne > -1 Then
                    If ZodiacGrids(LastOne).IsMad Then
                        ZodiacGrids(LastOne).UnMaden
                        Score = Score + 2
                        LblTips.Caption = "治愈癫痫,得2分!" & ";  " & LblTips.Caption
                    End If
                    If ZodiacGrids(LastOne).IsBoss Then
                        Boss = -1
                        BossTime = 0
                        ZodiacGrids(LastOne).AntiBosslize
                        LblTips.Caption = "魔王被赶走了!!" & ";  " & LblTips.Caption
                        LeftTime = LeftTime + 5
                    End If
                End If
            End If
            LastOne = -1
        Else
            LastOne = Index
            ZodiacGrids(Index).Clicked
        End If
    Else
        LastOne = Index
        ZodiacGrids(Index).Clicked
    End If
    TxtScore.Text = Score
    LblTime.Caption = "游戏剩余时间:" & Str(LeftTime) & "秒"
    For I = 0 To 143
        If ZodiacGrids(GetLocation(I)).Death = False Then Total = Total + 1
    Next I
    If Total = 0 Then
        TmrTime.Enabled = False
        IsOver = True
        Score = Score + Int(LeftTime / 60) * 10
        TxtScore.Text = Score
        If Score > Val(TxtMax.Text) Then TxtMax.Text = Score
        LblTips.Caption = "战斗结束了!所有的人质都已被救出!" & "你这次的战斗得分为:" & Score & "分;  " & LblTips.Caption
        TakeRange
    Else
        If HasChance = False Then IBnChao_Click
    End If
End If
If PriseTime = 0 Then TmrTime.Enabled = True
End Sub

Posted August 11, 2006 by LostAbaddon in 赛伯铁客