前两篇文章中,我们讲了如何用c#搭配unity写出多人回合制游戏,
如果需要参考一下的朋友,可以点击传送门:
现在,我们将进行回合制游戏最主要的部分,多人对战多人了,想象一下,你的游戏角色的团队里面有3个小伙伴,一起闯关,打boss,boss也有小弟,就成了多人对战多人了
和前两篇文章一样,我们先分析逻辑,在进行代码
我们多人回合制对战,逻辑应该如下:
- 我方先攻击
- 我方每一个角色攻击完后,进入下一回合
- 敌方轮流攻击我方随机角色
- 全部攻击完后进入下一回合
- 循环直到一方全部战死
再看看我们1v多人的逻辑:
- 我方玩家1个人,敌方3人
- 我方先攻击,随机选取敌方的一个目标进行攻击
- 轮到地方,敌方每个人都会攻击我方
- 然后又轮到我方,随机攻击敌方
- 循环到有一方死光为止
唯一的区别就在于,我方多了几个人
那么,我们就可以把我方和地方一样,变成数组
关于我们之前写的 Charatcer这个类,我做了点更改,具体代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class Character : MonoBehaviour
{
public int Level;
public string Name = "NPC";
public float Hp = 100f;
public int Attack = 5;
[SerializeField] public int Defence
{
get
{
if (Defence <= 100)
{
return Defence;
}
else
{
return 0;
}
}
set
{
;
}
}
[SerializeField]public int Speed
{
get
{
if (S