Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Průchod bludištěm - Theseus

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Ondřej Langr (andysekcze):22.7.2015 22:59

Pouzivej kratsi zapis kupr. cz += 1; ;-)

Odpovědět
22.7.2015 22:59
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
hanpari
Člen
Avatar
Odpovídá na Ondřej Langr (andysekcze)
hanpari:23.7.2015 9:45

Mínus za to, že komenuješ takovou ptákovinu. To ti opravdu stálo za to? Přijde mi, že jsi musel připomínkovat za každou cenu. A navíc, používáš PHP a nestydíš se za to :)

 
Odpovědět
23.7.2015 9:45
Avatar
Odpovídá na hanpari
Ondřej Langr (andysekcze):23.7.2015 10:05

1.A webový aplikace mám dělat v čem ? C#/Java ? Proč bych to dělal? A v čem pak děláš ty? 2. Já to psal jen jako možnost jak to zkrátit ;-)

Odpovědět
23.7.2015 10:05
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Ondřej Langr (andysekcze):23.7.2015 10:11

Ale nehádejme se u určitě skvělé hry ;-)

Odpovědět
23.7.2015 10:11
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Ondřej Langr (andysekcze)
David Hartinger:23.7.2015 10:16

Když už, tak cz++. Ale jak již bylo řečeno, nechápu význam komentáře k algoritmu, kde řešíš 2 znaky v kódu navíc s identickou funkčností 8-|

Edit: Vidím, že sis to navíc zřejmě ani nepřečetl, když píšeš, že to je hra...

Editováno 23.7.2015 10:17
Odpovědět
23.7.2015 10:16
New kid back on the block with a R.I.P
Avatar
mnauik
Člen
Avatar
mnauik:23.7.2015 13:04

Proč ne, programování je zábavné.... jako hra :D (A ne, nejsem na jeho straně :-P )

Odpovědět
23.7.2015 13:04
minusuj mě, ale zdůvodni to ;)
Avatar
Petr Laštovička:2.8.2015 12:01

Proč autor článku tak jednoduchý algoritmus naprogramoval tak složitě ?
Zkusil jsem si to také a můj program má jen 78 řádek:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;

class Bludiste
{
    const int Width = 5, Height = 5;
    private static string[,] bludiste = new string[Width, Height];
    private static Stack<Point> nit = new Stack<Point>();
    private static Point vstupDoBludiste;
    private static Point[] Offset = new[] { new Point(0, -1), new Point(1, 0), new Point(0, 1), new Point(-1, 0) };

    static void nactiBludiste()
    {
        using (StreamReader sr = new StreamReader(@"..\..\Data\blud.txt"))
        {
            for (int j = 0; j < Height; j++)
            {
                string[] radek = sr.ReadLine().Split(' ');
                for (int i = 0; i < Width; i++)
                {
                    bludiste[i, j] = radek[i];
                    if (radek[i][0] == 'v') vstupDoBludiste = new Point(i, j);
                }
            }
        }
    }

    static void vypisBludiste()
    {
        for (int j = 0; j < Height; j++)
        {
            for (int i = 0; i < Width; i++)
                Console.Write(bludiste[i, j] + ' ');
            Console.WriteLine();
        }
        Console.WriteLine();
    }

    static void hledejCestu()
    {
        nit.Push(vstupDoBludiste);
        for (; ; )
        {
            Point aktualniKomnata = nit.Peek();
            for (int k = 0; k < 4; k++)
            {
                int i = aktualniKomnata.X, j = aktualniKomnata.Y;
                if (bludiste[i, j][k + 1] != '0')
                {
                    i += Offset[k].X; j += Offset[k].Y;
                    char znak = bludiste[i, j][0];
                    if (znak != '*' && znak != 'v')
                    {
                        nit.Push(new Point(i, j));
                        if (znak == 'm') return;
                        bludiste[i, j] = '*' + bludiste[i, j].Substring(1);
                        break;
                    }
                }
                if (k == 3) nit.Pop();
            }
        }
    }

    public static void Main()
    {
        nactiBludiste();
        vypisBludiste();
        hledejCestu();
        Console.Write("Cesta k Minotaurovi: ");
        foreach (Point p in nit.Reverse()) Console.Write("{0}, ", p);
        Console.WriteLine("\r\n\r\nMístnosti označené hvězdičkou byly navštíveny\r\n");
        vypisBludiste();
    }
}
 
Odpovědět
2.8.2015 12:01
Avatar
Edward Ploška:20.12.2022 8:46

slabší

Odpovědět
20.12.2022 8:46
Ve starověkých dlážkách staré silnice je nemoc a na její svíjející se cestě budete čelit zlovolnosti, násilí a možná ...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.