示例#1
0
文件: Player.cs 项目: rtshadow/miscs
 public override void CollisionCheck(Sprite a)
 {
     if (Config.statusGry == GameState.inProgress&&Obliczarka.KolizjaDlaOkregow(this, a)&&a.typ==Type.item)
     {
             Item temp = (Item)a;
             if (temp.lockTime > 0)
                 return;
             if (temp.typItemu == ItemType.shield&&ochrona!=100)
             {
                 ochrona = 100;
                 a.PrzyjmijUderzenie(0);
             }
             if (temp.typItemu == ItemType.health && zycie != 100)
             {
                 zycie = Math.Min(100, zycie + temp.info1);
                 a.PrzyjmijUderzenie(0);
             }
             if (temp.typItemu != ItemType.health && temp.typItemu != ItemType.shield)
             {
                 if (jeden.ZwrocTyp() == ItemType.unknown)
                 {
                     jeden = new Gun(temp, new Vector2(0, 10));
                     a.PrzyjmijUderzenie(0);
                     jeden.LoadContent(zawartosc);
                     return;
                 }
                 if (dwa.ZwrocTyp() == ItemType.unknown)
                 {
                     dwa = new Gun(temp, new Vector2(0, 60));
                     a.PrzyjmijUderzenie(0);
                     dwa.LoadContent(zawartosc);
                     return;
                 }
                 if (jeden.ZwrocTyp() == temp.typItemu)
                 {
                     jeden.DodajAmunicje(temp);
                     a.PrzyjmijUderzenie(0);
                     return;
                 }
                 if (dwa.ZwrocTyp() == temp.typItemu)
                 {
                     dwa.DodajAmunicje(temp);
                     a.PrzyjmijUderzenie(0);
                     return;
                 }
             }
     }
 }
示例#2
0
文件: Player.cs 项目: rtshadow/miscs
 //ustawienie podstawowych wartosci
 public override void Initialize()
 {
     typ = Type.player;
     stan = State.alive;
     zycie = 100;
     ochrona = 0;
     pozycja = new Vector2(Config.rozmiarPlanszy.X / 2, Config.rozmiarPlanszy.Y / 2);
     Config.pozycjaGracza = pozycja;
     wielkoscObiektu = new Vector2(1, 1);
     nrWarstwy = 5;
     jeden = new Gun(new Item(new Vector2(), 0, 0, ItemType.unknown, 12, 0), new Vector2(0, 10));
     dwa = new Gun(new Item(new Vector2(), 0, 0, ItemType.unknown, 0, 0), new Vector2(0, 60));
 }
示例#3
0
文件: Player.cs 项目: rtshadow/miscs
        public override void Update(GameTime time)
        {
            if (stan == State.alive&&Config.statusGry == GameState.inProgress)
            {
                MakeAMove(time);
                Config.pozycjaGracza = pozycja;
                if (Keyboard.GetState().IsKeyDown(Keys.Q)&&jeden.ZwrocTyp()!=ItemType.unknown)
                {
                    jeden.WyrzucSie();
                    jeden = new Gun(new Item(new Vector2(), 0, 0, ItemType.unknown, 12, 0), new Vector2(0, 10));
                    jeden.LoadContent(zawartosc);
                }
                if (Keyboard.GetState().IsKeyDown(Keys.E) && dwa.ZwrocTyp() != ItemType.unknown)
                {
                    dwa.WyrzucSie();
                    dwa = new Gun(new Item(new Vector2(), 0, 0, ItemType.unknown, 12, 0), new Vector2(0, 60));
                    dwa.LoadContent(zawartosc);
                }
                jeden.Update(time);
                dwa.Update(time);
                if (Mouse.GetState().LeftButton == ButtonState.Pressed)
                    jeden.Strzelaj();
                if (Mouse.GetState().RightButton == ButtonState.Pressed)
                    dwa.Strzelaj();
                if (zycie < 100)
                    zycie += przywracanieZycia * (float)time.ElapsedGameTime.TotalSeconds;
                if (zycie < 0)
                {
                    Config.statusGry = GameState.ended;
                    stan = State.dead;
                }

            }
        }