プロジェクトの説明

■はじめに
このプロジェクトは、学習用ソースという位置づけです。
基礎的なテトリスをJavaで作成したサンプルとして、学習用に使っていただければ幸いです。

お試し版として、総当り検索によるCOM対応を作成。

スコア対応や、機械学習などでCOMの精度向上を目指すことを考えているが、現時点で未対応。
※2012以降ソースを更新していません。
※2021年中には、リファクタリング + python移植を対応予定


■コンセプト
テトリスのロジック部分はどんな環境でも共通なはずのため、多少真面目にルールに乗っ取り作成するというプロジェクトです。
完璧なものではないですが、いざテトリス作ろうとしている人がルールどおりに実装する際の参考になればと思います。

テトリスDSの動作を参考に、ワールドルールにある程度準拠しながら作成し、以下が対応済み。
・ネクスト
→7つ先まで表示
→必ず7種類のテトリミノ全てがランダムな順番で均一に出現し、それを7個毎に繰り返す
・スーパーローテーション(Super Rotation)
→Tスピンなどを含む第5法則まで対応済み

・下ボタンではテトリミノが固定しない
・テトリミノの出現位置

画面最上部よりも2段分外側(22段目)


以下は未対応
・ホールド (Hold)
・ハードドロップ (Hard Drop)
・レベルアップ
・スコア計算・表示


■プログラム構成について
入力部(Player)と表示部(Display)をインターフェスとして分離。
具象クラスで、プラットフォーム依存部分を個別に実装する想定。
JavaのSwingを用いたGUIアプリと、コンソール画面上に表示する方法をお試しで作成。
(コンソール出力版は、キー入力を動的取得する方法が不明だったため、SwingのKeyListenerを使って強引に作成)

■COM対応について
入力の抽出化することで、キー入力以外のPlayer作成を試みたものです。
ロジックについては、仮実装レベルです。

スコア対応や、機械学習などでCOMの精度向上するのも一つの目標(未対応)

ダウンロード

レビュー
あなたの評価
レビューする

統計情報

2012-08-24 13:49
匿名さんによるレビュー

評価:
(12 人中 9 人がこのレビューが参考になったと答えています)
test
レビュー一覧

最新の動き

2014-03-06
00:46
tetoru - テトリスを作る
2012-09-22
18:07
tetoru - テトリスを作る
17:52
tetoru - テトリスを作る
活動履歴を見る