2015年11月15日 星期日

C10_1 多載運算子"++"的例子

using System;
namespace C10_1
{
    public class Player
    {
        private int tili; //體力
        private int neili; //內力
        private int s_tili; //剩餘體力
        private int s_neili; //剩餘內力
        private int jingyan; //經驗值

        public Player()
        {
            tili = 100;
            neili = 50;
            s_tili = 150;
            s_neili = 50;
            jingyan = 1;
        }
        ///
        ///多載"++"運算子
        ///
        ///
        ///
        public static Player operator ++(Player p)
        {
            p.tili = p.tili + 200;
            p.neili = p.neili + 100;
            p.s_tili = p.tili;
            p.s_neili = p.neili;
            p.jingyan = p.jingyan + 1;
            return p;
        }
        public void Show()
        {
            Console.WriteLine("體力:{0}", tili);
            Console.WriteLine("內力:{0}", neili);
            Console.WriteLine("剩餘體力{0}", s_tili);
            Console.WriteLine("剩餘內力{0}", s_neili);
            Console.WriteLine("經驗值:{0}", jingyan);
        }
    }
    public class test
    {
        public static void Main()
        {
            Player man = new Player();
            man.Show();
            //編譯器調用public static Player operator ++(Player p)方法
            man++;
            Console.WriteLine("\n現在開始升級....");
            man.Show();
        }
    }
}

沒有留言: