Pentomino ペントミノ (JavaScriptで遊ぶパズルゲーム)戻る↑
●使用スクリプト:JavaScript 1.1 & PerlScript 5.0
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/3/23.β版
●内 容:
5つの正方形ブロックを辺が接するように並べてできる図形は12種類あり
ます。ということはブロック数は計60個ですね。この12種類の図形を10×6
=60マスの箱の中にスッポン! 隙間なく配置してしまおうという図形パズ
ルゲームです。
このゲーム、起源はかなり古いと聞きます。数学的、プログラミング的に
は解析され尽くして面白くもなんともないか、というとこれがやっぱり複雑
で面白い。私自身スクリプトを書き上げたにもかかわらず、数個の解を見つ
けるのに四苦八苦してます。
図形を配置する方法(マン・マシーン・インターフェース)にちょっと楽し
い動作を仕組んでみました。また、JavaScriptにも洒落たアルゴリズムが隠
れています。
なお、クッキーを利用して図形を登録し、登録済みの図形を表示すること
ができます。といいましても、最新の解を19個しか登録できないので、何の
役に立つのか疑問なのです。
そこで、CGIを利用して解をサイトに登録できるように改良してみまし
た。全ての解は3300を超えるそうですので、ドンドン登録チャレンジしてみ
てください。
Magic Square 魔方陣 (JavaScriptで遊ぶ数字パズルゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/2/20.β版
●内 容:
先日ご紹介したナンバープレースに少し手を入れるとまた違った趣の数字
ゲームが出来上がりました。Magic Square 魔方陣と名付けられています。
ルールはタテ・ヨコ列とも、1から9までの数字が重複してはいけない。
なおかつ、対角線も重複してはいけない。この数字の並びの解をところどこ
ろ埋め込まれたヒント数字を元に求めます。
ナンバープレース同様、見かけ上 6,531,840通りのパターンを自動的に吐
き出し可能となっています【謎】。
ヒントのパターンをあわせると、おそらくその数は無限のはず。あしたの
運だめしに一つどうぞ。
Number Place (SUDOKU) (JavaScriptで遊ぶ数字パズルゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/2/18.β版
●内 容:
朝日新聞・日曜版に時々掲載される数字パズルゲームがあります。タテ9
マス、ヨコ9マスの箱の中に1から9までの数字を並べていく単純なゲーム
ですが、専門誌が出るくらいあとを引いてしまうのです。数独(SUDOKU)とい
う和名が全世界に広がりつつあるとか。
ルールはタテ・ヨコ列とも、数字が重複してはいけない。なおかつ、タテ
3マス、ヨコ3マスで区切られた9ブロックの中も重複してはいけない。こ
の数字の並びの解をところどころ埋め込まれたヒント数字を元に求めます。
数字の並びを組み立てるのに最初、全て計算で求めようと試みましたが、
天文学的数値な再帰を必要とすることが分かって頓挫しました。そこで、基
本パターンを手作業でこしらえ、これを元に数値の置き換え、ブロックの移
動を組み合わせ、見かけ上 6,531,840通りのパターンを自動的に作ることが
可能となっています【謎】。
ヒントのパターンをあわせると、おそらくその数は無限のはず。今日の運
だめしに一つどうぞ。
備後町の留さん (JavaScriptで遊ぶビンゴゲーム)戻る↑
●使用スクリプト:JavaScript
●動 作 環 境:フレーム対応ブラウザ
Google Chrome では原因不明のバグのため動作しません
●バ ー ジ ョ ン:2000/12/10.β版
●内 容:
お正月恒例の @nifty FHPART主催「はっぴー・うぇぶ・いやー21」募集の
案内が届き、さて今年は何も用意していない、けど参加したい…… 何にす
べぇ…… と短慮の結果、フレーム間変数受け渡しの勉強を兼ねてフレーム
と「毎回テーブル書き換え」を使ったビンゴゲームを組んでみました。
といっても、はじめ画像差し替えでスマートに作るつもりが、0から99ま
での数字×2種類(チェック前とチェック後)に恐怖を覚えたため、画像を使
わずに済む方法はと考えた末のことです。
エクスプローラでは所期の目的を得ましたんですけど、ネットスケープで
はこけてしまいました。ゲームを組むとブラウザの個性(優劣)が如実に現れ
てしまうのです。今回の「毎回テーブル書き換え」はエクスプローラの勝ち。
ビンゴゲームですので、ゲームの内容説明は要らないのです。留さん相手
に一人っきりでするビンゴってとってもわびしいなぁ…… という方はビン
ゴカードを沢山プリントアウトして、大勢でわぁわぁやってください。ただ
し、音声読み上げてなインタラクティブは持ち合わせませんので、誰か代わ
りに読み上げてやるのはアナログ丸出しの図。
なお、Google Chrome では原因不明のバグのため動作しません。
チャットで留さん (CGIで遊ぶバーチャル・チャット)戻る↑
●使用スクリプト:PerlScript ver.5
●動 作 環 境:フレーム対応ブラウザ
●バ ー ジ ョ ン:2000/3/4.α版
●内 容:
昨年の暮れから CGI のお勉強を始めました。プログラムは C言語でも組
めるのですが、今や Perl (パール)スクリプトを使用するのが標準になって
いるようです。Cに比べ、この Perl という言語、ホンマ柔軟なのには驚い
てしまいます。
たとえば、open FILE, "$file" or die "Can't open the file"; 直訳す
ると、$fileという名のファイルをFILEというあだ名で開きなさい、(開けら
れないときには) Can't open the file とわめいて死になさい。なかなか人
間味のあるスクリプトのようですね。
「プログラミング言語を覚えるにはゲームを組むのが一番」と考えるわた
しは、今回もまた、何かゲームをと考えます。入門書を眺めていると「ミニ
チャット」という言葉がが目に止まりました。チャット……ゲーム……留め
さん……オートアンサー……留めさんの(自動)バーチャル・チャット。
つまり、留さんに何か話しかけると、あたかもチャットをしているように
返事をしてくれます。今流行の「海男や愛坊」のパッチモン、パクリなわけ
です。ちょっとひねったところは不特定多数の人が相手することができ、学
習させることができるところでしょうか。
留さんに理解できない言葉が出てくると「答え方、教せてくれ」の返事が
来ますので、おもしろく、センスのいい、粋な答え方を教えてあげてくださ
い。他のどなたかが同じ言葉を入力したときに、あなたが教えた返事をする
ようになります。
くれぐれも、おもしろくない、センスのない、無粋な言葉を教えないよう
に(^^)。留さんは正直者ですから教えた通りに返事をします。
言い忘れましたけど、話しかける言葉はなるべく易しい言葉でお願いしま
す。漢字も理解できますが、なるべく平仮名で、それも短かめがよろしいで
しょう。何しろ相手は小学校を2年で卒業? している「留さん」のことで
すから。最初はご挨拶から始めていただくのがよろしいかと思います。
でわ、留さんの教育よろしくお願いします。みんなで立派な留さんに育て
上げてください。
大阪環状線初詣双六 (JavaScriptで遊ぶ双六ゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:1999/12/19.Final版
●内 容:
変形双六ゲームです。大阪環状線の各駅に下車し、最寄の神社仏閣を参拝
していただきます。
ふりだしは「大阪駅」サイコロを振って出た目の数だけ進んで下車します。
あなたが外回り、ブラウザが内回り、すべての駅に下車し、最寄の寺社すべ
てに参詣し終わると上がり。
ツボは環状線が環状なこと。最後の1駅は目がドンピシャでないと通過し
てしまいます。勝っても負けても、上がれば素敵なおみくじが待っていると
いう仕掛けもありますので、最後までおつきあいください。
なお、画像がたくさんあり、初期読み込みに少々時間がかかります。
ちょっと・スロット (JavaScriptで遊ぶスロットゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:1999/9/6.Final版
●内 容:
ゴジャゴジャ無し、ただのスロットゲームです。時間潰しにゴソゴソして
たらできました。時間潰しにどうぞ。
[7]は倍率30、[BAR]は20、その他10。最初の持ちコイン50枚。
代書屋留さん (JavaScriptで遊ぶ上方言葉変換機)戻る↑
●使用スクリプト:JavaScript 1.0
●動 作 環 境:Netscape Navigator 2.0 以上(たぶん)
MS Internet Explorer 3.0 以上
●バ ー ジ ョ ン:1999/7/11.Final版
●内 容:
「代書屋」の留さんが代書屋になったら、標準語をなにわ言葉に翻訳して
くれました。しかし、そこは留さんのことですからして、えぇかげんなもん
なのです。笑って許してあげましょう。何気ない日常会話なんかを書き込む
と、あなたはもう関西人。
東京落語のご隠居ホームページにお邪魔すると、江戸っ子言葉変換マシー
ンが設置されています。こらオモロイ、っちゅうのも以前「秀丸マクロ」を
利用して大阪言葉の変換を試み、大笑いしたことがあったのです。
で、上方噺「代書屋」に登場する留さんが代書屋になったら……というシ
チュエーションのもと、さっそく古いマクロを眺めてみるとデータ部分が使
えそうな雰囲気です。JavaScript のリファレンスブックを覗き込み、
String.indexOf(); String.substring();
二つのメソッドのみで組んでみましたら、これが結構サクサクと変換してく
れます。
かなりの長文でもストレス無しに変換してくれますので、超真面目そうな
メールをコピー&ペーストして楽しんでください。もちろん、あなたが差し
出すメールに使用すれば、一夜にして上方人間に化けることが可能という、
留さんも真っ青というお馬鹿なプログラムです。
ちなみに、留さんとは上方落語家桂枝雀師匠の「代書屋」「替わり目」に
登場する松本留五郎氏の愛称です。なお、文章は段落途中(ひとつながりの
文章)に改行を含まないほうが、綺麗な? 上方言葉になります(^^)。
It's COOL TIME (JavaScriptで遊ぶパズルゲーム#2)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/20.改訂版
●内 容:
夏をパズルに閉じ込めてみました。少しでも暑さがやわらげばこちらの思
うツボ……。
夏……祭 スイカ 夕立 稲妻 雷鳴 入道雲 天の川 天神祭 船渡御
花火 金鳥 向日葵 朝顔 ラジオ体操 素麺 瓜 トマト ビール 枝豆
海 砂浜 波 潮騒 ヨット カモメ パームツリー、、、、、、
イメージする言葉を書き出しているうちにモザイク状に分割された映像が
浮かんできました。4×4の窓枠で仕切られた風景を完成させます。世間で
言うところの15パズルのweb版です。タイトルは「It's COOL TIME」
作成中思ったこと、互換性を持たせるっていうのはとっても面倒です。ブ
ラウザの違いはもとより、バージョンの違いにも悩まされました。最終的に
は動いたらえぇか……えぇかげんです(^^)。
JavaScriptの navigator.appVersion というプロパティにはブラウザバー
ジョンの固有文字列が代入されていて、かなり細かな互換性(代替え)を実現
できるようなのですが、プラットホーム、ブラウザ別の識別文字列一覧なん
てあったら便利でしょうね。
ババめくり (JavaScriptで遊ぶカードゲーム#5)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/13.改訂版
●内 容:
とある寺の糞坊主、やなしに極悪住職、いや……その……御住持様より、
ゲームの注文を受けました。「坊主めくり」という語感が気に入ったので、
めくらせてもらえないか……。
知ってはるか知りはらへんか知りませんけど、この坊主めくりというゲー
ム、百人一首歌留多の絵札を使ってするゲームです。もう記憶もおぼろなほ
どの昔、正月に友達宅を訪ねると、このゲームをしたものでした。
ルールはいたって簡単、良くシャッフルした歌留多を伏せて場に置き、め
いめい一枚ずつめくって「姫」が出れば場に捨てる、「坊主」が出れば捨て
札を全て抱え込む。最後に一番多く抱え込んでた人が負け。……記憶合って
ます?
アルゴリズムは超簡単のすぐ出来上がり……っちゅう訳には参りません。
百人一首の絵歌留多をどうやって作るか? 例えばスキャナで取り込んで、
線画処理して、カラーも16色に減色して、10キロバイトほどに仕上げられた
としても、10かける100は1000キロバイト=1メガです。
1メガの画像を読み込んでいただいて、さてゲームはオモロイかっちゅう
と、多分そんなにも……ということでお断りしょ、とはしないのです。ここ
らが大阪人の気のえぇとこやと思てます、自分で(^^)。
ほな、こうしましょか……カードゲームでよく似たやつ「ばば抜き」。こ
のネーミングを「ババめくり」に変えて作りましょ。かくして、ここに家族
ゲームの定番が出来上がりましたとさ。
電脳イライラ迷路 (JavaScriptで遊ぶ迷路ゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:1999/3/28.Final版
●内 容:
とあるTVバラエティ番組に「電撃イライラ棒」という1コーナーがあり
ます。迷路状意匠を施した電極の間隙をスイッチ代わりの電極棒を通して行
き、上手く通過できれば○。途中接触すればスイッチが入って×というもの
です。今回のゲームはこれをシミュレートしようと挑戦しています。
迷路そのものは18×20小間、付属幼稚園の入園テストよりも簡単で、こん
なもの通過したところで面白くもおかしくもありません、梅田地下街を探検
する方が面白い。そこで時間制限を設けました。
入り口から一定距離進むと追跡者が現れます。あなたはこの追跡を振り切
り、ゴールに猛進しなければなりません。追いつかれたり、先にゴールされ
たり、ショートカットしようものなら、即爆死が待ち受けます。
レベル高・低2種選択できますので、マウス使いの技量に応じてお選び下
さい。
7並べ(FANTAN DOMINO) (JavaScriptで遊ぶカードゲーム#4)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/14.改訂版
●内 容:
家族ゲームの定番「7並べ」は別名「FANTAN DOMINO(中国式ドミノ)」と
いうそうです。7につなげて手札を早く並べ終えるのが基本ルールです。ア
ルゴリズムを調べていて、基本ルールだけでは手札が配られた時点で既に決
着が付いていることが分かりました。
そこで、ギブアップで手札を場に出したとき、A(エース)・K(キング)が
有ればそのカードにつなげるというローカル・ルール「AKシステム」を採
用してみました。
このルールにより、ブロックするために止めていても、AKが出てしまう
と形勢逆転するスリルが出てきます。早く上がらなければならない、相手の
手を止めなければならない、でも相手をギブアップさせるとピンチになるか
も知れない……相矛盾するこの世の縮図。
お相手を務めてくれるのは上方落語でおなじみ、留五郎・甚兵衛・喜六・
清八の各氏です。なお、パスは3回まで。
DRAW POKER (JavaScriptで遊ぶカードゲーム#3)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/16.改定版
●内 容:
ポーカーゲームの面白さは、偶然に良い手を引いてくるというより賭け金
をいかにつり上げるか、いかに良い手が来たように見せかけるか、というま
ことに人間臭いところにあるようです。
これをコンピュータにさせてしまおうというのが今回のコンセプトです。
胴元、電脳客1・2、それぞれ個性を持たせました。というのは言い訳で、
複雑なパターンは面倒くさいから3パターンに限定しただけです。どのよう
なパターンか看破してしまえば対策は簡単。なはずなんやけど……
「賭け金のつり上げ」がメインとなりますので、テキストボックスへの表
示が重要なのですが、残念ながら NN3.0にはバグがあってうまく表示されま
せん。
*ポーカーのルールをご存知ない方は [HELP] をご覧下さい。
展開回転正六面体 (JavaScriptで遊ぶパズルゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/16.改定版
●内 容:
1980年代に一世風靡した立体パズル「ルービックキューブ」をシミュレー
トしようと作業を始めたものの、残念ながらJavaScriptで3D(立体画像)を
処理するのは至難のワザです。手間、ひま、そしてダウンロードの時間をい
とわないのなら出来てしまうけれど、恐ろしくマシンパワーを必要とするこ
とでしょう。
半分あきらめかけたところにポンとひらめきました。立体がだめなら平面
に置き換えてしまえばいい。そこで登場したのが、ルービックキューブを展
開したパズルゲームです。出来上がってみるとこれが結構難しく、かなり精
神的苦痛を伴います。
ゲームはランダムに1回転させるステージ1から始まります。次ステージ
は2回転、3回転とステージアップに対応して回転数も上がります。7ぐら
いまでは何とかなるのですが……各ステージとも、開始ボタンを押すまでは
自由に練習ができますので、頭の中で平面から立体に置き換える訓練をして
ください。
神経衰弱 (JavaScriptで遊ぶカードゲーム#2)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/17.改訂版
●内 容:
コンピュータの命は記憶です。CPUがまず最初に行う作業はPCレジス
タにプログラムアドレスをセット、記憶させること。後はもう、ただひたす
らレジスタへの読み込み、メモリへの書き出しを繰り返します。この記憶の
鉄人に挑もうというのが、今回のコンセプトです。
ばかばかしいぐらいに単純なゲームなのです。けど、相手が完璧であるだ
けに、単純さが刺激を与えてくれます。究極の「神経衰弱」……くれぐれも
レインマン(ダスティン・ホフマン主演映画)にならないように。
BLACK JACK (JavaScriptで遊ぶカードゲーム#1)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
●バ ー ジ ョ ン:2001/1/13.改訂版
●内 容:
ネット上でカードゲームを作りたいもんだ…けど、ジョーカー、裏、バッ
クを含めるとカードは55枚。これでは画像ファイルだけで最低数十キロバイ
トにもなってしまう……ふと浮かんだアイデアがマークと数字の分離という
ものでした。23種に減った画像をとことん軽くして16キロ弱+本体17キロ=
33キロ弱で仕上がっています。
勉強を始めたcookieを使って持ち金を預け、再訪時には前回の環境を引き
継げるようにしました。カードの表示は使い回しが利きますので、しばらく
の間カードゲームが続くと思います。
留さんおせろ (JavaScriptで遊ぶオセロゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上でとりあえず動作
●バ ー ジ ョ ン:2001/1/18.改訂版
●内 容:
このお正月に姪っ子とトイザラスに出かけ、オセロゲームを買い込みまし
た。ルールは至って簡単、小学校2年生と5年生でも十分遊べます。中盤ま
でビシバシひっくり返していても、終盤の一手のミスでドンデン返るところ
が何とも人生のそれです。
例によって、大阪言葉丸出しの留さんがお相手をしてくれます。小学5年
の姪っ子程度の強さは確保できました。詰めが甘いのはわたしの血を引くか
らか?
眼下の敵もどき (JavaScriptで遊ぶシューティングゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上
MS Internet Explorer 4.0 以上
OS:Windows3.1 同等以上
CPU:i486DX-2 66MHz以上(グラフィック速度要求)
●バ ー ジ ョ ン:2001/1/20.改訂版
●内 容:
1943年9月大西洋赤道直下、米駆逐艦「ヘインズ」のレーダースコープに
米粒のような点が現れる。着任早々の艦長マレル(ロバート・ミッチャム)は
追尾を指示。やがてそれは独Uボート(潜水艦)と判明……。
代表的潜水艦映画「眼下の敵」です。駆逐艦と潜水艦という極度に閉塞さ
れた状況の中、両艦長の駆け引き・人間性を中心に描かれた佳作、何度見て
も飽きません。
ラスト近く相討ちとなり、駆逐艦に助けられたUボートの艦長ストルバー
グ(クルト・ユルゲンス)の台詞■私は、幾度となく死ぬ運命に逆らってきた
今回は君のせいだ●じゃあ、今度はロープを投げるまい■いや……きっと投
げるだろうね……
浪花の楽五目 (JavaScriptで遊ぶ連珠・五目並べゲーム)戻る↑
●使用スクリプト:JavaScript 1.1
●動 作 環 境:Netscape Navigator 3.0 以上 (NN3.0は表示バグ有り)
MS Internet Explorer 4.0 以上
OS:Windows95 以上推奨 (Windows3.1でも動作するが……)
CPU:i486DX-4 以上推奨 (それ未満だと遅くて遅くて……)
●バ ー ジ ョ ン:2001/1/18.改訂版
●レポートのお礼:
JavaScriptは実行速度が遅く、環境によっては我慢できないくらいにタコ
です(私のマシンがそう)。そこで、心優しい皆さんに動作のレポートをお
願いしたところ、貴重な情報をいただきました。思っていたとおり、マシ
ンのスペックが上がれば快適に動くそうです。Win95/66MHz あたりが、我
慢の限界のようでした。レポートを送っていただいた皆さん、どうもあり
がとうございました。この場を借りてお礼いたします。
●内 容:
元になっているのは、C言語で組んだDOSプログラムです。DOSプロ
グラミングの癖が抜けず、イベント・ドリブン(何かのきっかけでプログラ
ムが走る)型思考に切り替えるのに苦労しました。
また、コンパイラ型の演算スピードに慣れきっていた目からは、そのあま
りの遅さ(ベーシックより遅い)にあきれ返り、あきれてばかりでは前に進
まないのでアルゴリズムの再点検、見直せるスピードアップはとことん追求
したつもりです。
|