很想做一个网站 3.0

这次闲话少说,我很想做的网站是一个平台,一个网页游戏平台

目前的各大网页游戏基本上都是基于flash的,在跨平台上做得虽然不是很好,但是也比目前各个良莠不齐的浏览器之间的兼容性要好的多。

但是,HTML5出现了。它能提供更好的性能、更好的跨平台兼容性和更多的功能。

这给了我一个想法:能不能做一个基于HTML5的网页游戏平台呢

这只是一个平台,没有任何游戏方面的功能。我们甚至也可以用这个平台做出一个网页聊天程序,当然就有点大材小用了。

这个平台有什么用呢?

  1. 提供客户端直接的连接、传送信息的功能;
  2. 提供游戏的客户端渲染和服务器之间的同步功能;
  3. 提供分数记录到服务器或HTML5本地数据库的功能;
  4. 提供更轻松的2d、3d图形的实现方法;
  5. 开放游戏的api,可以更轻松的做出非网页版的可执行客户端。

如果这个真的可以做出来,我想flash马上就会out了。我想恐怕已经有人开始做这个东西了。

总结一下最近

又将近一个月没更新了,忙啊忙啊。

这几天太没流了,几乎把所有能做的事都给做了。直到昨天做物理题才发现我已然完全忘掉了。当年考三校我物理可是78分啊,半年不到就虽成这样了。岁月不饶人啊!想起放在角落里的离散数学,我也就能记得目录了。这到大学不是纯找虐嘛!虽然说人生能有几回醉,像现在这样完全没有压力的日子这辈子都估计没有了,但是这样完全没流的日子也让我很没安全感啊。

能不能多看看书少打打牌,能不能多编编程少聊聊天,能不能多弹弹琴少听听歌,看来我是喜欢上那个避难的地方了。。

当别人跟我诉苦说和朋友闹别扭的时候,我可以“自豪”的跟他说这种事我一年以前就遇到过了,然后心里很不是滋味。

失去的就再也找不回来了,珍惜吧!

一周以后我就要去上海了。14个小时的硬座是够难熬的,zzm最好能搞到卧铺。。祝高考的同学们都能考上比北航好的学校,这样你们就能梦寐以求的鄙视我了。希望和我一起去上海的同学一帆风顺!在家宅着的同学就好好休息吧!

扫雷的概率问题

貌似很久没更新了,搞得google小蜘蛛们都不来了。

最近一直在想这个问题。寒假的时候看《编程之美》里的一道题:在windows里的扫雷里添加一个功能,按一个按钮可以把所有未打开的格子是雷的概率表示出来。

前几天突然想起了了这个问题,于是就开始想。。

显然深搜可以解决这个问题。把所有可以确定概率的格子(即所有已经打开的格子周围的格子)挑出来排成行,从第一个开始,只有0和1两种可能,同时兼顾已经打开的格子显示的周围雷数和剩余雷数,然后继续第二个格子。。直到某个格子不可能填上数,那么就回溯;或者到了最后一个格子,把每个格子的数据添加到一个记录中(一个分子数组一个分母数组,如果是1就把两个都+1,是零就只加分母),直到全部遍历完毕,两个数组中每一对数之比就是这个格子是雷的概率。耗时上,显然不会是最快的,但是人类玩的扫雷还是可以秒杀的,非人类玩的扫雷(比如1k*1k的格子数)还是留给非人类去解决吧。

但是还有没有别的方法呢?我一开始想到的是解方程组。

把所有可以确定概率的格子设成一个未知数,表示这个格子是雷的概率。然后通过打开的格子显示的周围雷数确定方程,然后解这个方程组。如果已确定的格子区域边缘都是直的(没有角),那么这个方程组显然可以解。而且和上面的那种方法所得结果相同。

但是如果已确定的格子区域是一个矩形,也就是说边缘左右已确定的格子数要小于未打开的格子数时,就会出现方程数量小于未知数数量了。

但是扫雷中会有等概率的格子。所以可以把所有在方程组中同时出现或不见的未知数当做同一个未知数,因为它们是等概率的。这样方程数量就可能等于未知数数量了。这样就可以解决类似这种的情况了:

(-表示未打开的雷,数字表示已打开的雷)

---

-2-

---

但是譬如这种情况还是解决不了:

----

-11-

-11-

----

还有我们可以把一定是雷和一定不是雷的格子先挑出来,这样也能减少未知数数量。还有由于方程右边的数字只可能是整数,方程左边的未知数只可能在[0,1]之间,这样也可以确定一些一定或一定不是雷的格子。

但是上面那种情况还是解决不了。

怎么办呢。。。。。我想了快一个星期了。

其实既然这两种方法所得结果一样,可以把这两种方法结合一下。第二种方法中方程数量为i,未知数数量为j,把前j-i个未知数用第一种方法进行遍历,然后带入后再解方程组,应该也可以解出这个问题。效率上要比第一种要高一些。

但是应该还是有纯数学的解决方法的。。我没辙了,还是等待牛人来解决吧。。