tcl/tk の勉強 「箱入り娘」

1999.2.26

日本の伝統遊具の一つ「箱入り娘」 (長方形の木の板を動かすパズル。) を tcl/tk で作ってみました。

嫁を城からだすこの遊具は、日本の昔からあるゲームの中で非常 に難解なものの一つであると思います。

こんな狭い中で空白を利用して『嫁』を一番下の真中へまで移動す ることが目的です。コマを交換する時のいくつかの法則を思考錯誤 するうえで理解する必要があります。

パターンは、番号が増えるにしたがって難しくなります。特に haiti6.pat から少し難しくなります。難しい場合には、いくつか の途中を保存しておいて、探索の枝を整理するのも良い方法だと思 います。保存した位置から、実行することができます。

いずれのパターンも答えを示しませんが、脱出可能なものです。パ ターンから答えを見付けるアルゴリズムは非常に難解です。あっと 驚くアルゴリズムが出来ましたら教えてください。もし答えを作る のなら、途中のいくつかの目標パターンを示すことで可能かもしれ ません。

プログラムは、tcl/tk を勉強するために作りました。個人が Free soft として楽しむのである限り再配布は自由ですが、この software を許可無く転載したり 引用したり特に改造したりするこ とを禁止します。改造が多く出回りますと、security 上好ましく ありません。許可を受けたい場合や、改造して公表する場合、また おもしろい問題が出ましたら御一報くださいませ。

このページへのリンクもおやめ下さい。たまたま見つけた人が 試す程度以上の公開を望んでいません。(あんまりおもしろくはあ りませんが、この ソフトウエアはゲームなので目的を誤れば、大 学のような教育機関からの発信としてふさわしくない可能性があり ます。この ページの目的はあくまでも tcl/tk 言語の勉強のため の具体例です。)

問題が解けない、動作しないなどの e-mail 等のご質問には、 お答えいたしかねます。作品自体は趣味の世界であり、本務とは一 切関係ありません。

hime.lzh (9.2KB) (Windows用、S-JIS)

Windows95, 98 で動かす場合には、tcl/tk の software が必 要です。tcl81b1.exe を install して動作確認しました。おちかくの ftp site で探し てください。http://www.scriptics.com/download/8.1.html/ が 本家です。

font がないという message があって動かない場合には、 hime.tcl の中の -font k24 とか - font k16の指定している部分 を削除すれば default の font を使うので問題を回避できます。 tcl/tk を知っている人は、k24 や k16 の font の 指定部分を変 更してください。

#
# フォントの設定
#
switch $tcl_platform(platform) {
unix {
font create k16 -charset jisx0208.1983 -size 14
font create k24 -charset jisx0208.1983 -size 24
}
windows {
font create k16 -family {MS 明朝} -size 12
font create k24 -family {有澤楷書} -size 22
}
}

の有澤楷書を、MS 明朝 にしてくれれば ok です。

Unix で動かす場合には、すべて nkf 等で EUC コードに変換 する必要があります。1999 年現在 比較的新しい、Linux 上の package としてついてきた 日本語対応の tcl/tk では動作を確認 しました。Unix での tcl/tk の install は、システム管理者にご 相談下さい。tcl/tk の install 方法は 市販の本を御参考くださ い。また which wish で wish があるかどうかで確認ができます。

くどいですが、この software は基本的にゲームですので、 tcl/tk の勉強で ソースを解析する場合を除いて、教育機関のコン ピュータで動作してはなりません。そういうことで、私が文句を言 われることがないように、あらかじめ注意します。自分の家の パ ソコンで勉強してください。


齋藤 理一郎 rsaito@ee.uec.ac.jp