2020 ソフトウェア設計及び演習用の班Wiki

20::gr09::中間発表

9班wiki > 中間発表

中間発表

プロジェクト名

岩大テトリス

プロジェクト説明

  • 岩ちゃんをモチーフとしたテトリスを作成する
  • 主なルールはテトリスのルールを採用
  • 基本操作はキーボードから(↑↓←→,s,d,f)
  • player vs AI

簡易企画書

ものと操作の洗い出し結果

モジュール分け結果

デモ用URL

学内からのみ利用可能なURLです。最新版でない可能性、また、予告無く公開終了する可能性があります。

岩大テトリス デモ用URL

中間発表用gitlabリポジトリ

プログラムの主な動き

tetris_flow.png

デモプログラムの説明

フィールドの表示

フィールドとミノ を表示する

操作ミノ表示

現在操作できるミノを表示する。
設置したらフィールドのモジュールにミノを関数として渡し、ネクストミノを操作ミノとして表示。

横移動

→キーを押したら右に、←キーを押したら左に移動する。
移動方向に壁があったら移動不可。

右回転

キーを押す毎に操作ミノを右回りに回転させる。
壁があって回転スペースが足りない場合は自動的に必要マス分横に移動してから回転する。
両側に壁があり、スペースが確保できない時は回転不可。

左回転

回転方向が左回り。それ以外は右回転と同じ。

下に移動(ソフトドロップ)

キーを押し続けている間ミノを下に移動させる。

一気に下に移動(ハードドロップ)

キーを押したら設置されるまで下に一気に移動させる。
ハードドロップ中は回転や移動の操作を受け付けない。

ミノ設置

操作ミノが一定時間床に接触したらミノを設置して次のミノを出現させる。
ハードドロップでは接触時間を考慮しない。

自動落下

1秒ごとに1マス下に移動させる。
ソフトドロップ・ハードドロップ中は自由落下しない。

ホールド

キーを押したら操作ミノとホールドミノを入れ替える。
ホールドミノが無い場合は操作ミノをホールドミノとし、ネクストミノを操作ミノにする。
ホールドをしたらミノを設置するまで再度ホールドすることはできない。

デモのスクリーンショット

demo.png

今後の予定

タイトル画面やリザルト画面、オプション画面を作るとともにAI対戦だけではなくできればpvpもできるようにする


最終更新日:2020/07/31 13:52:33