コード例 #1
0
ファイル: Przeciwnik.cs プロジェクト: Ravensbow/sdl2-csharp
        public override void Wyswietlanie(CORE core)
        {
            base.Wyswietlanie(core);
            foreach (Pocisk pocisk in wystrzelone)
            {
                pocisk.Wyswietlanie(core);
            }

            Lot();

            Strzelanie();
        }
コード例 #2
0
ファイル: Upgrejdy.cs プロジェクト: Ravensbow/sdl2-csharp
 public void Wyswietlanie(CORE core, Samolot gracz)
 {
     x    = gracz.x;
     y    = gracz.y;
     kont = gracz.kont;
     vx   = gracz.silnik;
     core.DrawSpriteEx(tekstura, new SDL.SDL_Rect()
     {
         x = 0, y = 0, w = 128, h = 128
     }, new SDL.SDL_Rect()
     {
         x = (int)x, y = (int)y, w = (int)w, h = (int)h
     }, kont, w, h);
 }
コード例 #3
0
ファイル: Samolot.cs プロジェクト: Ravensbow/sdl2-csharp
        public void Strzelanie(CORE myCore)
        {
            t_Strzal.Sprawdzanie();

            if (User32.IsKeyPushedDown(Keys.Space) && t_Strzal.flaga == true)
            {
                Pocisk a = new Pocisk(bron.pocisk.tekstura, x, y, 10, 10, (silnik + bron.pocisk.shotspeed), kont, 1);
                wystrzelone.Add(a);
                t_Strzal.Zakonczono();
            }
            for (int i = 0; i < wystrzelone.Count; i++)
            {
                if (wystrzelone[i].x - wystrzelone[i].div_x < -wystrzelone[i].zasieg || wystrzelone[i].y - wystrzelone[i].div_y < -wystrzelone[i].zasieg)
                {
                    wystrzelone.RemoveAt(i);
                }
            }
        }
コード例 #4
0
ファイル: Samolot.cs プロジェクト: Ravensbow/sdl2-csharp
        public override void Wyswietlanie(CORE myCore)
        {
            myCore.DrawSpriteEx(tekstura, new SDL_Rect()
            {
                x = 0, y = 0, w = 128, h = 128
            }, new SDL_Rect()
            {
                x = (int)x, y = (int)y, w = (int)w, h = (int)h
            }, kont, w, h);

            bron.Wyswietlanie(myCore, this);

            for (int i = 0; i < wystrzelone.Count; i++)
            {
                wystrzelone[i].Wyswietlanie(myCore);
            }

            Sterowanie(myCore);
            Strzelanie(myCore);
        }
コード例 #5
0
ファイル: Przeciwnik.cs プロジェクト: Ravensbow/sdl2-csharp
 public override void Wyswietlanie(CORE core)
 {
     base.Wyswietlanie(core);
 }
コード例 #6
0
ファイル: Samolot.cs プロジェクト: Ravensbow/sdl2-csharp
        public void Sterowanie(CORE myCore)
        {
            if (User32.IsKeyPushedDown(Keys.S))
            {
                if (silnik < maxsilnik)
                {
                    silnik += 0.11;
                }
            }
            if (User32.IsKeyPushedDown(Keys.Down))
            {
                kont += zwrotnosc;
            }
            if (User32.IsKeyPushedDown(Keys.Up))
            {
                kont -= zwrotnosc;
            }
            if (User32.IsKeyPushedDown(Keys.ShiftKey))
            {
                if (silnik > 0)
                {
                    silnik -= 0.1;
                }
            }



            if (kont > 360 || kont < -360)
            {
                kont = 0;
            }

            if (silnik < masa * 4)
            {
                if (kont <= 0 && kont >= -90)
                {
                    y += masa * 4 + -silnik + (-0.04 * kont);
                }
                else if (kont < -90 && kont >= -180)
                {
                    y += masa * 4 + -silnik + (0.04 * (kont + 180));
                }
                else if (kont <= 360 && kont >= 270)
                {
                    y += masa * 4 + -silnik + ((-0.04) * (kont - 360));
                }
                else if (kont < 270 && kont >= 180)
                {
                    y += masa * 4 + -silnik + (0.04 * (kont - 180));
                }
                else
                {
                    y += masa * 4 - silnik;
                }
            }
            else
            {
                if (kont <= 0 && kont >= -90)
                {
                    y += (-0.04 * kont);
                }
                else if (kont < -90 && kont >= -180)
                {
                    y += (0.04 * (kont + 180));
                }
                else if (kont <= 360 && kont >= 270)
                {
                    y += ((-0.04) * (kont - 360));
                }
                else if (kont < 270 && kont >= 180)
                {
                    y += (0.04 * (kont - 180));
                }
            }
            vx = silnik * Math.Cos(kont * Math.PI / 180);
            vy = silnik * Math.Sin(kont * Math.PI / 180);

            x += vx;
            y += vy;
        }