diff --git a/Assets/Scripts/BattleData.cs b/Assets/Scripts/BattleData.cs index a25474b..af75841 100644 --- a/Assets/Scripts/BattleData.cs +++ b/Assets/Scripts/BattleData.cs @@ -7,14 +7,14 @@ public class BattleData //勝敗判定(1:player勝利、0:継戦、ー1:enemy勝利) public readonly int BattleJudge; //先行判定(true:player先行) - public readonly bool MoveJudge; + public readonly bool ActionJudge; public readonly Player Player; public readonly Enemy Enemy; - public BattleData(int battleJudge, bool moveJudge, Player player, Enemy enemy) + public BattleData(int battleJudge, bool actionJudge, Player player, Enemy enemy) { this.BattleJudge = battleJudge; - this.MoveJudge = moveJudge; + this.ActionJudge = actionJudge; this.Player = player; this.Enemy = enemy; } diff --git a/Assets/Scripts/BattleManager.cs b/Assets/Scripts/BattleManager.cs index 81911a4..2c127f8 100644 --- a/Assets/Scripts/BattleManager.cs +++ b/Assets/Scripts/BattleManager.cs @@ -33,14 +33,16 @@ void Start() int enemyHp = battleData.Enemy.Hp; string sendMessage = ""; - if (battleData.actionJudge) + if (battleData.ActionJudge) { sendMessage += GenerateMessage(battleData.Player); + sendMessage += "\n"; sendMessage += GenerateMessage(battleData.Enemy); } else { sendMessage += GenerateMessage(battleData.Enemy); + sendMessage += "\n"; sendMessage += GenerateMessage(battleData.Player); } return (sendMessage, playerHp, enemyHp); diff --git a/Assets/Scripts/BattleSystem.cs b/Assets/Scripts/BattleSystem.cs index 359c4e0..0d7f1e6 100644 --- a/Assets/Scripts/BattleSystem.cs +++ b/Assets/Scripts/BattleSystem.cs @@ -8,7 +8,7 @@ public class BattleSystem private EnemyAI enemyAI; public BattleSystem() { - var config = Resources.Load("ApiKey") as TextAsset; + var config = UnityEngine.Resources.Load("ApiKey") as UnityEngine.TextAsset; var _apiKey = config.text.Trim(); enemyAI = new EnemyAI(_apiKey); } @@ -22,14 +22,18 @@ public async UniTask BattleProcessAsync(int playerAction) //ChatGPTからEnemyのActionTypeを取得 enemy.ActionType = await enemyAI.GetEnemyActionAsync(player.Hp, enemy.Hp); + //ダメージ計算とカウンターの成功判定 (player.DamageValue, enemy.DamageValue, player.CounterJudge, enemy.CounterJudge) = Damage(player.ActionType, enemy.ActionType); - player.Hp = HpCalculate(player.Hp, player.ActionType, player.DamageValue); - enemy.Hp = HpCalculate(enemy.Hp, enemy.ActionType, enemy.DamageValue); - + //HP計算 + (player.Hp, enemy.Hp) = HpCalculate(player.Hp, player.ActionType, player.DamageValue, enemy.Hp, enemy.ActionType, enemy.DamageValue); + //バトル終了判定 int battleJudge = BattleJudge(player.Hp, enemy.Hp); - bool moveJudge = MoveJudge(player.CounterJudge); + + //先行判定 + bool moveJudge = ActionJudge(player.CounterJudge); + return new BattleData(battleJudge, moveJudge, player, enemy); } @@ -164,53 +168,43 @@ public async UniTask BattleProcessAsync(int playerAction) //カウンターの処理 - switch (playerCounterJudge) + if (playerCounterJudge) { - case true: - playerAction = 0; - break; - - case false: - playerDamageValue = enemyDamageValue; - enemyDamageValue = 0; - break; + playerDamageValue = enemyDamageValue; + enemyDamageValue = 0; } - switch (enemyCounterJudge) + if (enemyCounterJudge) { - case true: - enemyDamageValue = 0; - break; - - case false: - enemyDamageValue = playerDamageValue; - playerDamageValue = 0; - break; + enemyDamageValue = playerDamageValue; + playerDamageValue = 0; } return (playerDamageValue, enemyDamageValue, playerCounterJudge, enemyCounterJudge); } //HP計算 - private int HpCalculate(int hp, int action, int damageValue) + private (int playerHp, int enemyHp) HpCalculate(int playerHp, int playerAction, int playerDamageValue, int enemyHp, int enemyAction, int enemyDamageValue) { - int _hp = hp; - int _damageValue = damageValue; - //回復だけ区別 - if (action == 2) + if ((playerAction == 2) && (enemyAction == 2)) { - _hp = _hp + _damageValue; + playerHp += playerDamageValue; + enemyHp += enemyDamageValue; } - else + else if (playerAction == 2) { - _hp = _hp - _damageValue; + playerHp += playerDamageValue - enemyDamageValue; } - - if (_hp <= 0) + else if (enemyAction == 2) + { + enemyHp += enemyDamageValue - playerDamageValue; + } + else { - _hp = 0; + playerHp -= enemyDamageValue; + enemyHp -= playerDamageValue; } - return _hp; + return (playerHp, enemyHp); } //勝敗判定(1:player勝利、0:継戦、ー1:enemy勝利) @@ -236,7 +230,7 @@ private int BattleJudge(int playerHp, int enemyHp) } //先行判定 - private bool MoveJudge(bool counterJudge) + private bool ActionJudge(bool counterJudge) { if (counterJudge == true) { diff --git a/Assets/Scripts/Enemy.cs b/Assets/Scripts/Enemy.cs index b55151b..4a0fe61 100644 --- a/Assets/Scripts/Enemy.cs +++ b/Assets/Scripts/Enemy.cs @@ -2,7 +2,7 @@ namespace HackathonA { - public class Enemy : ICharactar + public class Enemy : ICharacter { public Enemy(int hp = 100, int actionType = 0, int damageValue = 0, bool counterJudge = false, int enemyType = 0) { diff --git a/Assets/Scripts/ICharactar.cs b/Assets/Scripts/ICharacter.cs similarity index 88% rename from Assets/Scripts/ICharactar.cs rename to Assets/Scripts/ICharacter.cs index 30b1bf1..ba9bbfc 100644 --- a/Assets/Scripts/ICharactar.cs +++ b/Assets/Scripts/ICharacter.cs @@ -2,7 +2,7 @@ namespace HackathonA { - interface ICharactar + interface ICharacter { int Hp { get; set; } int ActionType { get; set; } diff --git a/Assets/Scripts/ICharactar.cs.meta b/Assets/Scripts/ICharacter.cs.meta similarity index 100% rename from Assets/Scripts/ICharactar.cs.meta rename to Assets/Scripts/ICharacter.cs.meta diff --git a/Assets/Scripts/NewBehaviourScript.cs b/Assets/Scripts/NewBehaviourScript.cs deleted file mode 100644 index 6968256..0000000 --- a/Assets/Scripts/NewBehaviourScript.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class NewBehaviourScript : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} diff --git a/Assets/Scripts/NewBehaviourScript.cs.meta b/Assets/Scripts/NewBehaviourScript.cs.meta deleted file mode 100644 index f45c849..0000000 --- a/Assets/Scripts/NewBehaviourScript.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 58532926f6d10f94482ead00c71d34c3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player.cs index 34cab4b..c16850c 100644 --- a/Assets/Scripts/Player.cs +++ b/Assets/Scripts/Player.cs @@ -2,7 +2,7 @@ namespace HackathonA { - public class Player : ICharactar + public class Player : ICharacter { public Player(int hp = 100, int actionType = 0, int damageValue = 0, bool counterJudge = false) {