Ejemplo n.º 1
0
        public void Wyswietl()
        {
            Mapa mapa = new Mapa(xRozmiar, yRozmiar);

            statek = new Statek();
            PasekStatystyk.Wyswietl(zycie, punkty);
            mapa.TworzenieMapy();
            statek.WyswietlObiekt();
        }
Ejemplo n.º 2
0
 public static void RuchDol(Obiekty obiekt, int y)
 {
     if (obiekt.y == y + 1)
     {
         return;
     }
     obiekt.WymarzObiekt();
     obiekt.y++;
     obiekt.WyswietlObiekt();
 }
Ejemplo n.º 3
0
 public static void RuchGora(Obiekty obiekt)
 {
     if (obiekt.y == 4)
     {
         return;
     }
     obiekt.WymarzObiekt();
     obiekt.y--;
     obiekt.WyswietlObiekt();
 }
Ejemplo n.º 4
0
 public static void RuchPrawo(Obiekty obiekt, int x)
 {
     if (obiekt.x == x - 3)
     {
         return;
     }
     obiekt.WymarzObiekt();
     obiekt.x++;
     obiekt.WyswietlObiekt();
 }
Ejemplo n.º 5
0
 public static void RuchLewo(Obiekty obiekt)
 {
     if (obiekt.x == 2)
     {
         return;
     }
     obiekt.WymarzObiekt();
     obiekt.x--;
     obiekt.WyswietlObiekt();
 }
Ejemplo n.º 6
0
        public void Update()
        {
            Timer.Start();

            while (true)
            {
                time = (int)Timer.ElapsedMilliseconds;
                if (time > tempo)
                {
                    time = 0;
                    Timer.Restart();
                    //Rozpatrzenie lotu pociskowGracza
                    if (pociskiGracza.Count > 0)
                    {
                        for (int i = 0; i < pociskiGracza.Count; i++)                             //rozbic na funkcje
                        {
                            if (pociskiGracza[i].y == statek.y && pociskiGracza[i].x == statek.x) //kontakt ze statkiem == boom
                            {
                                zycie--;
                                if (zycie <= 0)//koniec gry i ponow gre
                                {
                                    PasekStatystyk.Wyswietl(zycie, punkty);
                                    return;
                                }
                                PasekStatystyk.Wyswietl(zycie, punkty);
                                pociskiGracza[i].WymarzObiekt();
                                pociskiGracza.RemoveAt(i);
                                statek.WyswietlObiekt();
                            }
                            else if (pociskiGracza[i].y > 4)
                            {
                                pociskiGracza[i].Lot();       //lot pocisku
                            }
                            else if (pociskiGracza[i].y == 4) //jezeli wyleca z planszy to znikaja
                            {
                                pociskiGracza[i].WymarzObiekt();
                                pociskiGracza.RemoveAt(i);
                            }
                            punkty = Kontakt.KontaktPociskObcy(pociskiGracza, listaObcych, punkty);
                            PasekStatystyk.Wyswietl(zycie, punkty);
                            //obcy moze zostac trafiony i znika jezeli zycie=0 w pociskach
                        }
                    }
                    //Rozpatrzenie ruchu Obcych
                    if (listaObcych.Count > 0)
                    {
                        for (int i = 0; i < listaObcych.Count; i++)
                        {
                            listaObcych[i].WyswietlObiekt();
                            int rnd = kierunek.Next(0, 1249);//zrobic metode
                            if (rnd > 0 && rnd < 249)
                            {
                                Ruch.RuchLewo(listaObcych[i]);
                            }
                            if (rnd > 250 && rnd < 499)
                            {
                                Ruch.RuchPrawo(listaObcych[i], xRozmiar);
                            }
                            if (rnd > 500 && rnd < 749)
                            {
                                Ruch.RuchGora(listaObcych[i]);
                            }
                            if (rnd > 750 && rnd < 999)
                            {
                                Ruch.RuchDol(listaObcych[i], yRozmiar);
                            }
                            if (rnd > 1000 && rnd < 1249)
                            {
                                if (listaObcych[i].y == yRozmiar + 1)
                                {
                                    return;
                                }
                                pociskiObcych.Add(new PociskObcy(listaObcych[i].x, listaObcych[i].y));

                                pociskiObcych[pociskiObcych.Count - 1].WyswietlObiekt();
                            }
                        }
                    }
                    if (pociskiObcych.Count > 0)
                    {
                        for (int i = 0; i < pociskiObcych.Count; i++)
                        {
                            if (pociskiObcych[i].y == statek.y && pociskiObcych[i].x == statek.x)   //kontakt ze statkiem
                            {
                                zycie--;
                                if (zycie <= 0)//koniec gry i ponow gre
                                {
                                    PasekStatystyk.Wyswietl(zycie, punkty);
                                    return;
                                }
                                PasekStatystyk.Wyswietl(zycie, punkty);
                                pociskiObcych[i].WymarzObiekt();
                                pociskiObcych.RemoveAt(i);
                                statek.WyswietlObiekt();
                            }
                            else if (pociskiObcych[i].y < yRozmiar + 1)
                            {
                                pociskiObcych[i].Lot();                  //lot pocisku
                            }
                            else if (pociskiObcych[i].y == yRozmiar + 1) //jezeli wyleca z planszy to znikaja
                            {
                                pociskiObcych[i].WymarzObiekt();
                                pociskiObcych.RemoveAt(i);
                            }
                            punkty = Kontakt.KontaktPociskObcy(pociskiGracza, listaObcych, punkty);
                            PasekStatystyk.Wyswietl(zycie, punkty);
                            //obcy moze zostac trafiony i znika jezeli zycie=0 w pociskach
                        }
                    }
                    if (listaObcych.Count == 0)
                    {
                        Etap NumerEtapu = new Etap();
                        liczbaObcych = (int)Math.Pow(2, numerEtapu - 1);
                        NumerEtapu.Spawn(listaObcych, liczbaObcych, xRozmiar);
                        numerEtapu++;
                    }
                }
                Odczytaj();
            }
        }