Archive for August 2006
日志0082 Leave a comment
日志0081——即将回校 1 comment
一句经典的话 Leave a comment
日志0080——欢庆日志号80! 2 comments
实在没事,就上来乱写一气了。
今天最值得记录的,是我家鱼缸里的小母鱼生小鱼了。大概一共养了50条小鱼,像撒水车一样“拉”了出来(这个动词是我妈选的……)。其中超过一半的鱼没活过一分钟。
现场的情况是:她一边生小鱼一边在鱼缸里游,然后会时不时地“邂逅”自己刚养出来的小鱼,便小嘴一张,吞了。
对,吞了。
小鱼被它妈妈很和蔼可亲的吃掉了。
感觉仿佛在吃鱼子酱一样。
我妈看了吓了一跳,立刻把母鱼捞到了一旁的临时鱼缸里面。然后,过了几分钟,又不得不转移到第三个鱼缸,依此类推。
然后,我爸爸妈妈就开始盯着小鱼看了,正开心着,我爸问了一个很有技术含量的问题:母鱼呢?
厄,消失了……
立刻开始翻箱倒柜地找。
结果,我家小狗立下奇功——在沙发边找到了母鱼……
立刻把小狗拎了起来扔到一边,不然两条公的就要做GAY了。
经过讨论,一致认为这母的是产后忧郁思念老公所以奋力逃出这临时鱼缸前往那大鱼缸的。
我家小狗这时双眼泪汪汪的,想来它晚饭本就没吃饱,也怪可怜的。
为了避免她再徇情自杀,我们就把她放回到了大鱼缸里。
今天一天其实有点好吃懒做的感觉。不过也不能这么说,昨天晚上思考一个微分方程,设计了一个“双曲坐标系”,用来解决波动方程正好。早上建立了这个坐标系下LAPLACE算符、LORENTZ算符的形式,然后尝试解它的通解的时候,发现其角变量部分的方程很诡异,径向部分倒很容易解。想了一下午如何解它的角变量部分,后来论坛上的朋友用MATHSMATICA计算得到了解析解,是LEGENDRE函数表示的。于是把方程变形到了类似连带LEGENDRE方程的形式,用级数法解了这个方程。答案只含有COS的正数次幂,收敛半径大于1,很合理。于是双曲坐标下的波动方程就可以这么解了。
双曲坐标有一个特点,就是在一个平面内含盖了实数部分和虚数部分,两者无法往来。这其实正好可以用来处理时空中的问题:光锥是类空和类时的分界面,无法逾越。它的另一个性质,就是其径向矢基和角向矢基并不正交(几何度量平直度规下),但是在类MINKOVOSKI度量下是正交的。典型的伪欧几何坐标系。
日照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。不过不少问题讨论到一般就停了。分析了一下,好象都是我把话题给停掉了。于是用力回忆了一下那段时间我在干什么,发现如果排除有段时间网络有问题的话,那么剩下的时候就是我出去忙别的事情了。过去不像现在这么闲,总有不少有的没的事情过来骚扰我的生活,把我原本要去骚扰的东西给保护住了。一些人后来还很生气的说我为什么不回信了,为什么消失了,为什么不干了。我也感觉颇为无奈。
总共有三次,由于外事的干扰使得一些事情停掉了,然后造成了很恶劣的影响。我也不想的,奈何事与愿违。第二次的那队人马,我事先说过我可能会有段时间不在的,但是那段时间真不是时候,恐怕他们现在看了我就想杀我了。
嗨~~~~
日志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也加了进来,市场调查做得不错。
游戏最新版又出炉鸟~~ Leave a comment
日志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天半。然后自己看电影啊,看书啊,玩自己的游戏啊,就搞了十天。
差不多可以把大学的假期和中学假期看成一个分水岭。这两个阶段的假期差距很大。
现在也越来越没过去放假的那种闲情逸致了。虽然也很清闲,但是主要还是有各种事情要去做。不管是自愿的还是强迫的。
明年呢?应该还有假期吧。研究生的假期不知道和本科生又有多大变化呢?
日志0076——好混沌 Leave a comment
游戏改版啦~~ Leave a comment
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)) & "人"
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