TFG-06S/T "Click !"     2003/06/18

作った人トラふぐ
メールcompile@msj.biglobe.ne.jp
HPProjectT
http://www5b.biglobe.ne.jp/~torafugu/
http://hp.vector.co.jp/authors/VA029511/


目次

コレは何?
遊び方
ID の指定方法
スクリーンセーバー本体について
著作権と免責
謝辞
解法のヒント
追記
更新履歴


コレは何?

スクリーンセーバーの設定画面で遊んでしまおうという、
謎のコンセプトで作成された、ヒマつぶし程度のプチプログラムです。
一応、セーバー本体も動作します。

国際化のあおりを受けて、プログラム内で使用する文字を英語にしています。
もっとも、このヘルプファイルは日本語なんですけど……

現在のところ、Windows98SE/Me でのみ、動作確認しています。
NT系でも動作すると思います。


遊び方

右クリックメニューの "設定(O)" (または "構成(O)") で起動します。

作った後に知ったのですが、ライツアウトというものだそうです。

TFG-06S は、正方形 (Square) バージョン
TFG-06T は、三角形 (Triangle) バージョン です。

画面上に青と赤のカラーパネルが配置されます。
パネルをクリックすると、クリックしたパネルと隣り合ったパネルの色が、交互に変化します。
ひたすらクリックして、全てのパネルを青にしてください。

ID を入力することで、オリジナルの問題を作成できます。
詳しくは、ID の指定方法 の項目を参照してください。

ボタンの説明
"Edit"エディトモード。問題を作成します。
"Decide""Edit" で作成した ID でゲームを開始します。
"Restart"同じゲームを最初からやり直します。
"Exit"ゲームを終了します。

Esc キー か、Alt+F4 キー でも終了できます。
なお、タイトルバーに、チェックした回数が表示されます。


ID の指定方法

ID の指定方法は、2通りあります。

1つ目は、エディトモードを使う方法です。

まず、2つのコンボボックスで、作成したいサイズ (横方向・縦方向のパネルの個数)
を選択して、"Edit" ボタン を押します。
選択したサイズのパネル (全て青) が表示されるので、
非表示にしたいパネルをクリックして、ピンクにします。
形が決定したら、"Decide" ボタン を押します。すると、画面上の入力ボックスに
作成された ID が表示されて、その ID でゲームが始まります。

注意!
間違っても、"Enter" キーを押さないでください。
入力ボックスに入力されている ID でゲームが始まってしまいます。


なお "Restart" ボタン を押すと、パネルが全て青の状態に戻ります。


もう1つは、直接 ID を指定する方法です。

1つ目の方法で作成した ID をファイルに保存しておけば、コピー & ペースト だけで
指定することができます。
入力後 Enter キー を押すと、指定した ID で開始できます。

以下の場合は簡単に指定できます。
TFG-06S長方形 横・縦のみを2文字で指定
TFG-06T正三角形 1辺のパネル数のみを1文字で指定 (最大11)


しないと思いますが、エディトモードを使わずに ID を作成する方法を、例を交えて説明します。

  TFG-06STFG-06T
1文字目パネルの個数 横方向  1〜16  1〜21
2文字目パネルの個数 縦方向  1〜16  1〜14
3文字目〜表示・非表示の設定
(省略時は全て表示)

まず、作成したい大きさを決めます。(横 x 縦)

5x3の場合

01■02■03■04■05■
06■07■08■09■10■
11■12■13■14■15■

(TFG-06T の場合も同様に、以下のようになります)
01▲02▼03▲04▼05▲
06▼07▲08▼09▲10▼
11▲12▼13▲14▼15▲

その中から、非表示にする部分を決めます。(□が非表示)

01□02■03■04□05□
06■07■08■09□10■
11□12□13■14■15■

左上から順番に(上の列から)、6個ずつ区切ります。

01□02■03■04□05□06■
07■08■09□10■11□12□
13■14■15■   

区切った6個で非表示にする部分がある場合、それぞれの列で下の数値を合計します。
$ は、16進数を表す記号です。(プログラムで使う、0h と同じです)

1個目2個目3個目4個目5個目6個目
+1 +2 +4 +8 +$10 +$20 

01□02■03■04□05□06■   1+8+$10=$19
07■08■09□10■11□12□   4+$10+$20=$34
13■14■15■      0

最後に、数値を文字に変換します。下の表を基に、64進数の文字列にします。
(文字コードの $30〜$6F を $30 だけ小さくしたものです)

  0123 4567 89AB CDEF
+$00 01234567 89:;<=>?
+$10 @ABCDEFG HIJKLMNO
+$20 PQRSTUVW XYZ[\]^_
+$30 `abcdefg hijklmno

例の場合、
横 55
縦 33
$19I
$34d
00
となり、 53Id0 と入力すればよいことになります。


また、ボタンの ON/OFF は、ランダムに設定されます。
同じ ID で、違う ON/OFF の組み合わせにしたい場合は、
入力ボックスにフォーカスを合わせて Enter キー を押してください。

大きなサイズにすると、実際問題として解けなくなってしまうので、
ほどほどの大きさにしてください。

ID の作成例

TFG-06S
(過去バージョンで本体に入れていた分)
タイプ名SizeID
HSP34;5:2e5R@G;P1
■□■□■■■□■■■
■□■□■□□□■□■
■■■□■■■□■■■
■□■□□□■□■□□
■□■■■■■■■□□
Sharp1655E@5Do
□■□■□
■■■■■
□■□■□
■■■■■
□■□■□
Tigers26660cB0BB
■■■■■■
□□■■□□
■□■■□■
■■■■■■
■□■■□■
■□■■□■
Cross2466cc00cc
□□■■□□
□□■■□□
■■■■■■
■■■■■■
□□■■□□
□□■■□□
タイプ名SizeID
Heart27769108hhk
□■■□■■□
■■■■■■■
■■■■■■■
□■■■■■□
□□■■■□□
□□□■□□□
Diamond2577g774@`ag1
□□□■□□□
□□■■■□□
□■■■■■□
■■■■■■■
□■■■■■□
□□■■■□□
□□□■□□□
Ring40883786l`361><
□□■■■■□□
□■■■■■■□
■■■□□■■■
■■□□□□■■
■■□□□□■■
■■■□□■■■
□■■■■■■□
□□■■■■□□


TFG-06T (実際はもっと縦長です)
タイプ名SizeID
Diamond1856k804g
△▽▲▽△
▽▲▼▲▽
▲▼▲▼▲
▼▲▼▲▼
△▼▲▼△
▽△▼△▽
Hexagram1254K0H3
△▽▲▽△
▼▲▼▲▼
▲▼▲▼▲
▽△▼△▽
Hexagon268436@032
△▽▲▼▲▼▲▽
▽▲▼▲▼▲▼▲
△▼▲▼▲▼▲▼
▽△▼▲▼▲▼△
タイプ名SizeID
Ring48;63h08L0>407`
△▽▲▼▲▼▲▼▲▽△
▽▲▼▲▼▲▼▲▼▲▽
▲▼▲▼△▽△▼▲▼▲
▼▲▼▲▽△▽▲▼▲▼
△▼▲▼▲▼▲▼▲▼△
▽△▼▲▼▲▼▲▼△▽
X56<8Q33Q7`?h?h7`3QQ3
△▼▲▼▲▽△▽▲▼▲▼
▽△▼▲▼▲▽▲▼▲▼△
△▽△▼▲▼▲▼▲▼△▽
▽△▽△▼▲▼▲▼△▽△
△▽△▽▲▼▲▼▲▽△▽
△▽△▲▼▲▼▲▼▲▽△
▽△▲▼▲▼△▼▲▼▲▽
△▲▼▲▼△▽△▼▲▼▲



スクリーンセーバー本体について

TFG-06S では、一色の背景に時計が表示されます。
起動して数コマ程度なら、十字キーor0〜9キー で動作の変更ができます。
(それ以降の場合、HSPの仕様により終了してしまいます)
デフォルトは 背景色ランダム & 時計表示ON です。

↑ キー背景色を約4秒毎にランダム変更
↓ キー背景色を黒に固定
← キー時計表示ON
→ キー時計表示OFF
0〜9 キー 背景色をなめらかに変化
┌→赤→黄→緑→┐
└←紫←青←水←┘
の順で少しずつ変化します。(約100秒で1巡)
True Color (24bit以上) でないと、なめらかになりません。

彩度は8が最も高く(原色)、0(9も)が最も低く(グレー)なっています。
結構CPUを消費します。(250MHz分くらい)

1コマが64ミリ秒と短いので、
先に ←/→ キーで時計表示を設定してから、変更してください。


TFG-06T では、ゲームで使用している三角形パネルが、画面を埋めていきます。
こちらは設定項目はありません。


著作権と免責

このソフトは、フリーウェアです。良識的な使用方法においては一切制限はありません。
スクリプトについては、私トラふぐが著作権を有しています。一応。

雑誌に載せたいとか、自分のHPで紹介したい、とかいう奇特な方は、ご連絡ください。
不具合の発見や要望・感想などがあれば、連絡していただけると嬉しいです。

なお、このソフトを使用したことによって、いかなる損害が発生しようとも、
責任は負いかねます。あしからず。

例えば…
    クリックしすぎてマウスが壊れた・腱鞘炎になった
    仕事中にゲームをして、上司に叱られてしまった
                            …等々


謝辞

フリーウェアのプログラミング言語 HSP (Hot Soup Processor) ver2.6 で作成しました。
この言語を開発された おにたま氏 と、HSPの発展に寄与された多くの方々に感謝します。
ONION software HP

あと、誰か知らないですが、ライツアウトなるゲームを考案された方にも感謝します。


解法のヒント

パネルの配置が対称になっている場合は、パネルの色が対称になるようにして、
その後、対称を維持しながら左右同じようにクリックすると良いでしょう。
特に長方形の場合は、上下にも左右にも対称にすると、非常に解きやすくなります。


追記

このソフトは、HSPプログラムコンテスト2003(ショートプログラム部門)
に出品するために作成しました。
2500byte 以内というサイズ制限に収めるのに苦労しました。

     いったん作成
        ↓
  ┌→サイズオーバー
  ↑     ↓
  ↑  サイズ切り詰め
  ↑     ↓
  ↑  サイズが余ると機能を追加
  └←←←┘
                  ……この繰り返し。

TFG-01 PiyoSaver の最新バージョンを、現在ゆっくりと開発中です。
期待しないで待っていてください。


更新履歴

TFG-06S
2003/06/18 ver2.01.05 型番を "TFG-06S" に変更
ほんの少し安定化
2003/06/13 ver2.01.04 パネルクリック回数が 2^31 を超えても反応するように修正
(そんなにクリックすることはないけど)
パネル外でクリックして反応してしまう不具合を修正
初期状態の 問題 ID を "66" にする
エディトモードに使うコンボボックスの初期状態を "8" にする
2003/06/12 ver2.01.03 エディトモードでパネルが反応しない不具合を修復
2003/06/11 ver2.01.02 ちょっとした不具合を修復
微妙に改良
2003/06/10 ver2.01.01 12byte 軽量化
2003/06/10 ver2.01.00 エディトモードを追加
コンボボックスでのゲームモード選択機能を削除
安定性を向上
2003/06/07 ver2.00 チェックボックスから、カラーパネルに変更
それに伴ない、ID 指定で作成できる最大サイズを 16x16 にする
プログラム名を "Click !" に変更
ゲームモードの "Arrow" を削除
2003/06/05 ver1.16 ゲームモードに "HSP" を追加
ゲームモードの "Arrow" の形状を変更
2003/06/05 ver1.15 ID 指定でどんな配置になっても、必ず解けるように改良
(全て非表示 でない限り)
それに伴ない、長方形のゲームモード7種を削除
ゲームモードの "Heart" の形状を変更
2003/06/04 ver1.14 ID を指定してゲームを作成する機能を追加
ヘルプファイルをHTML化
2003/06/04 ver1.13 ゲームモードに "Smaller" を追加
2003/06/03 ver1.12 ゲームモードの名称を変更
   "Middle" → "Large"
   "Large" → "Larger"
ゲームモードに "Middle" を追加
2003/06/01 ver1.11 ゲームモードに "Diamond" を追加
2003/05/29 ver1.10 ゲームモードの名称を変更
   "Small" → "Tiny"
   "Middle" → "Small"
ゲームモードに "Middle" を追加
2003/05/26 ver1.09 ゲームモードの "Large" に致命的欠陥があったので
サイズを 6x6 に変更
ゲームモードに "Arrow" を追加
2003/05/24 ver1.08 スクリーンセーバー本体のオプションの
"背景色をなめらかに変化" で、彩度の指定を可能にする
2003/05/22 ver1.07 スクリーンセーバー本体のオプションに
"背景色をなめらかに変化" を追加
2003/05/22 ver1.06 タイトルバーにチェックした回数を表示
2003/05/20 ver1.05 ゲームモードに "Tigers" を追加
2003/05/19 ver1.04 ゲームモードに "Cross" を追加
2003/05/18 ver1.03 ゲームモードに "Sharp" を追加
2003/05/17 ver1.02 ゲームモードに "Heart" を追加
2003/05/15 ver1.01 ボタンを全てOFF → ボタンを全てON にルール変更
2003/05/14 ver1.00 スクリーンセーバーに改装
2003/05/14 ver0.00 とりあえず試作品完成
2003/05/13 ver-.-- あっさりとネタを思いつく
2003/05/11 ver-.-- HSPプログラムコンテスト2003 に出品するため、ネタを考え始める


TFG-06T
2003/06/18 ver2.02 正三角形を 1文字の ID で指定できるように変更
クリックしても反応しない部分のある不具合を修正
2003/06/16 ver2.01.05 TFG-06S ver2.01.05 を、三角形バージョンに作り直し、
型番を "TFG-06T" とする
同時に、セーバー本体も作り直す