2007年02月17日

箱入娘

070217_1738~01.jpg
古典的なスライドパズル。たぶんブログパーツにもあるでしょうね。一般的なのは一番大きなタイルが娘と書いてあるけれど、これには象さんの絵が描いてあって、その名も「ゾウさん大脱走」。深く考えると、このパズル解いたら、まずいでしょ(笑)
三年ぐらい前にダイソーで購入。つい最近、出てきた。

写真に写ってる並べかたは、本来のものより難易度がちょっと難しいもの。三年ぶりだから、ちょっと手間取ったけど、解けた。気分爽快。


posted by takayan at 18:07 | Comment(4) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2007年02月20日

ゾウさん大脱走

初期配置


先日紹介したスライディングパズル。それのとても難しい配置。

このパズル手に入れた頃は解けたのに、先日投稿した日から、ずっと考えても解けなかった。
それがさっきやっと解けた。やったー!
これは強敵ですよ。

ネット上でこれが遊べるところ。このページで「牧場2」を選びます。初期配置が違いますが、同等です。
New箱入り娘 - ゲームセレクション

最終配置-どうしても解けないときだけ、ヒントとして見て下さい。


posted by takayan at 17:43 | Comment(2) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2007年05月29日

箱入り娘のブログパーツ

以前箱入り娘のブログパーツがあるはずだと書いたけれど、今頃になってそれを見つけた。「箱入娘」ではなく素直に「箱入り娘」で検索すればよかったわけだ。

配布してるブログはLife is beautiful。で該当記事はというと、「ブログ用ミニアプリ: 箱入り娘 【無料ゲーム】」。アプリ自体の名前は「ice princess」。

でも記事にある設置用のスクリプトではリンク切れになってしまう。いろいろ探してブログ:nouseの記事:ブログパーツを10個並べてで、ソースを調べればいいという単純なことに気付かせてもらって、理由がやっと分かった。どうやらアドレスが変わってFlashによるテスト版になっている模様。

貼り付けてみるとこんな感じになる。Seesaaブログにはちゃんと張り付くみたい。



ちょっと残念なことに、以前紹介した二つのパターンは入っていない。

■関連記事
箱入娘
ゾウさん大脱走


posted by takayan at 02:30 | Comment(0) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2007年05月31日

箱入り娘のFlash作ってみました。

そう言えば自分もFlash持ってるんだということで、flashで箱入り娘作ってみました。そうか、自分で作ればよかったんだw

ブログパーツを目指したサイズなんだけど、まだまだなので、正式配布ではありません。

かなりの手抜きです。スライドしてません。飛び越えて置けます。リアルとも言います。でもこういうのはズルをしても楽しくないので、真面目に楽しんでみてください。それとレベルも変えられないし、まだゴール判定も入れてません。

flashですのでFlash Playerが無いと表示できないはずです。まだ入れていない人は、次のページに行ってみてください。
Adobe Flash Player ダウンロードセンター

まだレベルが変えられないので、とりあえず何パターンか作ってみました。

■パターン1
幼稚園年長さんの姪っ子と遊んだときのパターンです。実際は先日紹介した動物園のタイルで遊んでいて、キリンさんとカンガルーさんは横になってお休みしてもらおうと言って遊びました。もちろん彼女はゴールできましたよ。


幼稚園児用はこれまでで、あとは難しいのが解きたい人用です。

■パターン2
ちょっと難しいパターンです。


■パターン3
いままでで一番難しかったパターンです。


他のパターンを解きたい人は、次のページがお勧めです。
箱入り娘アプレット

各レベルのページを開いてもゲームが始まらない人は、おそらくJavaが入っていないので、こちらでダウンロードしてインストールしてください。
Java ソフトウェアの無料ダウンロード




posted by takayan at 01:56 | Comment(0) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2007年06月04日

箱入り娘(2)

先日のをタイルがちゃんとスライドできるように少し改造してみた。サイズも一回り小さくした。表示されている問題は
BakuretuKen Homepage IIさんの有名な箱入り娘アプレットのレベル1と同じもの。



あとこれからこつこつ追加していこうかと思っている機能は:
・ゴールできたら「おめでとう!」と表示させる。
・リセットボタンを付ける。
・手数カウンタを付ける。
・タイルを外部画像で置き換えられたらいいな。
・タイルだけでなく、外枠も置き換えられたらいいな。
・効果音が付けられるようにできたらいいな。
・XMLファイルで問題を用意できたらいいな。
・キーボードだけでも操作できるようにしよう。
・スクリーンリーダーにも対応できるようにしよう。
・ガジェットにしよう。

最後の目標以外はそんなに難しくないんじゃないかなと楽天的に思っている。いろいろ考えているけれど、flashらしい画面の効果はセンスがないから最初からやる気は無し。

最大の目標は、木製の本物よりも快適に問題が解けるようにすること。


こちらを開くと、たぶん大きいサイズで遊べます。
https://neu101.up.seesaa.net/flash/hakol1.swf


posted by takayan at 01:48 | Comment(0) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2007年07月06日

AS3で「箱入り娘」

CS3が来たのでActionScript3の習作として例の「箱入り娘」を作り直していた。少し手間取った。表面上は何の変わりもないが、AS3の機能をいろいろ使ってみた。



なんとか形になったので、とりあえず設置実験。リロードするとランダムにパターンが変わるはず。

詳しいことはまたあとで。


posted by takayan at 09:00 | Comment(0) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2007年07月13日

箱入り娘ファイル公開

この「プログラミングのメモ」は既に削除しました。
『箱入り娘』の配布場所は、箱入り娘です。
2011.11.28 更新

# 開発サイトを移しました。
# [プログラミングのメモ]
# この記事はこのままにします。




ここ最近作っていた『箱入り娘』が完成したので、ファイルを公開します。興味のある人はダウンロードして自由に遊んでください。サイト上に設置しても構いません。ActionScript3で記述しています。Flashらしい細かなエフェクトもない極めてシンプルな『箱入り娘』です。標準設定ではゴールしても何も起こりません。

この記事の最後のほうの「■ダウンロード」にリンクがあるので、その上に書いてある「■免責事項」に同意の上、ダウンロードしてください。

ZIP形式で圧縮してますので、適当な解凍ソフトを使ってください。中にあるhtmlファイルを開くか、SWFファイルをブラウザに落とせば、動くと思います。ブラウザが開いていいかどうか聞いてくるかもしれませんが、そのときよろしければ許可してください。

ソースファイルは修正BSDライセンスで公開します。Flash CS3を持ってる人は、役に立つかは分かりませんが、AS3のプログラミングの参考にしてください。もちろん問題点とか見つけたら教えてくださいね。というか、ぼくは全くやる気のない人なので勝手にどんどん改造してもらっても結構です。そのためのライセンスです。

ブログやホームページに設置の仕方が分からないという人がいたら、そのときは設置の仕方とかここで書きますが、今回は省略します。説明がなくても設置できる人はどんどん設置してください。やりかたは、いろいろあるかもしれませんが一緒にはいっているhtmlをインラインフレームで設置するのが楽だと思います。必要最小限のファイルを同一のフォルダにアップロードします。

ステージのサイズは120x145で固定です。この大きさが不満なときはソースを書き換えて利用ください。


■ファイルの構成
ソースファイル以外のファイルです。設置するにはreadme.txt以外の少なくとも5つのファイルが同じフォルダになくてはいけません。追加の箱のデザインやタイルの画像を使う場合はこれと同じ場所に入れてください。

・readme.txt
この内容とほとんど同じ解説です。このファイルは設置に必要ありません。

・musume.swf
フラッシュファイル本体です。

・musume.html
ブラウザで開くためのHTML文書です。
FlashCS3が出力したものをパラメータを指定できるように少し書き換えています。

・AC_RunActiveContent.js
FlashCS3が上記のmusume.htmlとともに出力したJavaScriptです。上のHTML文書と同じ所に置いて下さい。

・musume.xml
標準の設定ファイルです。タイルの色などを設定します。このファイルの記述の仕方をあとで説明します。

・pattern.xml
標準のパターンファイルです。配置情報などが入っています。これもあとで説明します。


■ソースファイルの構成
フラッシュファイルmusume.swfを作るためのソースコードです。動作原理を知りたい人向けのファイルです。一つのflaファイルと、二つのasファイルからなります。asファイルはAcsionScript3言語で記述されています。Adobe Flash CS3でコンパイルします。

・musume.fla
Flashドキュメントです。

・main.as
メインプログラムファイルです。本来はflaファイル内に書くべきものですが、外部エディタで編集しやすいように別ファイルにしていました。

・Pattern/Pattern.as
Patternクラス定義ファイルです。Patternフォルダの中にあります。配置情報を管理し、内部クラスのタイルを制御します。


■設定ファイルの構造
現在使用中のmusume.xml

XMLで記述された基本設定ファイルです。できるだけ多くのものを変更できるようにしてみました。
標準のものは、musume.swfと同一フォルダにあるmusume.xmlですが、実行時パラメータで変更することができます。

次の項目を変更できます。
・タイルの行数、列数。省略時は5と4です。
・タイルが動き回る領域の始点。省略時は(10,10)ピクセル
・タイルの短辺の長さ(単位長)。省略時は25ピクセル。
・タイルが入りきれないときは短辺の長さを調整するかどうかのフラグ。省略時は固定です。
・タイルの平面・ハイライト・影の部分の色。16進表記、10進表記でも可。省略時はごらんのとおり。
・箱の平面・ハイライト・影の部分の色。16進表記、10進表記でも可。省略時はごらんのとおり。
・箱の縦横の長さ。120x145ピクセル。
・箱などの背景が描かれた外部ファイル名。SWF形式、JPG形式などの画像ファイル。省略時は内部で描画。
・選択したときの効果音ファイル名。省略時無指定。
・動き終わったときの効果音ファイル名。省略時無指定。
・移動ができなかったときの効果音ファイル名。省略時無指定。
・ゴールしたときに流れるSWFファイル名。省略時無指定。
・パターンが記述されたファイル名。省略不可。


■パターンファイルの構造
現在使用中のpattern.xml

複数のパターンの情報をひとつのファイルの中に記述できます。
どのパターンを実行するかを指定します。定義されている順番が番号となり、それを指定します。0を指定するとランダムに選びます。
パターンの情報にはゴール位置と必要な数だけのタイルの情報が必要です。ゴール位置が指定されていないときは、座標(2,4)マスがゴールになります。

タイルの情報
・主役のタイルかどうかのフラグ:0以外ならば主役。一つのパターンには必ず唯一無二の主役が必要です。
・タイルの識別名:日本語でOK。
・タイルのタイプ:タイプは4種のみ。BIG、TALL、WIDE、SMALL。必ず大文字で書く。
・画像指定:あらかじめ登録されている名前か、外部ファイル名を指定します。後述します。
・開始位置の座標。それぞれの初期配置の座標をマスの位置で指定します。

musume.xmlでタイルの色を指定していますが、この上に貼り付ける画像を指定します。後述するリストにある名前を使うと楷書体の登録されたタイルの名前が表示されます。リストになければ外部ファイル名だと判断されます。SWF、JPGといったFlashが読み込むことのできる画像形式が使えます。タイルの上から上書きされるので、透明色を使って文字だけを重ねたり、タイルを塗りつぶして別なデザインにすることもできます。画像を指定してもタイルの色は必ず描かれるので、その色が邪魔なときは、タイルを床と同じ色に設定して解決してください。


■タイルに貼り付けられる内部定義の名前
『箱入り娘』パズルに使われるであろうタイルの上の文字を楷書体でいくつか登録しています。書体を変えたいときは、タイルの画像ファイルを一つ一つ作ってください。透明色を利用すればタイルの上に文字が書けます。またソースファイルを修正してもいいでしょう。

・大タイル用 2x2
musume(娘)

・横タイル、縦タイル用 2x1、1x2
gejo(下女),genan(下男),kyodai(兄弟),shimai(姉妹),jikei(次兄),tedai(手代),
banto(番頭),sofu(祖父),sobo(祖母),chokei(長兄),chichioya(父親),hahaoya(母親)

・小タイル用 1x1
kozo(小僧),decchi(丁稚),ototo(弟),imoto(妹)


■実行時パラメータ
フラッシュファイル名に続けてパラメータを記述することで、パラメータを直接渡すことができます。

□設定できるパラメータ名

・number
実行するパターン番号。パターンファイルでの指定よりもここの指定が優先されます。ここでも0はランダムです。
同じサイトで違う別々な場所に違うパターンを表示するときに使います。

・xml
設定ファイル名。指定されていなければ、musume.xmlが使われます。パターンファイルの指定はできません。
同じサイトで違う別々な場所に違う設定(タイル数、背景など)で表示するときに使います。


□musume.htmlファイル内での具体例

Javascript部分:

AC_FL_RunContent(
...
'movie', 'musume?number=5',
...);


OBJECT要素部分:

<object ...>
...
<param name="movie" value="musume.swf?number=5&xml=noscript.xml" />
...
</object>



■エラーメッセージ
設定ファイルに問題があるときは、いろいろとエラーメッセージが出てくるはずです。指示に従って設定ファイルを修正してください。2行目以降の英語で出てくるの行はエラーが起きた場所の表示ですので、プログラムに関心のない人は無視してください。
なお、設定ファイル内でファイルを指定しているのにそのファイルが存在しない場合は正常に動作しませんし、エラーメッセージも表示されないので気をつけてください。

■免責事項
今回公開したこのプログラムのファイルによって生じた一切の損害に対し私takayanは責任を負いません。それを承諾した人のみ自分のパソコンにダウンロードしてご利用ください。
またダウンロードした人はこの免責事項を承諾したものとみなします。


■ダウンロード
上記の免責事項を承諾されたら、以下のリンクからどうぞ。

『箱入り娘』ダウンロード ver.1.0.1



XMLの表記のちょっとした知識や、RGBによる色表現がわかれば、XMLファイルを書き換えたり、画像ファイルを用意するだけでいろんなカスタマイズができるように作ってあります。どうぞ『箱入り娘』のパズルに興味ある人はいろいろ設定を変えて遊んでみてください。ソースファイルも公開してあるので読める人は改良してみてください。

クラスの設計を最初からやり直さないといけないなあと思うところもありますが、そうすると収拾が付かなくなりそうなのでやめておきます。

エラー処理とかエラーイベント処理とかちょっと手を抜いています。いや手を抜いているというよりはまだ勉強不足です。手数や経過時間の表示など、まだまだ改良の余地はありますが、開発はここでひとまず休みます。


posted by takayan at 03:01 | Comment(2) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする

2011年11月29日

難しい箱入り娘

このブログのサイドには、4年前からずっと、横板を三枚にした難しい「箱入り娘」を貼り付けています。これを自力で解けた人はどれくらいいるのでしょうか?

パズル好きの僕でも一週間くらい解けなかったと思います。まだな人はどうぞ解いてみてください。時間をかければ、誰でも解けます。時間さえかければね!

(注意)諦めないことは大切です。しかし、それは目的によります。時間は貴重ですから、人生諦めることも大切です。難解なパズルに人生を捧げるのも一興ですが。



posted by takayan at 22:24 | Comment(0) | TrackBack(0) | 箱入り娘 | このブログの読者になる | 更新情報をチェックする