예제 #1
0
 public class_Card(class_Card a_card)
 {
     Name         = a_card.Name;
     m_iAttack    = a_card.m_iAttack;
     m_iDefense   = a_card.m_iDefense;
     m_gCard      = a_card.m_gCard;
     m_gCard.name = a_card.m_gCard.name;
 }
예제 #2
0
    public void AttacK()
    {
        if (coinFlip == 1)
        {
            //player 2 attacking player 1
            //Player 2's target
            class_Card player2Target = null;

            //check if any cards in player1's defense lane or attack lane. make the target defene > attack otherwise null.

            if (Player1.DefenseLane.Count >= 1)
            {
                //pick a defense target from player 1's defense lane

                player2Target = Player1.DefenseLane[UnityEngine.Random.Range(0, Player1.DefenseLane.Count - 1)].GetComponent <class_Card>();
            }
            else if (Player1.AttackLane.Count >= 1)
            {
                //pick a random target from player1's attck lane
                int targetRandom = UnityEngine.Random.Range(0, Player1.AttackLane.Count + 1);
                if (targetRandom <= Player1.AttackLane.Count - 1)
                {
                    player2Target = Player1.AttackLane[UnityEngine.Random.Range(0, Player1.AttackLane.Count - 1)].GetComponent <class_Card>();
                }
                else
                {
                    //if the rng is higher than attackCount attack the player
                    player2Target = null;
                }
            }
            else
            {
                player2Target = null;
            }

            if (attackOrder < Player2.AttackLane.Count)
            {
                if (player2Target != null)
                {
                    player2Target.TakeDamage(Player2.AttackLane[attackOrder].GetComponent <class_Card>().Attack);
                    Player2.AttackLane[attackOrder].GetComponent <class_Card>().Defense -= player2Target.Attack;
                    attackOrder++;
                }

                if (player2Target == null)
                {
                    Player1.Health -= Player2.AttackLane[attackOrder].GetComponent <class_Card>().Attack;

                    attackOrder++;
                }
            }
        }

        else if (coinFlip == 0)
        {
            //attacking Player 2
            //player1's target
            class_Card player1Target = null;
            if (Player2.DefenseLane.Count >= 1)
            {
                player1Target = Player2.DefenseLane[UnityEngine.Random.Range(0, Player1.DefenseLane.Count - 1)].GetComponent <class_Card>();
            }
            //else attack the player's attack lane
            else if (Player2.AttackLane.Count >= 1)
            {
                int targetRandom = UnityEngine.Random.Range(0, Player2.AttackLane.Count + 1);
                if (targetRandom <= Player2.AttackLane.Count - 1)
                {
                    player1Target = Player2.AttackLane[UnityEngine.Random.Range(0, Player2.AttackLane.Count - 1)].GetComponent <class_Card>();
                }
                else
                {
                    player1Target = null;
                }
            }
            else
            {
                player1Target = null;
            }

            //if the attack order isnt greater than our current attack lane, you may attack
            if (attackOrder < Player1.AttackLane.Count)
            {
                if (player1Target != null)
                {
                    player1Target.TakeDamage(Player1.AttackLane[attackOrder].GetComponent <class_Card>().Attack);
                    Player1.AttackLane[attackOrder].GetComponent <class_Card>().Defense -= player1Target.Attack;
                    attackOrder++;
                }
                else
                {
                    Player2.Health -= Player1.AttackLane[attackOrder].GetComponent <class_Card>().Attack;
                    attackOrder++;
                }
            }
        }
    }
예제 #3
0
 public void SetCard(class_Card a_card)
 {
     Debug.Log(a_card.Attack);
     m_iAttack = a_card.Attack;
 }