XNAで製作中のゲーム紹介
以前より少しづつ作り続けている、パズルゲームのご紹介。
元は大学時代に友人が作ったゲームを
少しアレンジしたりしてXNAに移植しています。
基本的なルール
・ブロックには重さが設定されている
・左右の天秤の重さの差が5以上になると半ブロック分、
10以上1ブロック分天秤の高さが上下する。
15以上でゲームオーバー。
・3つ同じ色のブロックを隣接させると消える。
半ブロックずれた状態でも、隣接扱いとなる。
クラス設計はこんな感じ。
ゲームのクラス設計はしたことないので我流です。
リファクタリングしやすく、
仕様変更や機能追加などをしやすいように、
を目指して作っています。
例えば、上の図にあるControlBlockは、
実際にはControlBlockを継承したControlBlockDoubleを使用しており、
ControlBlockSingleを生成するように変更すると
落下ブロックがひとつになるように作っています。
ゲームの基本部分はできているので、
いろいろと要素を肉付けしていっている状態です。