BANXの日記

ゲームとか、たまにプログラムとか。

XNAで製作中のゲーム紹介

以前より少しづつ作り続けている、パズルゲームのご紹介。
元は大学時代に友人が作ったゲームを
少しアレンジしたりしてXNAに移植しています。

基本的なルール
・ブロックには重さが設定されている
・左右の天秤の重さの差が5以上になると半ブロック分、
 10以上1ブロック分天秤の高さが上下する。
 15以上でゲームオーバー。
・3つ同じ色のブロックを隣接させると消える。
 半ブロックずれた状態でも、隣接扱いとなる。


クラス設計はこんな感じ。
f:id:BANX:20120215102511p:image
ゲームのクラス設計はしたことないので我流です。
リファクタリングしやすく、
仕様変更や機能追加などをしやすいように、
を目指して作っています。
例えば、上の図にあるControlBlockは、
実際にはControlBlockを継承したControlBlockDoubleを使用しており、
ControlBlockSingleを生成するように変更すると
落下ブロックがひとつになるように作っています。


ゲームの基本部分はできているので、
いろいろと要素を肉付けしていっている状態です。