Code Monkey home page Code Monkey logo

gp2sandbox's Introduction

GP2Sandbox

Unityでのチーム開発やオブジェクト指向、SOLID原則を学ぶためのサンプルプロジェクトです。

前提条件

  • GitHubのアカウントを持ち、基本的な操作ができること
  • Unity2019.4.x以降の基本操作ができること
  • WinMergeがインストールされていること

作業準備

チュートリアルをはじめる前にやっておく準備手順です。

  1. GitHubにサインインして、このリポジトリーをForkします
  2. GitHub Desktopなどでクローンします
  3. 今回は自分達の学習に利用するので、下の For my own purposes を選択して Continue します

プルリクエスト先を自分のリポジトリーへ

  1. Unity Hubを起動して、リストに追加 をクリックして、クローンしたフォルダーを追加します
  2. GP2SandboxプロジェクトをUnityで開きます
  3. Unityが開いたら、Windowメニューから TextMeshPro > Import TMP Essential Resources を選択して Import します
  4. Projectウィンドウから GP2Sandbox > Scenes フォルダーを開いて、 System シーンをダブルクリックして開きます

以上で準備完了です。Playすればプロジェクトが起動します。

操作方法

  • 画面クリックでゲーム開始
  • プレイヤーはマウスカーソルの方向に向きます
  • クリックで弾を撃ちます
  • 弾を撃つと反動で逆方向に加速します
  • デバッグキーとして、O(オー)キーでゲームオーバー、Cキーでクリアします

以上です。キャラクターの破壊処理はまだ入っておらず、ゲームとしては未完成です。

このプロジェクトでやりたいこと

  • GitHub練習
    • ブランチ操作
    • コンフリクトの発生と解決方法、対策
  • unitypackageへのエクスポートによる共同開発
  • オブジェクト指向の機能確認
    • カプセル化、継承、ポリモーフィズム
    • インターフェースによる処理の実装の分離
  • ジェネリック
    • GetComponentで利用済み
    • IShooter, NormalShooterとNormalShotAssetで実装を確認
  • SOLID原則
    • 単一責任
      • プレイヤーとショット
    • オープン・クローズドの原則
      • MonoBehaviour
    • リスコフの置換原則
      • 様々なオブジェクトを管理できるAM1ObjectPool
    • インターフェース分離の原則
      • プレイヤーや敵の行動の分離
    • 依存関係逆転の原則
      • 上位のGameParamsからScoreTextを参照するのではなく、ScoreTextからGameParamsへ依存する

サンプルアプリ

操作方法

  • マウスで操作
  • プレイヤーはマウスの方向を向く
  • クリックでショット
  • 敵や敵の弾に当たったらゲームオーバー
  • 敵を全て倒したらクリア
  • スコアを競う

LICENSE

MIT License

Copyright (c) 2021 Yu Tanaka

gp2sandbox's People

Contributors

tanakaedu avatar am1tanaka avatar fogmisthaze avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.