Tinyむぎゅ!

Home PC-6001mkII Program etc

関連リンク (P6)むぎゅ! (VB3)むぎゅ!

画面 更新日:2005/02/20
作成日:2004/09/05

 このゲームは、画面上の縦または横の列で連続して同じパターンのある列を圧縮して行く思考型ゲームです。

 HSPプログラムコンテスト2004 ショート部門に応募するために、ゲームの肝の部分をまとめたバージョンとなっています。
(ショート部門(2) No.195 にエントリーしています)


2005/02/20:「秀和システム賞」の賞状と、参加賞が届きました
2004/12/01:秀和システム賞に選ばれました!
2004/11/15:無事、一次審査を通過しました!

遊び方
 プログラムを実行すると、いきなりゲームが始まります。

 カーソルは、カーソルキーの左右で移動できます。

 カーソルのある列の6キャラクタのどこかにパターンが連続している部分があればスペースキーまたはカーソルキーの上下で「むぎゅ」を行うことが出来ます。「むぎゅ」が行える個所にはマークがつくので、すぐわかると思います。

 「むぎゅ」すると、列中の連続しているパターンが1つにまとまり、空いた部分には画面下のネクスト表示部から補充されます。

画面 画面

 上の例では、カーソルのある列で同じパターンが連続している「」と「」がそれぞれ一つづつに圧縮され、空いた空間にはネクスト表示部の左にある「」と「」がカーソルの位置から補充されます。

 このあたりは、実際にプレイした方がよくわかると思います。

 「むぎゅ」が一定回数行われると、レベルが上がって段々と難しくなって行きます。

 このように、画面上の列を「むぎゅ」していき、どの列にも「むぎゅ」できる個所がなくなったらゲームオーバーとなります。

 ゲームオーバー後は [F5]キーを押す事で、再度ゲームを始めることができます。

得点について
 「むぎゅ」した時の得点は、
(パターンの基本点 の合計) × 複数パターンの際の倍率 × レベル
で決定されます。

基本パターンの得点
 「むぎゅ」のパターンは8種類あります。名称および基本点は以下の通りです。

パターン 名称 基本点 説明
[-] 2連 同種のコマが2つ連続した状態
[--] 3連 同種のコマが3つ連続した状態
[---] 4連 同種のコマが4つ連続した状態
[----] 5連 16 同種のコマが5つ連続した状態
[-----] 6連 25 同種のコマが6つ連続した状態
[-] 2ペア 2種類のコマが2つ連続した状態
[--] 3ペア 25 2種類のコマが3つ連続した状態
[-] トリオ 25 3種類のコマが2つ連続した状態

パターンの判定 その1
 一列中に複数パターンがある場合は、2倍,(2×3)倍と倍率がかかります。この時の判定順は「トリオ」「ペア」「連」の順になり、1つのキャラクタが複数のパターン判定で使用されることはありません。

判定パターン 得点(レベルを除く)
[-][---] 2連+4連 (1+9)x2 =20点
[-][-] 2ペア+2連 (5+1)x2 =12点
[-][-][-] 2連+2連+2連 (1+1+1)x2x3 =18点

パターンの判定 その2
 パターンの判定は、カーソルに近い順に行います。このため、同じ列であってもカーソルの方向によってパターンの判定が異なる場合があります。

判定パターン パターン名
左から「むぎゅ」:[-] 2ペア
右から「むぎゅ」:[-] 2ペア
左から「むぎゅ」:[-][-] 2ペア+2連
右から「むぎゅ」:[-] 2ペア

おまけ機能
 コンテストの締切りも過ぎたので、ネタばらしです。

 正式な機能ではありませんが、実は V1.4でおまけ機能をコッソリ入れています。同じ条件でプレイしたい人のために(居るのか?)。

 TinyMugyu.exe の起動時オプションに数値を指定すると、初回のゲームがランダムではなく数値に対応した展開になります。

 例えば、コマンドプロンプトやショートカットで
  TinyMugyu.exe 100
 と指定して実行すると、以下の配置から始まります。
画面
 HSPコンテスト最終投稿Ver.と同じなので、上記の「TinyMugyu.exe」部分を「hspcontest195.exe」に置き換える事でHSPコンテストのものでも動作します。

 Win98以外では未確認なので、他のOSでは別の配置になるかも知れませんが...。

for HSP 3.0β3
 HSPも次は3.0という事で、試しにV1.4を HSP 3.0β3で動作するよう書き直してみました。
変更が必要だった点をメモ書きにて残しておきます。(かなりピンポイントです)
  • rnd の書式が変わった。
    rnd gameno, 99999  (HSP 2.61)
    gameno = rnd(99999)  (HSP 3.0)

  • 計算式の計算順序が変わった。
    mv = mousey / 32 * 256 + mousex / 32  (HSP 2.61)
    mv = mousey / 32 * 8 + mousex / 32  (HSP 3.0)

  • goto,gosub で、「*」を除いたラベル名が使えなくなった。(もともと正式な書式ではないですが)
    gosub Hantei_Yaku  (HSP 2.61)
    gosub *Hantei_Yaku  (HSP 3.0/2.61)

  • 計算式の最後に演算子を置く書式が使えなくなった。(これも正式な書式ではないですが)
    t_bai = yakunum = 3 * yakunum +  (HSP 2.61)
    t_bai = (yakunum = 3) * yakunum + yakunum  (HSP 3.0/2.61)


 HSP 2.61の時に苦労してサイズを減らした start.ax は、2,500バイトから一気に4,745バイトまで増えてしまいました...。数値を表す部分が軒並み倍の容量を取るみたいです。β3時点なので、これからどうなるかはわかりませんが。

 来年のHSPコンテスト ショートプログラムは、5,000バイト制限?

 参考:Tinyむぎゅ! V1.4 for HSP3.0β3

※ ウィンドウがアクティブでなくても、キーボードやマウス入力に反応します。
※ 実行時に、一瞬大きめのウィンドウが開きます。
※ HSPがβ版という事もあって、他に何らかの不具合があるかも知れません。


ダウンロード

履歴
V1.4 (2004/10/11) コンテスト公開日付:2004/10/14
  • 前回と同じ展開でプレイする機能を追加
  • Escキーによるプログラム終了を追加
  • むぎゅ時の得点表示位置を変更
V1.3 (2004/09/30) コンテスト公開日付:2004/09/30
  • レベルアップ時の表示を追加
  • むぎゅ時の得点表示を追加
V1.2 (2004/09/18) コンテスト公開日付:2004/09/25
  • マウス操作に対応
  • ハイスコア機能の追加
  • ゲームオーバー時の表示を、ダイアログからウインドウ上への表示に変更
V1.1 (2004/09/05) コンテスト公開日付:2004/09/11
  • レベルが上がると判別不能の色の駒が出る現象の修正
  • カーソルキー上下の押しっぱなしで連続むぎゅしてしまう現象の修正
  • 駒の見栄えを変更
V1.0 (2004/08/23) コンテスト公開日付:2004/08/29
  • HSPコンテスト2004 ショート部門に応募

以下、余談
  • このプログラムだけ「Tiny」が付いているのは、別に画面を簡略化したからでなく「リプレイ機能」を省いているためです。

    また機会があれば「Tiny」の取れた豪華版(?)を作るかも知れませんが、その時心配なのが HSPの乱数発生パターンです。

    リプレイ機能は「乱数の種が同じなら必ず同じ乱数の順序となる」事が前提になっているので、1台でプレイするならともかく、ランキングは辛いかも知れません。

    HSPが後のバージョンで乱数発生処理を変えてしまうと、過去のプレイデータが再現できなくなるので、この辺りが悩ましいところです。

  • コンテストの制限事項(中間ファイル(?)のstart.axが2,500バイト以内)は、なかなか奥が深いです。もうこれ以上削れない と思いきや、別のところから攻めるとあっさり削れる辺りがなかなか...。

    実際、V1.0とV1.1では start.axのサイズはまったく同じ(2,473バイト)になってます。もしかしたら、まだ削れるところがあって、もう少し何かつけられるかも?
    → 結局、V1.1からまた160バイトほど削れました...。限界はどこだ?

  • V1.1で駒の見栄えを変えたのは、同じコンテスト応募プログラムの No.233に影響されたからだというのは内緒(^_^;)。

  • 処理見なおしとWebにあったstart.ax節約術を駆使して、さらに百数十バイト削れたので、表示上の演出を追加してみました。本当は役名も表示できれば良かったのですが、そこまではメモリが足りませんでした。猶予はあと一ヶ月あるので、今後追加できるかどうかはわかりませんが。

  • V1.4で最後の更新です。多分。
    最初からここまで削減できるとわかっていれば「リプレイ機能」を付けとけば良かったかな、と思いましたが、あとの祭りですね(^_^;)。


トリペア プログラム