Exemplo n.º 1
0
        }//mod tą funkcje do działania w grze

        public void dodawanie_scian(int value)
        {
            if (value == 1 || value == 2)
            {
                for (int i = 0; i < windowWidth; i++)
                {
                    Koordynaty temppos  = new Koordynaty(0, i); przeszkody.Add(temppos);
                    Koordynaty temppos2 = new Koordynaty(windowHeight - 1, i); przeszkody.Add(temppos2);
                }

                if (value == 1)
                {
                    for (int i = 6; i < windowHeight / 2; i++)
                    {
                        Koordynaty temppos  = new Koordynaty(i, windowWidth - 1); przeszkody.Add(temppos);
                        Koordynaty temppos2 = new Koordynaty(i, 0); przeszkody.Add(temppos2);
                    }
                }
                if (value == 2)
                {
                    for (int i = 6; i < windowHeight; i++)
                    {
                        Koordynaty temppos  = new Koordynaty(i, windowWidth - 1); przeszkody.Add(temppos);
                        Koordynaty temppos2 = new Koordynaty(i, 0); przeszkody.Add(temppos2);
                    }
                }
            }
            else if (value == 0)
            {
                przeszkody.Clear();
            }
        }
Exemplo n.º 2
0
 private void losuj_jedzenie_specjalne()
 {
     do
     {
         pokarm_specjalny = new Koordynaty(generator.Next(8, windowHeight),
                                           generator.Next(0, windowWidth));
     }while (wonsz.Contains(pokarm_specjalny) || przeszkody.Contains(pokarm_specjalny) || pokarm_specjalny.Equals(pokarm));
 }
Exemplo n.º 3
0
 public void jedzenie(Koordynaty pokarm, int typ)
 {
     //wyswietla jedzenie i jedzenie specjalne 0=normal(yellow) 1=red 2=green  3=blue   4=white;
     //throw new NotImplementedException();
 }
Exemplo n.º 4
0
 internal void usun_pokarm_lub_ogon(Koordynaty pokarm_specjalny)
 {
     // usuwa calkowicie z powierzchni gry
     //throw new NotImplementedException();
 }
Exemplo n.º 5
0
 internal void zmien_kierunek_glowy(Koordynaty nowaGlowa, int kierunek_poruszania)
 {
     // tylko jesli glowa bedzie jakims krztaletem
     //throw new NotImplementedException();
 }
Exemplo n.º 6
0
 internal void usun_stara_glowe(Koordynaty aktualnaGlowa)
 {
     //nadpisywanie glowy cialem
     //throw new NotImplementedException();
 }
Exemplo n.º 7
0
        //public Key k2;
        public void snakeLoop()
        {
            player.SoundLocation = @"C:\content\2.wav";
            if (muzik == true)
            {
                player.PlayLooping();
            }

            //Zmienne :o

            licznik_karmienia_weza  = Environment.TickCount;
            licznik_karmienia_weza2 = Environment.TickCount;



            dodawanie_scian(sciany);
            wyswietl.sciany(przeszkody);//klasa game viewer
            narodziny_weza();
            losuj_jedzenie();
            wyswietl.jedzenie(pokarm, 0);//klasa game viewer
            losuj_jedzenie_specjalne();
            wyswietl.jedzenie(pokarm_specjalny, temp);
            wyswietl.weza(wonsz); //klasa game viewer
            while (true)          //TODO: przerobic na kontrole w wpf
            {
                double mnoznik_za_lvl = (1 / sleepTime) * 33 + (sciany + 1) * 2;


                //if (true)
                //  {
                //ConsoleKeyInfo kl = Console.ReadKey(false); // przerobić na switcha
                //Key k1 = wyswietl.klawisz_mi_daj();
                //return App.Current.Dispatcher.BeginInvoke(new Action(() => { Keyboard.IsKeyDown(Key.P); }));
                if (Keyboard.IsKeyToggled(Key.Left))
                {
                    if (kierunek_poruszania != (int)kierunek.prawo)
                    {
                        kierunek_poruszania = (int)kierunek.lewo;
                    }
                }
                else if (Keyboard.IsKeyToggled(Key.Right))
                {
                    if (kierunek_poruszania != (int)kierunek.lewo)
                    {
                        kierunek_poruszania = (int)kierunek.prawo;
                    }
                }
                if (Keyboard.IsKeyToggled(Key.Up))
                {
                    if (kierunek_poruszania != (int)kierunek.dol)
                    {
                        kierunek_poruszania = (int)kierunek.gora;
                    }
                }
                if (Keyboard.IsKeyToggled(Key.Down))
                {
                    if (kierunek_poruszania != (int)kierunek.gora)
                    {
                        kierunek_poruszania = (int)kierunek.dol;
                    }
                }
                if (Keyboard.IsKeyDown(Key.P))
                {
                    pause(); Thread.Sleep(500);
                }                              // bo mi sie kurwa 2 razy odpala pizda jebana;

                Koordynaty aktualnaGlowa = wonsz.Last();
                Koordynaty nowy_kierunek = tablica_skretow[kierunek_poruszania];

                Koordynaty nowaGlowa = new Koordynaty((int)aktualnaGlowa.row + (int)nowy_kierunek.row,
                                                      (int)aktualnaGlowa.col + (int)nowy_kierunek.col);

                if (nowaGlowa.col < 0)
                {
                    nowaGlowa.col = windowWidth - 1;                    ///
                }
                if (nowaGlowa.row < 0)
                {
                    nowaGlowa.row = windowHeight - 1;                   /// Wanrunki przechodzenia przez sciany
                }
                if (nowaGlowa.row >= windowHeight)
                {
                    nowaGlowa.row = 0;                                 //// zmiana na wymiary okna w nst projekcie
                }
                if (nowaGlowa.col >= windowWidth)
                {
                    nowaGlowa.col = 0;                                           ////
                }
                if (wonsz.Contains(nowaGlowa) || przeszkody.Contains(nowaGlowa)) // Warunek kończoncy grę !
                {
                    punkty = (wonsz.Count - 10) * mnoznik * (int)mnoznik_za_lvl - punkty_ujemne + punkty_dodatkowe;
                    if (punkty < 0)
                    {
                        punkty = 0;
                    }
                    punkty         = Math.Max(punkty, 0);
                    wyswietl.muzik = this.muzik;
                    player.Stop();
                    //if (elo == true) {
                    App.Current.Dispatcher.BeginInvoke(new Action(() => { wyswietl.game_over(punkty, muzik); }));
                    //  elo = false;
                    //}

                    return;
                }


                wonsz.Enqueue(nowaGlowa);// doadnie nowej glowy do kolejki
                wyswietl.usun_stara_glowe(aktualnaGlowa);
                wyswietl.zmien_kierunek_glowy(nowaGlowa, kierunek_poruszania);


                if (nowaGlowa.col == pokarm_specjalny.col && nowaGlowa.row == pokarm_specjalny.row)
                {
                    var p2 = new System.Windows.Media.MediaPlayer();
                    p2.Open(new Uri(@"C:\content\3.wav"));
                    p2.Play();

                    if (temp == 1)
                    {
                        punkty_ujemne += punkty / 2;
                    }
                    if (temp == 2)
                    {
                        punkty_dodatkowe += 500;
                    }
                    if (temp == 3)
                    {
                        sleepTime        += 10;
                        punkty_dodatkowe += 153;
                    }
                    if (temp == 4)
                    {
                        punkty_dodatkowe += 153;
                        sleepTime        -= 10;
                    }
                    licznik_karmienia_weza2 = Environment.TickCount;
                    punkty = (wonsz.Count - 10) * mnoznik * (int)mnoznik_za_lvl - punkty_ujemne + punkty_dodatkowe;
                    wyswietl.wyswietl_wynik(Math.Max(punkty, 0));
                    wyswietl.usun_pokarm_lub_ogon(pokarm_specjalny);
                    pokarm_specjalny = default(Koordynaty);
                }
                else if (nowaGlowa.col == pokarm.col && nowaGlowa.row == pokarm.row)
                {
                    //Metoda laternatywna
                    //new System.Threading.Thread(() =>
                    //{
                    //    var c = new System.Windows.Media.MediaPlayer();
                    //    c.Open(new System.Uri(@"E:\Users\The_BuBu\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\3.wav"));
                    //    c.Play();
                    //}).Start();

                    var p2 = new System.Windows.Media.MediaPlayer();
                    p2.Open(new System.Uri(@"C:\content\3.wav"));
                    p2.Play();

                    // karmienie weza
                    losuj_jedzenie();
                    licznik_karmienia_weza = Environment.TickCount;
                    punkty = (wonsz.Count - 10) * mnoznik * (int)mnoznik_za_lvl - punkty_ujemne + punkty_dodatkowe;
                    wyswietl.wyswietl_wynik(Math.Max(punkty, 0));
                    wyswietl.jedzenie(pokarm, 0);//klasa game viewer
                }
                else
                {
                    // prouszanie się węża - usunięcie ogona jesli nic nie zjadł
                    Koordynaty last = wonsz.Dequeue(); // uzyskiwanie "adresu" ogona
                    wyswietl.usun_pokarm_lub_ogon(last);
                }

                if (Environment.TickCount - licznik_karmienia_weza2 >= 25000)
                {
                    wyswietl.usun_pokarm_lub_ogon(pokarm_specjalny);
                    pokarm_specjalny = default(Koordynaty);
                    // random do losowania koordynat nowych smakołyków
                    temp = generator.Next(1, 5);
                    if (temp == 1)
                    {
                        losuj_jedzenie_specjalne();
                        wyswietl.jedzenie(pokarm_specjalny, 1);
                    }
                    if (temp == 2)
                    {
                        losuj_jedzenie_specjalne();
                        wyswietl.jedzenie(pokarm_specjalny, 2);
                    }
                    if (temp == 3)
                    {
                        losuj_jedzenie_specjalne();
                        wyswietl.jedzenie(pokarm_specjalny, 3);
                    }
                    if (temp == 4)
                    {
                        losuj_jedzenie_specjalne();
                        wyswietl.jedzenie(pokarm_specjalny, 4);
                    }
                    licznik_karmienia_weza2 = Environment.TickCount;
                }
                if (Environment.TickCount - licznik_karmienia_weza >= czas_usuniecia_jedzenia) // usuwanie pokarmu po okreslonym czasie
                {
                    punkty_ujemne = punkty_ujemne + 50;
                    wyswietl.usun_pokarm_lub_ogon(pokarm);
                    losuj_jedzenie();
                    licznik_karmienia_weza = Environment.TickCount;
                }
                wyswietl.jedzenie(pokarm, 0);
                //sleepTime -= 0.001;
                Thread.Sleep((int)sleepTime);
            }
        }