Пример #1
0
    // Start is called before the first frame update
    void Start()
    {
        //  呼叫CentralData
        CentralData myData = CentralData.GetInst();

        // 動態設定p1 p2
        //p1 = factory.Create("黃色小鴨");
        //p2 = factory.Create("黃色小鴨");
        p1 = factory.Create(myData.Player);
        p2 = factory.Create(myData.Enemy);

        p1.transform.position = new Vector3(-5.0f, -0.7f, 0.0f);
        p2.transform.position = new Vector3(5.2f, 1.0f, 0.0f);

        // 翻轉p1
        SpriteRenderer spr = p1.GetComponent <SpriteRenderer>();

        if (spr != null)
        {
            spr.flipX = true;
        }

        // 顯示腳色
        p1.gameObject.SetActive(true);
        p2.gameObject.SetActive(true);

        // 初始化腳色的訊息框
        panel1.Init(p1);
        panel2.Init(p2);

        string msg = "開戰!! " + p1.pokename + " vs " + p2.pokename + " 決鬥開始";

        message.text = msg;
    }
Пример #2
0
    public void Next() // 做每回合
    {
        //round++;
        //Debug.Log("第" + round + "回合");
        Pokemon13 pAtker = null;
        Pokemon13 pDefer = null;
        string    msg    = ""; // 1.
        int       bWho   = Random.Range(0, 2);

        if (bWho > 0)
        {
            pAtker = p1;
            pDefer = p2;
        }
        else
        {
            pAtker = p2;
            pDefer = p1;
        }
        Debug.Log(pAtker.pokename + " 攻擊");
        msg         += pAtker.pokename + " 攻擊\n";
        message.text = msg;

        int damage = pAtker.Atk() - pDefer.Def();

        if (damage <= 0)
        {
            //Debug.Log(pDefer.name + " 成功防禦");
            msg         += pDefer.pokename + " 成功防禦\n";
            message.text = msg;
        }
        else
        {
            //Debug.Log(pAtker.name + " 攻擊成功, " + pDefer.name + " 損傷 " + damage);
            msg         += pAtker.pokename + " 攻擊成功, " + pDefer.pokename + " 損傷 " + damage + "\n";
            message.text = msg;

            //pDefer.hp -= damage;
            pDefer.Damage(damage);
        }
        Debug.Log(pDefer.pokename + " 還有HP: " + pDefer.hp);
        msg         += pDefer.pokename + " 還有HP: " + pDefer.hp + "\n";
        message.text = msg;

        if (pDefer.hp <= 0)
        {
            // 勝負已出!!
            pWinner = pAtker; // 勝者
            pLoser  = pDefer; // 魯蛇

            Debug.Log(pDefer.pokename + " 被打趴了..");
            Debug.Log("獲勝者為 " + pAtker.pokename);
            msg         += pDefer.pokename + " 被打趴了.." + "\n";
            msg         += "獲勝者為 " + pAtker.pokename + "\n";
            message.text = msg;
            //bPlay = false;
        }
    }
Пример #3
0
    public void Next()
    {
        //p1 = new Pikachu13(); // Pikachu13 Bulbasaur13 Squirtle13
        //p2 = new Bulbasaur13();

        Debug.Log(p1._name + " 有HP: " + p1.hp);
        Debug.Log(p2._name + " 有HP: " + p2.hp);



        Pokemon13 pAtker = null;
        Pokemon13 pDefer = null;
        string    mag    = " ";
        int       bWho   = Random.Range(0, 2);

        if (bWho > 0)
        {
            pAtker = p1;
            pDefer = p2;
        }
        else
        {
            pAtker = p2;
            pDefer = p1;
        }
        Debug.Log(pAtker._name + " 攻擊");
        mag         += pAtker._name + " 攻擊";
        message.text = mag;
        int damage = pAtker.atk() - pDefer.def();

        if (damage <= 0)
        {
            //Debug.Log(pDefer.name + " 成功防禦");
        }
        else
        {
            //Debug.Log(pAtker.name + " 攻擊成功, " + pDefer.name + " 損傷 " + damage);
            pDefer.hp -= damage;
        }
        Debug.Log(pDefer._name + " 還有HP: " + pDefer.hp);
        mag         += pDefer._name + " 還有HP: " + pDefer.hp + "\n";
        message.text = mag;
        if (pDefer.hp <= 0)
        {
            Winer = pAtker;
            Loser = pDefer;
            Debug.Log(pDefer._name + " 被打趴了..");
            Debug.Log("獲勝者為 " + pAtker._name);
            mag         += pDefer._name + " 被打趴了.." + "\n";
            mag         += "獲勝者為 " + pAtker._name + "\n";
            message.text = mag;

            return;
        }
    }
Пример #4
0
 public void init(Pokemon13 r)
 {
     role = r;
     init(r._name, r.hp, r.hp);
 }
Пример #5
0
 // 2
 public void Init(Pokemon13 r)
 {
     this.role = r;
     Init(r.pokename, r.hp, r.hp);
 }