TFG-14S 演算子パズル ver1.01.01 HSPプログラムコンテスト2005(ショートプログラム部門)バージョン Script (C) Torafugu 2004-2005 mailto : project-t.tora29@kve.biglobe.ne.jp これは何? ありがちなパネルパズルとありがちな計算パズルの融合による、 ありそうでなかったパズルゲームです。   複雑なパズルゲームをプレイすることにより発生するθ波が GABA の分泌を促進し、   記憶を司る海馬の神経細胞を増殖させる なんていう脳力トレーニング効果は、当ソフトでは "ほとんど" 期待しておりませんが、 "のーみそコネコネ" するくらいの効果はあると思います。 コンテストのサイズ制限のため、機能を絞り込んでいます。 通常バージョン (TFG-14) では以下の追加・強化機能があるので、 気に入っていただければ、ぜひこちらでプレイしてみてください。 http://www5b.biglobe.ne.jp/~torafugu/Tappli/TFG-14.zip セーブ/ロード マウス・テンキーによるパネル選択 寝ながらの使用時に便利(?)な片手モード 演算子切替 (x ÷ \) ナビゲーションの ON/OFF 切替 (己に鞭打ちたい人向け) 演算早見表表示 (掛け算の九九表みたいなもの) 現在選択パネルが点滅 画面効果がわずかに進歩 処理速度が向上 ルール フィールド上で横に連続する3個の数値A・B・Cを選択 (黒枠表示) して、 A□B=C が成り立つように □ に演算子を当てはめて消去していきます。 時間制限は一切ありません。 全パネルが消去不能になるとゲームオーバーです。 演算子は8種類あります。(オプションでカッコ内の表記に変更可能) 四則演算 … + - x ÷ 剰余(割り算の余り Mod) … \ 論理演算 … & | ^ 注意! 7÷3=2 のように、余りの発生する割り算は不正解となります。 他に例外として、以下2種類の消去法があります。 トリプル消去 … 同じ数字が3個の場合 0消去 … 3個のうち1個or2個が0の場合 (主に緊急回避用) 消去の優先度は トリプル消去 > A□B=C > 0消去 になっています。(高得点優先) ちなみに、消去可能パネルはピンク色の枠で囲まれています。 上半分の6段で消去した時は、下の段が1段づつ上昇します。 下半分の6段で消去した時は、上の段が1段づつ落下します。 空いた部分(最下段or最上段)には NEXT 表示されたでパネルが補充されます。 なお、演算が不正解の場合は、ペナルティとして選択パネルがグレーに変化します。 また、補充されるパネルでも、得点が上がるにつれてグレーパネルが現れるようになります。 このパネルは、隣接パネルが消去されると普通のカラーパネルに変化して、消去可能になります。 このグレーパネルを効率的に処理して足場を確保しないと、高得点は狙えません。 論理演算について 端的に説明すると、次のようなものです。 & (AND) … 論理積 AとBがともに真ならば真(それ以外は偽) | (OR) … 論理和 AとBのどちらか一方でも真ならば真(同上) ^ (XOR) … 排他的論理和 AとBのどちらか一方のみが真ならば真(同上) コンピュータの本でよく見かける表にすると、a□b=x (2進数)の式で、次のようになります。 & (AND) | (OR) ^ (XOR) a b x a b x a b x --------- --------- --------- 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 標準搭載の電卓(CALC)で 電卓の種類(V) >> 関数電卓(S) にすると、 左のほうに Mod And Or Xor とありますので、2進数で試してみてください。 操作方法 カーソルキー … 選択パネルの上下左右移動   遅いPCだと連打すると反応しない場合があります Z … 演算子順選択 (+ - x ÷ \ & | ^ の順) X … 演算子逆選択 C Space … 演算決定 Esc … 終了 F1 … リセット (パネルサイズ 6x12) F2 … リセット (パネルサイズ 9x12) 得点計算 A□B=C {(Aの基礎点)+(Bの基礎点)+(Cの基礎点)} x (演算子の倍率) 基礎点・倍率は、数値の利用度・演算の直感的難度に応じて設定しています。 基礎点 0 0 1 3 2〜7 4 8・9 6 演算子の倍率 + - x ÷ 3 \ 4 & | 5 ^ 6 例   1*0=0 → (3+0+0)x3=09点   1+1=2 → (3+3+4)x3=30点   9-8=1 → (6+6+3)x3=45点   9\8=1 → (6+6+3)x4=60点   9^8=1 → (6+6+3)x6=90点 トリプル消去 (0) 1000点 トリプル消去 (1〜9) 基礎点x20 (60〜120点) 0消去 0点 不正解 0点+ペナルティ(グレー変化) ちなみに、コンピュータに適当にプレイさせると 平均で 4700点(6x12)/8300点(9x12) 程度になります。 あまり消去の得点は考えずに、手詰まりにならないように消去後のパネル移動を 先読みして活路を見出したほうが得策です。 おもな履歴 バグ指摘や要望があれば、メールしていただけると幸いです……が、 ごく稀にしかメールの確認をしていないので、返事が1ヶ月後とかになるかもしれません。 2004/11/15 来年のプログラムコンテストを見越してアイデアを練る 2004/12/11 ver0.00 とりあえず原型を作成 2004/12/12 ver0.01 最低限ゲームとして動くものを作成 2004/12/14 ver0.02 グレーのパネルを作成 2004/12/14 ver0.03 下の段にゴミが溜まっていく致命的欠陥に気付き、最上段を消去した時のみ上昇するように変更 2004/12/15〜17 ver0.04 最下段を消去した時は落下せず最下段を補充するように変更 2004/12/18〜22 ver0.05 上半分の段で消去した場合上昇・下半分の段で消去した場合落下するように変更 段数を16に変更 ナビゲーション機能を追加 2004/12/23〜25 ver0.06 段数を12に変更 パネルサイズ切替機能を追加 2005/01/06〜11 ver0.09 F1・F2キーでパネルサイズ変更&リセットするように変更 2005/01/12〜13 ver0.10 スタート時の0パネルの数を縦3列につき1つに固定 2005/01/14 ver0.11 グレーパネルの出現確率が不正解で減点しても低くならないように修正 2005/01/14〜20 ver0.12 不正解時、減点しないでグレーパネルに変化するように変更 2005/01/20〜23 ver0.13 演算子表記切替機能を追加 Cキーでも演算決定するように変更 2005/02/07〜03/15 ver0.15 入力に対する応答速度を修正 Enterキーでも演算決定するように変更 2005/03/16〜06/13 ver0.16 パネルデザインを変更 演算子 * の表示を改善 Enterキーを使用不可に変更 2005/08/08〜09/11 ver1.00 (ver1.00.00 4096byte → ver1.00.04 4003byte) 2005年のコンテスト仕様に大幅改修 HSP2.61 → HSP3.0 パレットモード → フルカラーモード ウィンドウサイズを 640x480 で中央表示に変更 ナビゲーションを ON に固定 演算子表記切替機能を削除 演算子 / を ÷ に変更 2005/09/13 ver1.01.00 (4092byte) NEXTパネル表示機能を追加 表示を左寄りに変更 2005/09/16 ver1.01.01 (4092byte) ver1.01.00 で、サイズの都合上により画面の左上1ドットを白にしていたのを修正