
2008年9月3日

在线华容道 - 游戏发芽网
游戏特点:
* 界面古朴典雅
* 50多种开局(横刀立马、守口如瓶、层层设防等…)
* 操作简单、可回退
* 过关结果可动态回放
最大的优点就是最后一条,过关结果可回放,呵呵。
一般讨论华容道游戏的时候大家描述方法不通,结果很混乱,但是如果能够看到整个解题过程就不会有这个问题了。
你可以到打开下面两个结果试试看:
横刀立马81步解法
小燕出巢137步解法
华容道游戏简介(以后写个全资料篇):
你知道智力游戏界的三大不可思议吗?它指的是中国的“华容道”, 法国的“独立钻石”和匈牙利的“魔方”。
华容道,古老的中国游戏,以其变化多端、百玩不厌的特点与七巧板、九连环合称“中国的难题”。
华容道游戏取自著名的三国故事,曹操在赤壁大战中被刘备和孙权的“苦肉计”、“火烧连营”打败,被迫退逃到华容道,又遇上诸葛亮的伏兵,关羽为了报
答曹操对他的恩情,明逼实让,终于帮助曹操逃出了华容道。游戏就是依照“曹瞒兵败走华容,正与关公狭路逢。只为当初恩义重,放开金锁走蛟龙”这一故事情
节。
说明与规则:
1. “华容道”有一个带二十个小方格的棋盘,代表华容道。棋盘下方有一个两方格边长的出口,是供曹操逃走的。
2. 棋盘上共摆有十个大小不一样的棋子,它们分别代表曹操、张飞、赵云、马超、黄忠和关羽,还有四个卒。
3. 通过移动各个棋子,不允许跨越棋子,帮助曹操从初始位置移到棋盘最下方中部,从出口逃走。
4. 一个棋子的多次连续移动只计一次移动次数
“华容道”有几十种布阵方法,如“横刀立马
”、“近在咫尺”、“过五关”、“水泄不通”、“小燕出巢”等等玩法。棋盘上仅有两个小方格空着,玩法就是通过这两个空格移动棋子,用最少的步数把曹操移
出华容道。这个玩具引起过许多人的兴趣,大家都力图把移动的步数减到最少。
大多数在100步以内搞定都是很困难的,最简单的是第44关(iPhone关卡1)。
这关我玩了两遍(动态回放记录),最快用了50步,感觉应该可以在40步左右搞定的。
呵呵,点击这里挑战一下不可思议的华容道吧。
欢迎任何意见和建议。
posted @
2008-09-03 20:27 尉迟方 阅读(134) |
评论 (0) |
编辑

2008年7月24日
作者:半瓶墨水 链接:http://www.2maomao.com/blog/code-fayaa-update-20080724/
接上篇:代码发芽网 - 代码高亮 - 添加了22个流行的vim配色主题
继续增强内功。
代码发芽网( http://www.fayaa.com/code/ )简介:
1. 无需插件支持blog代码高亮
2. 近百种编程语言,30多个流行的高亮主题
3. 稳定支持各种blog、论坛、邮箱
最新更新:
1. 界面更新:一改原来的混乱方案,采用更加清晰的表格、布局来帮助你更高效的完成代码高亮、收藏、评论等操作
2. 支持论坛:论坛中一般为了安全考虑采用BBcode,最近更新的功能(显示代码页点击”复制BBcode”)对Discuz!等论坛有非常棒的支持。
3. 点击复制:有不少网友试用的是HTML简单编辑器,提出需要简单的复制HTML代码的功能,现在提供的只需要点击一个链接即可完成。同样也提供了对BBcode和源代码的复制功能。
4. 搜索功能:提供了搜索所有代码标题的功能
5. 一些bug fix和边角功能的更新,使得生成的代码体积下降了50%!(据我实验,虽不算最优,可改进空间已经很小了)
BTW: 刚刚试了一下CSDN的blog,居然已经可以支持了,看来CSDN暗自在更新。
还是贴两个例子看看效果吧:
来个desert主题的:
01 //转到固定长度的十六进制字符串,不够则补0
02 function zero_fill_hex(num, digits) {
03 var s = num.toString(16);
04 while (s.length < digits)
05 s = "0" + s;
06 return s;
07 }
08
09 //妈的,怎么都没搜到怎么用javascript找出一个背景色的数值,只好自己解析
10 function rgb2hex(rgb) {
11 //nnd, Firefox / IE not the same, fxck
12 if (rgb.charAt(0) == '#')
13 return rgb;
14 var n = Number(rgb);
15 var ds = rgb.split(/\D+/);
16 var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]);
17 return "#" + zero_fill_hex(decimal, 6);
18 }
来个浅色背景的主题:
a { color:#0000CC; text-decoration:none; }
a:visited { color:#0000CC; text-decoration:none; }
a:hover { text-decoration:underline; }
a img { padding: 0px; margin: 0px auto; border-style:none; }
img { padding: 0px; margin: 0px auto; border-style:none; }
input:focus, select:focus, textarea:focus {
border: 1px solid #ff00ff;
background:#FFFFBB;
}
thead { background: #ccff99; }
input, textarea { border: 1px solid #c0c0c0; }
ul { padding:0px; margin:0px auto; list-style:none; }
.submit { background:#ccff99; font-size:x-large; }
.error_text, .errorlist { color:#F80098; }
.error { border: 3px solid red; }
.clear { clear:both; }
body {
font-family:"Verdana", "Tahoma", "Georgia", "Arial", "微软雅黑", "宋体";
padding: 0px;
margin:0px auto;
}
table, ul { font-family: "微软雅黑", "宋体"; }
form { padding-left:3px; }
最后来个卡通点儿的字体:
#from http://bbs.bccn.net/thread-224663-1-1.html
int GCD(int a, int b)
{
if(b == 0) return a;
else return GCD(b, a % b);
}
int LCM(int a, int b)
{
return a * b / GCD(a,b);
}
posted @
2008-07-24 10:23 尉迟方 阅读(229) |
评论 (5) |
编辑

2008年7月15日
许多朋友说代码发芽网
需要增强内功,呵呵,这两天在搞颜色主题。
对于没有什么颜色美感的人来说,用现成比自己从头做要好。
因为我最喜欢用vim,所以首先想到的就是流行的vim主题。
先从vim的网站上搞了22个最流行的主题(top downloads and top votes),包括desert / wombat / midnight2等等。
整个过程挺烦的,写了五六个python脚本才勉强搞定,这还是在有现成的vim2pygments脚本(不是直接转成css)的帮助下。
不说其中的艰难,随便打开一篇改改配色看看效果吧:http://www.fayaa.com/code/view/157/
下面贴几个例子,不同的字体和配色方案(这种高亮效果在RSS阅读器浏览时依然有效!
)
Courier New + desert 主题
Python代码
: Python生成Gravatar url的函数
01
def
gravatar_url
(
email
,
size
=
40
):
02
# import code for encoding urls and generating md5 hashes
03
import
urllib
,
hashlib
04
# Set parameter variables here
05
default
=
"http://www.fayaa.com/static/images/code/gravatar.gif"
06
# construct the url
07
url
=
"http://www.gravatar.com/avatar.php?"
08
url
+=
urllib
.
urlencode
({
09
'gravatar_id'
:
hashlib
.
md5
(
email
)
.
hexdigest
(),
10
'default'
:
default
,
11
'size'
:
str
(
size
)})
12
return
url
Comic + wombat 主题
Python代码
: Python生成Gravatar url的函数
01
def
gravatar_url
(
email
,
size
=
40
):
02
# import code for encoding urls and generating md5 hashes
03
import
urllib
,
hashlib
04
# Set parameter variables here
05
default
=
"http://www.fayaa.com/static/images/code/gravatar.gif"
06
# construct the url
07
url
=
"http://www.gravatar.com/avatar.php?"
08
url
+=
urllib
.
urlencode
({
09
'gravatar_id'
:
hashlib
.
md5
(
email
)
.
hexdigest
(),
10
'default'
:
default
,
11
'size'
:
str
(
size
)})
12
return
url
Consolas + pyte 主题(consolas 在安装了visual studio的机器上有)
Python代码
: Python生成Gravatar url的函数
01
def
gravatar_url
(
email
,
size
=
40
):
02
# import code for encoding urls and generating md5 hashes
03
import
urllib
,
hashlib
04
# Set parameter variables here
05
default
=
"http://www.fayaa.com/static/images/code/gravatar.gif"
06
# construct the url
07
url
=
"http://www.gravatar.com/avatar.php?"
08
url
+=
urllib
.
urlencode
({
09
'gravatar_id'
:
hashlib
.
md5
(
email
)
.
hexdigest
(),
10
'default'
:
default
,
11
'size'
:
str
(
size
)})
12
return
url
posted @
2008-07-15 00:53 尉迟方 阅读(226) |
评论 (0) |
编辑

2007年7月17日
由于写了输入法的blog,很多人问这个问题:如何某个窗口发送字符?
在MSDN上搜索VK_PACKET可得:
VK_PACKET E7
Used to pass Unicode characters as if they were keystrokes. If VK_PACKET is used with SendInput, then the Unicode character to be delivered should be placed into the lower 16 bits of the scan code. If a keyboard message is removed from the message queue and the virtual key is VK_PACKET, then the Unicode character will be the upper 16 bits of the lparam.
posted @
2007-07-17 11:56 尉迟方 阅读(255) |
评论 (0) |
编辑

2006年8月25日
(转载自己的技术文章)
作者:兔毛猫 链接:http://www.2maomao.com/blog/firefox-tips-for-intranet/
用Firefox在公司内部使用一般会面临两个问题:
1、公司内部站点多的情况下每次输入那么长,还容易出错,实在不爽啊
2、公司内部网络(比如sharepoint站点)通常需要用户名验证机制,firefox目前不知道为什么不支持这种透明验证,非要手工输密码,改了密码以后及其麻烦,而且每次打开都要多点击一次。
下面介绍一些方法来解决这两个问题,其中提到的插件请参考:我的firefox插件以及一些小技巧
首先对于第一个问题:
步骤一:收藏夹,也就是书签,把公司内部的站点加上书签,以后就方便打开了,如果不会使用的话参见firefox自带的帮助菜单内容
步骤二:虽然打开收藏夹比输入整个地址要快多了,但是如果收藏的站点多的话(50个以上),找起来还是比较麻烦,当然可以通过恰当的分类存放来解决这个问题,不过对于懒人来说,多动几下鼠标简直是不可饶恕!下面隆重推荐:书签快搜(myurlbar_a)插件。安装这个插件以后,当你在地址栏输入的时候它快速搜索收藏夹里面的内容,给出匹配的站点以供选择,只需要Ctrl+L可以定位到地址栏,敲上个关键的字母,然后上下选择即可。
步骤三:当站点更多的时候,你就会发现,输入“关键的字母”以后提示结果很多,常用的站点一般也就那几个,每天都要开开关关,麻烦。Firefox提供了书签工具栏(查看->工具栏->书签工具栏),然后只要你将常用的书签放到工具栏上面,一次点击就可以打开啦。快吧~~
步骤四:唉,懒人的懒,没有最懒,只有更懒。有时候手在键盘上,实在是懒得挪到鼠标上,也懒得去摸上下左右按键(太远了:(),这也是VIM编辑器为什么惹懒人喜爱的原因。啊,扯远了扯远了,firefox里面怎么能不动鼠标不动方向键就打开常用的站点呢?参见:我的firefox插件以及一些小技巧一文中提到的“关键字”
挖哈哈哈哈哈~这回你该满足了吧。。。
然后对于第二个问题:内部透明验证
步骤一:首先出场的是IETab插件,其直接在Firefox内部切换到IE内核的方式非常实用,必要时可以使用IE内核浏览,就不需要输入用户名密码了(透明验证)
步骤二:用IEtab浏览似乎很好用,但是对于懒人来说,打开以后再切换到IE内核,这个多余的打开动作简直就是犯罪!其实IETab已经提供了过滤器工具,打开”工具->IEtab选项”,可以看到“网址过滤”,鉴于内部站点通常都不以 www.开头,也不以.com/.net/.org/.cn结尾,添加如下过滤器:/^[^\.]+$/,注意,两边的斜杠也加上,别写反了。然后打开内部站点就会自动切换到IE内核啦。Yeah~IETab立功了,不给内部站点任何的机会,IETab灵魂附体…….
Update:这个过滤器更好一些:/^http:\/\/[^\.\/]+[\/$]/
PS:上面的部分技巧同时也适用于非公司内部站点
Tags:插件, firefox, IETab, 技巧
posted @
2006-08-25 12:59 尉迟方 阅读(483) |
评论 (3) |
编辑

2006年8月10日
问题可以简化,每一行的字符串可以看成一个值,问题简化为求解两个整型数组的连续序列问题。
初步搞定之:Windiff 原理初探, 采用动态规划算法找最优解,不考虑交叉情况。
Update1:
经实验证明,在文件非常长的时候此算法非常之慢。
比如10k个文件,这样就会有个10k x 10k的int数组,内存一次性耗掉有400M之多,计算量庞大无比到了难以承受的地步。
我监测了一下windiff,人家在100k大小的两个文件比较只用了一秒多,内存最多时不超过50M。
一定有更好的解法。
今天路上和朋友讨论一下,有以下几种思路:
1、贪心算法
2、贪心算法 + 部分动态规划
3、被比较对象每行的重复率很低,这个信息可能会有用。
Update2:
使用思路1的分析以及程序基本完成,效果显著,详细分析与程序流程图参见文章:Windiff 原理初探(续1)
程序运行结果对比:
我用C++在WindowsXP下实现这个程序,AMD2500+/512内存,Release版,删除printf输出(这里只算分析时间)以后,对两个12万行的文本做diff跑了10秒不到。
我试了一下WinMerge,不算其界面操作时间(即只算到分析结束,他后来死翘翘了),应该在5秒之内
不过,好像Windiff更快,一秒都不到,结果我打开一看,丫好像全错了:(,各位可以试试看,将1, 2, 3, 4, 5, 6, 7,
8每个数字一行然后重复这些行直到10万行,另一个文件用1, 2, 2, 4, 6, 6,
5每个数字一行然后重复到10万行,反正我机器VS2005的Windiff分析结果飞快,结果是这两个文件没有一行相同 :o ,汗一个
有没有更好的方法?上文里面提到的想法里面,想法2会优化结果,速度可能反而会慢一些,想法3应该是值得考虑的因素。
程序代码(估计有许多小bug):http://www.2maomao.com/blog/wp-content/uploads/mydiff.cpp.html
posted @
2006-08-10 10:56 尉迟方 阅读(1127) |
评论 (2) |
编辑

2006年5月25日
不知道什么原因,wordpress在bluehost.com上面的中文版始终不能显示中文。查了google,似乎有许多道友也一样始终只能用英文。
我查了一下,曾经有人因为bluehost.com上面的PHP函数设置问题在联系bluehost.com客服之后搞定了
很久没有联系客服了,大体是中国这边的客服态度一直让人来气,早已忘记还有客服可以请教
于是乎就在bluehost.com上面帖了一个问题:
Hey,
I am from China, I just made a blog on 2maomao.com by wordpress, but it seems doesn't work in Chinese language, but the same code works just fine on my local machine(I work on local machine first then upload).
wordpress is based on php+mysql, and the version on bluehost is higher than the requirement as I have checked. But it still don't work correctly on Chinese language.
wordpress use wp-config.php and zh_CN.mo to configure into Chinese language mode.
I know from here that bluehost have some limits on php which can cause problem when using wordpress: http://wordpress.org/support/topic/35294
Is my blog problem caused by php limits of bluehost? How can I get it work?
过了两天才收到回信:
I am sorry but we can not provide support for third party programs. This is a wordpress bug, I suggest you contact work press about help with their product.
Please be aware that we can not normally provide support for a 3rd party program, however I have seen this issue before with wordpress and it may help you to know this is a bug with their MAGIC1 and MAGIC2 variables in the gettext.php file. You are using a custom install of workpress so I can not say this will solve the issue for sure, but replacing the $MAGIC1 line with:
$MAGIC1 = 2500072158;
and the $MAGIC2 line with:
$MAGIC2 = 3725722773;
may solve this problem for you.
Thank you,
Spencer
BlueHost Support Team
意思是说他们对第三方程序无法提供支持然后建议更改gettext.php中两个MAGIC变量值
去看了一下源码,那段代码的注释中说MAGIC1和MAGIC2是因为PHP5的Bug而存在的,不管了,死马当活马医,做了更改:
$MAGIC1 = 2500072158;
$MAGIC2 = 3725722773;
然后更新了一下网站,居然神奇的搞定了。
从这件事情来看,Bluehost.com的客服还是不错的,随机发了表扬信:D
posted @
2006-05-25 14:58 尉迟方 阅读(412) |
评论 (0) |
编辑

2006年5月24日
随着流氓软件以及半流氓软件的增多,我发现IE的右键菜单越来越庞大,IE的启动越来越慢,右键菜单弹出也超级慢,极其不爽。
开始的时候我是一个个找程序,然后找到其设置,然后把右键菜单选项去除,可以有许多东西,比如Adobe,根本找不到这个选项。
然后我打开注册表,找到Local User下面的IE项,删除右键菜单,Adobe同志好像有八条,删之。窃笑没多久,发现只要启动Adobe Reader,菜单又回来了,还有QQ、MSN、彩铃等等等等。不堪其扰。
最后终于发现了直接有效并且简单的解决方案:直接在IE中禁止Add ON.
IE->Tools->Internet Options->Programs->Manage Add ONs
然后一个个的选,一个个的Disable吧,然后重启IE
让我想起周星驰在大话西游里面的话:整条舌头伸出来了--我手起刀落--哗---整个世界清净了。
posted @
2006-05-24 18:27 尉迟方 阅读(886) |
评论 (1) |
编辑