Skip to content

Commit

Permalink
Merge commit '83a38c7f0feea0213619b492cdb2b858ef0657b8' into #1-戦闘シーン
Browse files Browse the repository at this point in the history
  • Loading branch information
aiueo-1234 committed Jun 18, 2023
2 parents 776d417 + 83a38c7 commit b27ebcf
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 72 deletions.
6 changes: 3 additions & 3 deletions Assets/Scripts/BattleData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
4 changes: 3 additions & 1 deletion Assets/Scripts/BattleManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
66 changes: 30 additions & 36 deletions Assets/Scripts/BattleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand All @@ -22,14 +22,18 @@ public async UniTask<BattleData> 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);
}

Expand Down Expand Up @@ -164,53 +168,43 @@ public async UniTask<BattleData> 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勝利)
Expand All @@ -236,7 +230,7 @@ private int BattleJudge(int playerHp, int enemyHp)
}

//先行判定
private bool MoveJudge(bool counterJudge)
private bool ActionJudge(bool counterJudge)
{
if (counterJudge == true)
{
Expand Down
2 changes: 1 addition & 1 deletion Assets/Scripts/Enemy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace HackathonA
{
interface ICharactar
interface ICharacter
{
int Hp { get; set; }
int ActionType { get; set; }
Expand Down
File renamed without changes.
18 changes: 0 additions & 18 deletions Assets/Scripts/NewBehaviourScript.cs

This file was deleted.

11 changes: 0 additions & 11 deletions Assets/Scripts/NewBehaviourScript.cs.meta

This file was deleted.

2 changes: 1 addition & 1 deletion Assets/Scripts/Player.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down

0 comments on commit b27ebcf

Please sign in to comment.