Пример #1
0
        public void pokaListeBudynkow(Radar r)
        {
            Baza b = new Baza();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            b.pokaKonsole(r.skala, 0);
            if (r.run > 0)
            {
                b.pokaListeLotow(r, 1);
            }
            Console.ResetColor();

            for (int i = 0; i < r.b.Count / 2; i++)
            {
                insert(138, 40 + i, Convert.ToString(r.b[i].h) + "m - " + r.b[i].nazwa);
            }

            for (int i = r.b.Count / 2; i < r.b.Count; i++)
            {
                insert(170, 34 + i, Convert.ToString(r.b[i].h) + "m - " + r.b[i].nazwa);
            }

            char wyb = Console.ReadKey().KeyChar;

            b.czyscKonsole();
        }
Пример #2
0
        public void zmienMape(int czy)
        {
            Baza baz = new Baza();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            baz.pokaKonsole(skala, 0);
            if (czy > 0)
            {
                baz.pokaListeLotow(this, 1);
            }
            Console.ResetColor();
            baz.insert(139, 42, "Wybierz mape, ktora chcesz wczytac:");
            baz.insert(141, 44, "[1] Mapa SanAndreas (48 x 32 km)");
            baz.insert(141, 46, "[2] Mapa NewYourk (2,4 x 1,6 km)");
            switch (Console.ReadKey().KeyChar)
            {
            case '1': mapa = System.IO.File.ReadAllLines("mapa1.txt"); skala = int.Parse(mapa[mapa.Length - 1]); break;

            case '2': mapa = System.IO.File.ReadAllLines("mapa2.txt"); skala = int.Parse(mapa[mapa.Length - 1]); break;
            }
            baz.czyscKonsole();
        }
Пример #3
0
        static void Main(string[] args)
        {
            Console.SetWindowSize(213, 52);
            Console.SetBufferSize(213, 52);
            Console.Title = "Kontrola Lotow";

            Radar radar         = new Radar();
            Baza  b             = new Baza(radar);
            Trasa losowySamolot = new Trasa(0, 0, 0, 0, 0);

            b.pokaInterfejs();
            int ms   = 0;
            int lot  = -1;
            int time = 100;

            int[] x = new int[1];
            x[0] = 0;
            for (; ;)
            {
                if (radar.run < 0)
                {
                    b.pokaInterfejs();
                }
                else
                {
                    radar.pokaRadar();                               // aktualizuje i wyswietla radar
                }
                b.pokaListeLotow(radar, x[0]);                       // wypisuje liste lotow do podgledu/edycji
                b.insert(200, 26, Convert.ToString(ms / 10 + " s")); // wypisuje czas trwania programu
                b.insert(212, 51, Convert.ToString("."));            // wypisuje nic na koncu okna
                b.pokaLot(radar, lot);

                if (Console.KeyAvailable)                           // pobiera wybrany przycisk
                {
                    char wybor = Console.ReadKey().KeyChar;
                    if (lot >= 0)
                    {
                        switch (wybor)
                        {
                        case '0': b.czyscKonsole(); lot = -1; break;

                        case '1': if (radar.s[lot].trajektoria < 1)
                            {
                                radar.s[lot].trajektoria++;
                            }
                            else
                            {
                                radar.s[lot].trajektoria--;
                            } break;

                        case '2': radar.s[lot].zmienTrajektorie(); break;
                        }
                    }                                          // zarzadzanie lotem
                    else if (wybor - 49 >= 0 && wybor - 49 < 10 && wybor - 49 <= radar.s.Count)
                    {
                        lot = wybor - 49;
                    }   // wypisuje info o danym locie
                    else if (wybor == 'q')
                    {
                        System.Diagnostics.Process.GetCurrentProcess().Kill();
                    }   // zabija aplikacje
                    else if (wybor == 'e')
                    {
                    }   // info o wlascicielach
                    else if (wybor == 'w')
                    {
                        losowySamolot = new Trasa(1, 2, 0, 0, 200);
                    }   // pusc samolot
                    else if (wybor == 'r')
                    {
                        radar.run *= -1;
                    }   // wlaczy/wylacz radar
                    else if (wybor == ']')
                    {
                        if (time > 15)
                        {
                            time -= 15;
                        }
                    }   // przyspiesz czas
                    else if (wybor == '[')
                    {
                        time += 15;
                    }   // przyspiesz czas
                }
                Thread.Sleep(time);
                ms++;
                if (losowySamolot.v != 0)
                {
                    b.pokaSamolot(ref losowySamolot);                       // ladujacy samolot
                }
            }
        }
Пример #4
0
        public void pokaRadar(ref int lot)
        {
            Baza baz = new Baza();

            for (int j = 0; j < mapa.Length - 1; j++)
            {
                baz.insert(10, 18 + j, mapa[j]);
            }
            for (int i = 0; i < s.Count; i++)
            {
                s[i].d = s[i].getDTrajektorii();
                if (s[i].d < 0)
                {
                    s.RemoveAt(s.IndexOf(s[i]));
                    lot = -1;
                    baz.czyscKonsole();
                }
                else
                {
                    s[i].szybkosc += 1;
                    if ((32000 / s[i].v) / skala <= s[i].szybkosc && s[i].d % 2 == 1)        // 560km/h - 1k/2.23s      (skos)
                    {
                        switch (s[i].d)
                        {
                        case 1: s[i].x = s[i].x + 2; s[i].y++; break;

                        case 3: s[i].x = s[i].x - 2; s[i].y++; break;

                        case 5: s[i].x = s[i].x - 2; s[i].y--; break;

                        case 7: s[i].x = s[i].x + 2; s[i].y--; break;
                        }
                        s[i].szybkosc = 0;
                        s[i].aktualizujTrajektorie();
                    }
                    else if ((22400 / s[i].v) / skala <= s[i].szybkosc && s[i].d % 4 == 2)   // 560km/h - 1k/2s         (pion)
                    {
                        switch (s[i].d)
                        {
                        case 2: s[i].y++; break;

                        case 6: s[i].y--; break;
                        }
                        s[i].szybkosc = 0;
                        s[i].aktualizujTrajektorie();
                    }
                    else if ((11200 / s[i].v) / skala <= s[i].szybkosc && s[i].d % 4 == 0)    // 560km/h - 1k/1s         (poziom)
                    {
                        switch (s[i].d)
                        {
                        case 0: s[i].x++; break;

                        case 4: s[i].x--; break;
                        }
                        s[i].szybkosc = 0;
                        s[i].aktualizujTrajektorie();
                    }
                    if (s[i].trajektoria == 1)
                    {
                        s[i].pokaTrajektorie();
                    }

                    Console.ForegroundColor = ConsoleColor.Yellow;
                    if (s[i].x > 0 && s[i].x <= 96 && s[i].y > 0 && s[i].y <= 32)
                    {
                        baz.insert(11 + s[i].x, 18 + s[i].y, s[i].typ);
                    }
                    Console.ResetColor();
                }
            }
        }
Пример #5
0
        static void Main(string[] args)
        {
            Console.SetWindowSize(213, 52);
            Console.SetBufferSize(213, 52);
            Console.Title = "Kontrola Lotow";

            Radar radar         = new Radar();
            Baza  b             = new Baza(radar);
            Trasa losowySamolot = new Trasa(0, 0, 0, 0, 0);

            b.pokaInterfejs();
            int ms    = 0;
            int lot   = -1;
            int time  = 100;
            int gener = 0;

            for (; ;)
            {
                if (radar.run < 0)
                {
                    b.pokaInterfejs();
                }
                else
                {
                    radar.pokaRadar(ref lot);                           // aktualizuje i wyswietla radar
                    b.pokaListeLotow(radar, lot);                       // wypisuje liste lotow do podgledu/edycji
                    if (radar.skala > 1)
                    {
                        radar.naniesBudynki();                          // nanosi budynki na mape
                    }
                }
                radar.umieranie();
                if (gener == 1)
                {
                    radar.Losowanko();                                  // generuje samoloty na mapie przez losowanie
                }
                if (lot >= 0)
                {
                    b.pokaLot(radar, lot);                              // wyswietla informacje o locie
                }
                else
                {
                    b.pokaKonsole(radar.skala, gener);                  // czysci konsole
                }
                b.insert(200, 26, Convert.ToString(ms / 10 + " s"));    // wypisuje czas trwania programu
                b.insert(212, 51, Convert.ToString("."));               // wypisuje nic na koncu okna

                if (Console.KeyAvailable)                               // pobiera wybrany przycisk
                {
                    char wybor = Console.ReadKey().KeyChar;
                    if (lot >= 0)
                    {
                        switch (wybor)
                        {
                        case '0': b.czyscKonsole(); lot = -1; break;

                        case '1': if (radar.s[lot].trajektoria < 1)
                            {
                                radar.s[lot].trajektoria++;
                            }
                            else
                            {
                                radar.s[lot].trajektoria--;
                            } break;

                        case '2': radar.s[lot].zmienTrajektorie(radar.skala); break;
                        }                                        // zarzadzanie lotem
                    }
                    else if (wybor - 49 >= 0 && wybor - 49 < 10 && wybor - 49 <= radar.s.Count && radar.run > 0)
                    {
                        b.czyscKonsole();
                        lot = wybor - 49;
                        if (radar.s.Count < lot + 1)
                        {
                            lot = -1;
                        }
                    }   // wypisuje info o danym locie
                    else
                    {
                        switch (wybor)
                        {
                        case 'q': System.Diagnostics.Process.GetCurrentProcess().Kill(); break;         // zabija aplikacje

                        case 'e': b.pokaFax(); break;                                                   // info o wlascicielach

                        case 'w': losowySamolot = new Trasa(1, 2, 0, 0, 200); break;                    // pusc samolot

                        case 'r': radar.run *= -1; radar.pokaSkale(); break;                            // wlaczy/wylacz radar

                        case '.': if (time > 15)
                            {
                                time -= 15;
                            }
                            break;                                                                      // przyspiesz czas

                        case ',': time += 15; break;                                                    // spowolnij czas

                        case '/': time = 100; break;                                                    // ustaw domyslny czas

                        case 'm': radar.zmienMape(radar.run); break;                                    // zmienia mape

                        case 'g': if (gener == 0)
                            {
                                gener = 1;
                            }
                            else
                            {
                                gener = 0;
                            } break;                                                                    // generuje lot

                        case 'b': if (radar.skala > 1)
                            {
                                b.pokaListeBudynkow(radar);
                            }
                            break;                                                                      // generuje lot

                        case 's': b.zapis(radar); break;                                                // zapis do pliku

                        case 'k': radar.Kolizja(); break;                                               // kurs kolizyjny

                        case 'n': radar.NiebezpieczneZblizenia(); break;                                // niebezpieczne zblizenie

                        case 'x': radar.zderzonko(); break;

                        case 'c': radar.trajektorki(); break;
                        }
                    }
                }
                Thread.Sleep(time);
                ms++;
                if (losowySamolot.v != 0)
                {
                    b.pokaSamolot(ref losowySamolot);                       // ladujacy samolot
                }
            }
        }