Skip to content

Recursion-a-team-development/tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tetris Game 🎮

概要

このテトリスゲームは、さまざまなテトロミノブロック( 「I」 「O」 「Z」 「S」 「L」 「J」 「T」 )を使い、できるだけ多くのラインをそろえて消してスコアを稼ぐことを目指します。 ブロックの回転や位置調整を行い、画面上でブロックが積み上がりきらないようにプレイします。

特徴 ✨

  • スコアシステム: ラインの消去数に応じてポイントを獲得。
  • レベルアップ: 15 秒ごとに落下スピードが上昇。

遊び方 🎲

  1. ゲーム開始: アプリケーションを起動し、"ゲーム画面へ"ボタンを押してください。
  2. 操作方法:
    • 左に移動: [キー例: ]
    • 右に移動: [キー例: ]
    • 回転: [キー例: ]
    • 落下: [キー例: スペースキー]
  3. 目標: ラインを消去し、ブロックが画面上部まで積み上がらないようにします。
  4. スコアリング:
    • 1 ライン消去: 100 ポイント
    • 2 ライン消去: 200 ポイント
    • 3 ライン消去: 400 ポイント
    • テトリス (4 ライン): 800 ポイント

フォルダ構成 📁

.
└── src/
    ├── assets/
    │   ├── audio/
    │   │   └── sound-effect  効果音
    │   └── images            画像
    ├── game/
    │   ├── app.js            ゲームロジック
    │   ├── board.js          ゲームボード
    │   ├── gemeSetting.js    ゲーム設定
    │   ├── score.js          ゲームスコア
    │   ├── sound.js          ゲーム効果音
    │   └── tetromino.js      ミノ
    ├── pages/
    │   ├── game.js           ゲーム画面
    │   ├── instruction.js    説明画面
    │   └── top.js            初期画面
    └── styles                各css

技術的考慮点

  1. 非機能要件である拡張性・保守性の向上:

    • ゲーム設定項目の定数化
    • ファイル分割を行い責務の分離
  2. JSDoc

    • 誰が見ても理解できるようにメソッドの役割と引数を記載
  3. コミットメッセージの書式

    • 統一することで今回のコミット内容がコミットメッセージだけで理解できるように記載

作業の進め方

  1. 良かった点:

    • 作業内容を影響度ごとに分類し、高い影響度のタスクから優先的に対応することで効率的に実施した。
    • レビュー指摘事項は速やかに対応することで、他の作業やスケジュールへの影響を最小限に抑えた。
  2. 改善点:

    • プロジェクト開始段階でファイル分割をし、責務の分離をすべきだった。
    • 自己レビュー段階でバグの発生確認をより行うべきだった(Jest などのテストが必要だった)。

学んだこと

  1. ファイル分割の重要性:

    • 機能ごとにファイルを分割することで、コードの再利用性やモジュール間の依存関係が整理され、メンテナンスが容易になる。さらに、ファイルが小さくなることで、特定の機能を素早く把握できるようになる。
  2. 責務の分離:

    • クラスや関数が単一の責務に集中するように設計することで、保守性と可読性が向上する。特に大規模なコードベースでは、役割が明確に分離されていると、変更の影響範囲を特定しやすくなる。
  3. GitHub の Project 利用

    • かんばんと RoadMap を使用することで作業の進捗を把握管理しやすくなる。
  4. ソースレビュー

    • チームレビューを通して自身の不足部分を把握できた。
    • 自分以外のソースを知ることができ、様々な書き方があることを知った。

今後の改善点 🗓️

  • BGM の追加
  • ホールド機能
  • 画面の背景
  • スコアランキング

参考文献 📚


ご覧いただきありがとうございます!楽しいゲームプレイをお楽しみください!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors