Skip to content

『Unityバイブル R5夏号』SECTION 6 サンプルコード

License

Notifications You must be signed in to change notification settings

nowsprinting/RoguelikeExample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Roguelike Example

Meta file check Test Integration Test

このリポジトリについて

このリポジトリは、書籍『Unityバイブル R5夏号』(ボーンデジタル, 2023)のSECTION 06「ゲームプレイの自動テスト」のサンプルプロジェクトです。

書籍は次のWebサイトから購入できます。

プロジェクトは書籍発売以降もメンテナンスされますが、書籍に掲載されているテストコードは極力変更しない方針です。 書籍発売時点のプロジェクトは、tag: r5smrを参照してください。

注意事項

  • Unityエディターでしか動作しません(プレイヤービルドしても動作しません)
  • TextMesh Pro Essentialsをトラッキングから外しているので、最初に再生するときにインポートを促すウィンドウが出ます。それに従ってインストールしてください

ゲームプレイ

UnityエディターでAssets/RoguelikeExample/Scenes/Dungeon.unityを開き、再生してください。

キーボード

  • hjklyubnキー:移動
  • hjklキーとControlもしくはShiftキー同時押し:高速移動(a.k.a. Run, Dash)
  • Spaceキー:進行方向に攻撃、選択肢を決定
  • Escapeキー:選択ダイアログをキャンセル

ゲームパッド

  • 左スティック:移動
  • 左スティックEastボタン(ABXYの右側)同時押し:高速移動
  • Southボタン:進行方向に攻撃、選択肢を決定
  • Eastボタン:選択ダイアログをキャンセル

テスト

カテゴリ

一部のテストには、次の Category 属性が定義されています。

  • IgnoreCI : バッチモードでは動作しないテスト
  • Integration : 統合テスト。カバー範囲が広く実行時間もかかるもので、開発者の手元でのテスト実行およびPull Requestやデフォルトブランチへのマージ契機での実行から除外し、夜間などに実行するためにカテゴライズしています
  • Validation : アセット・Scene・Prefab・ScriptableObjectなどのバリデーション。失敗したときの通知先が異なる想定でカテゴライズしています

設計資料

インゲーム(行動ターン)のステート遷移図

stateDiagram-v2
    [*] --> PlayerIdol
    PlayerIdol --> PlayerAction
    PlayerAction --> EnemyAction
    EnemyAction --> EnemyPopup
    EnemyPopup --> PlayerIdol: Runでない

    EnemyPopup --> PlayerRun: Runのとき
    PlayerRun --> PlayerAction: 移動先あり
    PlayerRun --> PlayerIdol: 移動先なし(Run解除)

    PlayerAction --> OnStairs: 階段にいる
    OnStairs --> EnemyAction: Cancel
    OnStairs --> PlayerIdol: New Level
    OnStairs --> Result: 地上へ
    Result --> [*]

    (any) --> Result: 死亡
Loading

アウトゲームの画面遷移図

stateDiagram-v2
    [*] --> Title

    Title --> StageSelect: Start
    StageSelect --> DifficultySelect
    StageSelect --> Title: Cancel
    DifficultySelect --> Ready?
    DifficultySelect --> StageSelect: Cancel
    Ready? --> DifficultySelect: No
    Ready? --> InGame: Yes
    InGame --> Title

    Title --> Ranking
    Ranking --> Title: Close

    Title --> Option
    Option --> Title: Close

    Title --> Credit
    Credit --> Title: Close

    Title --> Exit?
    Exit? --> Title: No
    Exit? --> [*]: Yes
Loading

権利表記・ライセンス

Copyright (c) 2023 Koji Hasegawa

MIT License

サードパーティ ライセンス

PixelMplus
Copyright (C) 2002-2013 M+ FONTS PROJECT
M+ FONT LICENSE
kgsi/japanese_full.txt
ライセンス未表記

About

『Unityバイブル R5夏号』SECTION 6 サンプルコード

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •