public void menu_LVL() { Console.BufferHeight = 61; Console.BufferWidth = 201; Console.SetWindowSize(200, 60); int lvl = 0; int speed = 100; //sciany(lvl); lvl_state = 0; restart_LVL(lvl, speed); highlight_LVL(0, lvl, speed); while (true) { ConsoleKeyInfo kb; kb = Console.ReadKey(false); switch (kb.Key) { //react to input case ConsoleKey.UpArrow: switch (lvl_state) { case 0: highlight_LVL(2, lvl, speed); lvl_state = ((3 + lvl_state - 1) % 3); break; case 1: highlight_LVL(0, lvl, speed); lvl_state = ((3 + lvl_state - 1) % 3); break; case 2: highlight_LVL(1, lvl, speed); lvl_state = ((3 + lvl_state - 1) % 3); break; } break; case ConsoleKey.DownArrow: switch (lvl_state) { case 0: highlight_LVL(1, lvl, speed); lvl_state = ((lvl_state + 1) % 3); break; case 1: highlight_LVL(2, lvl, speed); lvl_state = ((lvl_state + 1) % 3); break; case 2: highlight_LVL(0, lvl, speed); lvl_state = ((lvl_state + 1) % 3); break; } break; case ConsoleKey.Escape: Console.Clear(); reset_menu(muzik); highlight_menu(0, muzik); menu_conroler(false); break; } if (kb.Key == ConsoleKey.Enter) { if (lvl_state == 0) { Snake snake = new Snake(lvl, speed); GameViewer view = new GameViewer(); Console.Clear(); view.wyswietl_wynik(0); snake.muzik = this.muzik; snake.Snake_Init(); } if (lvl_state == 1) // rysowanie scian { // sciany(lvl); if (lvl == 0) { lvl = 1; } //sciany(0); } else if (lvl == 1) { lvl = 2; } //sciany(1); } else if (lvl == 2) { lvl = 0; } //sciany(2); } highlight_LVL(1, lvl, speed); } if (lvl_state == 2) { { if (speed == 100) { speed = 80; } else if (speed == 80) { speed = 60; } else if (speed == 60) { speed = 100; } highlight_LVL(2, lvl, speed); } } } } }
public void Snake_Init() { player.SoundLocation = "2.wav"; if (muzik == true) { player.Stop(); //var p1 = new System.Windows.Media.MediaPlayer(); //p1.Open(new System.Uri(@"E:\Users\The_BuBu\Documents\Visual Studio 2013\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\2.wav")); //p1.Play(); //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\2.wav")); // c.Play(); //}).Start(); player.PlayLooping(); } double mnoznik_za_lvl = (1 / sleepTime) * 33 + (sciany + 1) * 2; Console.CursorSize = 12; Console.BufferHeight = 60; Console.BufferWidth = 201; Console.SetWindowSize(200, 60); //Zmienne :o int kierunek_poruszania = (int)kierunek.prawo; // początkowy kierunek (by np wonsz nie wpadl na skałę) int licznik_karmienia_weza = 0; // odlicza czas od odtatniego karmienia int licznik_karmienia_weza2 = 0; int czas_usuniecia_jedzenia = 30000; // jak dłygo jedzenie pozostaje na planszy int punkty_ujemne = 0; // punkty ujemne za niezjedzone jesdzenie licznik_karmienia_weza = Environment.TickCount; licznik_karmienia_weza2 = Environment.TickCount; int temp = 2; Koordynaty[] tablica_skretow = new Koordynaty[] { new Koordynaty(0, 1), // right new Koordynaty(0, -1), // left new Koordynaty(1, 0), // down new Koordynaty(-1, 0), // up }; 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) { if (Console.KeyAvailable) { ConsoleKeyInfo kl = Console.ReadKey(false); // przerobić na switcha switch (kl.Key) { case ConsoleKey.LeftArrow: if (kierunek_poruszania != (int)kierunek.prawo) { kierunek_poruszania = (int)kierunek.lewo; } break; case ConsoleKey.RightArrow: if (kierunek_poruszania != (int)kierunek.lewo) { kierunek_poruszania = (int)kierunek.prawo; } break; case ConsoleKey.UpArrow: if (kierunek_poruszania != (int)kierunek.dol) { kierunek_poruszania = (int)kierunek.gora; } break; case ConsoleKey.DownArrow: if (kierunek_poruszania != (int)kierunek.gora) { kierunek_poruszania = (int)kierunek.dol; } break; case ConsoleKey.P: pause(); break; } } Koordynaty aktualnaGlowa = wonsz.Last(); Koordynaty nowy_kierunek = tablica_skretow[kierunek_poruszania]; Koordynaty nowaGlowa = new Koordynaty(aktualnaGlowa.row + nowy_kierunek.row, aktualnaGlowa.col + nowy_kierunek.col); if (nowaGlowa.col < 0) { nowaGlowa.col = Console.WindowWidth - 1; /// } if (nowaGlowa.row < 6) { nowaGlowa.row = Console.WindowHeight - 1; /// Wanrunki przechodzenia przez sciany } if (nowaGlowa.row >= Console.WindowHeight) { nowaGlowa.row = 6; //// zmiana na wymiary okna w nst projekcie } if (nowaGlowa.col >= Console.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; wyswietl.game_over(punkty); Thread.Sleep(2000); Console.ReadKey(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(); //string startupPath = Environment.CurrentDirectory; //Uri uri = new Uri(startupPath + @"sounds\2wav"); //MessageBox.Show("You Lose! Your score is "+ uri.ToString(), "Game Over", MessageBoxButton.OK, MessageBoxImage.Hand); 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.Clear(); 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) { if (!pokarm_specjalny.Equals(default(Koordynaty))) { 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); } }
public void menu_LVL() { Console.BufferHeight = 61; Console.BufferWidth = 201; Console.SetWindowSize(200, 60); int lvl=0; int speed=100; //sciany(lvl); lvl_state = 0; restart_LVL(lvl, speed); highlight_LVL(0, lvl, speed); while (true) { ConsoleKeyInfo kb; kb = Console.ReadKey(false); switch (kb.Key) { //react to input case ConsoleKey.UpArrow: switch (lvl_state) { case 0: highlight_LVL(2, lvl, speed); lvl_state = ((3 + lvl_state - 1) % 3); break; case 1: highlight_LVL(0, lvl, speed); lvl_state = ((3 + lvl_state - 1) % 3); break; case 2: highlight_LVL(1, lvl, speed); lvl_state = ((3 + lvl_state - 1) % 3); break; } break; case ConsoleKey.DownArrow: switch (lvl_state) { case 0: highlight_LVL(1, lvl, speed); lvl_state = ((lvl_state + 1) % 3); break; case 1: highlight_LVL(2, lvl, speed); lvl_state = ((lvl_state + 1) % 3); break; case 2: highlight_LVL(0, lvl, speed); lvl_state = ((lvl_state + 1) % 3); break; } break; case ConsoleKey.Escape: Console.Clear(); reset_menu(muzik); highlight_menu(0, muzik); menu_conroler(false); break; } if (kb.Key == ConsoleKey.Enter) { if (lvl_state == 0) { Snake snake = new Snake(lvl,speed); GameViewer view = new GameViewer(); Console.Clear(); view.wyswietl_wynik(0); snake.muzik = this.muzik; snake.Snake_Init(); } if (lvl_state == 1) // rysowanie scian { // sciany(lvl); if (lvl == 0) { lvl = 1; }//sciany(0); } else if (lvl == 1) { lvl = 2; }//sciany(1); } else if (lvl == 2) { lvl = 0; }//sciany(2); } highlight_LVL(1, lvl, speed); } if (lvl_state == 2) { { if (speed == 100) speed = 80; else if (speed == 80) speed = 60; else if (speed == 60) speed = 100; highlight_LVL(2, lvl, speed); } } } } }