模拟cs背包切枪换枪哒哒哒(菜鸟作业部分代码)

 abstract class Weapon
    {
        string name;


        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        string type;


        public string Type
        {
            get { return type; }
            set { type = value; }
        }
        static List backpack = new List();


        internal static List Backpack
        {
            get { return Weapon.backpack; }
            
        }
        public static void addwuqi(params Weapon[] n)
        {
            for (int i = 0; i < n.Length; i++)
            {
                 backpack.Add(n[i]);


            }
        }
        public Weapon(string name,string type)
        {
            this.Name = name; this.Type = type;
        }
        public static void show(params Weapon[] n)
        {
            for (int i = 0; i < n.Length; i++)
            {
                int m=i+1;
                 
                Console.WriteLine("武器类型{1}:{0},武器名字{2}",m, n[i].type, n[i].Name);
            }
        }
        public abstract void hurt();

    }






   class Maingun : Weapon
    {
        bool shoot;
       public  bool lianshoot;


        


       
        public bool Shoot
        {
            get { return shoot; }
            set { shoot = value; }
        }
        
       
        
        int numberOfShots;


        public int NumberOfShots
        {
            get { return numberOfShots; }
            set { numberOfShots = value; }
        }
        public int clipsize;


        public int Clipsize
        {
            get { return clipsize; }
            set { clipsize = value; }
        }
        int clipsizeset;


        public int Clipsizeset
        {
            get { return clipsizeset; }
            set { clipsizeset = value; }
        }


        public Maingun(string name, string type, int numberOfShots, int clipsize, int clipsizeset,bool lianshoot)
            : base(name, type)
        {
            this.NumberOfShots = numberOfShots; this.Clipsize = clipsizeset; this.Clipsizeset = clipsize; this.lianshoot = lianshoot; this.shoot = lianshoot;
        }
        public override void hurt()
        {
            
           if(clipsize>0)
           {
               if(this.shoot)
               {
                   if(clipsize>=3)
                   {
                       Console.WriteLine("哒哒哒");
                       clipsize -= 3;
                       Console.WriteLine("{0}弹药数为{1}",Name, clipsize);
                   }
                   if(clipsize==2)
                   {
                       Console.WriteLine("哒哒");
                       clipsize = 0;
                       Console.WriteLine("{0}弹药数为{1}", Name, clipsize);
                   }
                   if(clipsize==1)
                   {
                       Console.WriteLine("哒");
                       clipsize = 0;
                       Console.WriteLine("{0}弹药数为{1}", Name, clipsize);
                   }


               }
               else
               {
                   Console.WriteLine("哒");
                   this.clipsize--;
                   Console.WriteLine("{0}弹药数为{1}", Name, clipsize);
               }
           }
            else
           {
               Console.WriteLine("子弹已经打光了!请换子弹哟!");
           }
    
    }
        public void addshots()
        {
            if(this.clipsize+this.numberOfShots>=this.clipsizeset)
            {
               this. numberOfShots -= (this.clipsizeset - this.clipsize);
               this.clipsize = this.clipsizeset;


            }
            else
            {
                this.clipsize += this.numberOfShots;
                this.numberOfShots = 0;
            }
        }
        public void changeshots()
        {
            if (this.lianshoot)
                this.shoot =! this.shoot;
        }

    }




mian函数里的程序



 static void Main(string[] args)
        {
            //Console.WriteLine("请选择武器:1:m249   2:s19s   3:军用铁铲   4:高爆手雷   5:闪光弹   6:  烟雾弹");
            Maingun m249 = new Maingun("m249", "机枪", 120, 50, 50,true);
            Handgun s19=new Handgun("s19s","手枪",70,7,7,false);
            Knife shovel = new Knife("军用铁铲", "近战武器");
            Grenade clinton = new Grenade("高爆手雷", "投掷武器",1);
            Flashbomb shanguang = new Flashbomb("闪光弹", "致盲武器",1);
            Smokeshell smoke = new Smokeshell("烟雾弹", "封锁敌人视野",1);
            int n=0;
            Weapon.addwuqi(m249, s19, shovel, clinton, shanguang, smoke);
            Weapon.show(m249, s19, shovel, clinton, shanguang, smoke);


            
            
            while(true)
            {
                switch(Console.ReadKey().Key.ToString())
                {
                    case "D1":
                        n=0;
                        break;
                    case "D2":
                        n = 1;
                        break;
                    case "D3":
                        n = 2;
                        break;
                    case "D4":
                        n = 3;
                        break;
                    case "D5":
                        n = 4;
                        break;
                    case "D6":
                        n = 5;
                        break;
                   
                    case"Q":
                        if(++n>5)
                        {
                            n = 0;
                        }
                        break;
                    case "Spacebar":
                        Weapon.Backpack[n].hurt();
                        break;
                    case "R":
                        if(Weapon.Backpack[n]is Maingun)
                        {
                            Maingun a = Weapon.Backpack[n] as Maingun;
                            a.addshots();
                        }
                        if (Weapon.Backpack[n] is Handgun)
                        {
                            Handgun b = Weapon.Backpack[n] as Handgun;
                            b.addshots();
                        }
                        break;
                    case"B":
                        if(Weapon.Backpack[n]is Maingun)
                        {
                            Maingun a = Weapon.Backpack[n] as Maingun;
                            a.changeshots();
                        }
                        if (Weapon.Backpack[n] is Handgun)
                        {
                            Handgun b = Weapon.Backpack[n] as Handgun;
                            b.changeshots();
                        }
                        break;
                        


                }
            }






            
        }

你可能感兴趣的:(练习程序)