Nevím si rady s Karlem :(( Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
jirislav
Level 1
Level 1
Příspěvky: 83
Registrován: květen 11
Pohlaví: Muž
Stav:
Offline

Nevím si rady s Karlem :((

Příspěvekod jirislav » 14 kvě 2011 19:13

Zdravím lidi,

dneska jsem se rozhodl začít s programováním a jak jsem četl již dřív doporučené programy pro začátečníky, zvolil jsem si Karla. Chápu všechny jeho schopnosti a jak je použít. Ale nejde mi pořád do hlavy, jak napsat umělou inteligenci, aby dělal určité příkazy, dokud se nedostane domů. Vytvořil jsem takové bludiště, abych se pak mohl kochat svým výtvorem, ale pořád ne a ne na to přijít :( ..

Zjednodušil jsem to příkazem Domů :D :

Kód: Vybrat vše

DOMŮ
  DOKUD NENÍ DOMOV
    HLEDEJ
  KONEC
KONEC

, ale stále netuším, jak vytvořit příkaz HLEDEJ, aby došel domů :(

Už jsem došel k tomu, aby dokázal obcházet zdi:

Kód: Vybrat vše

HLEDEJ
  KDYŽ JE ZEĎ
    VLEVO-VBOK
  KONEC, JINAK
      VPRAVO-VBOK
    KDYŽ NENÍ ZEĎ
      KROK
    KONEC, JINAK
      RYCHLE
        VLEVO-VBOK
        KROK
      KONEC
    KONEC
  KONEC
KONEC


Za předpokladu

Kód: Vybrat vše

VPRAVO-VBOK
  RYCHLE
    VLEVO-VBOK
    VLEVO-VBOK
    VLEVO-VBOK
  KONEC
KONEC

Jak jsem ho viděl obcházet zdi, tak jsem si ze začátu řekl:"A mám to!!" .. ale před koncem se dotal do smyčky :-( :evil:

Přikládám odkaz na město, které jsem mu vytvořil, tady

Dík za nápady programátoři, možná to je taky podle možností Karla neeřešitelný problém co? .. a co kdyby nebyl domov u zdi? :D
OS:Ubuntu 11.04
MP3:Helax 93,7


<TeXaN> jakej ma maximalni dosah BT? v idealnich podminkach
<TeXaN> resp projde mi skrz zed a jeste 15m na zahradu?
<Unimatrix325> pokud BT znamena bitevni tank, pak ano

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod faraon » 14 kvě 2011 21:13

Karel umí poznat jestli na daném poli už byl nebo ne, prostě si na něj polož značku příkazem POLOŽ.
Pro procházení bludiště je nejvhodnější rekurze, tak že příkaz HLEDEJ otestuje všechny směry z pole kde Karel stojí, a pokud tam není zeď, zavolá sám sebe, aby z dalšího pole udělal totéž.
Jenže než se začne rozhlížet a zkoušet další směry z druhého pole, musí otestovat jestli už tam byl, a to pozná podle značky! V takovém případě zase fofrem vycouvá a pokračuje z původního pole jiným směrem...

Začínat rovnou bludištěm je dost odvážné, nejdřív zkus vymyslet jak se Karel dostane do levého dolního rohu a výchozí pozice (čelem k východu) v prázdném městě bez překážek, z kteréhokoliv pole i směru do kterého je otočený ;-)

VPRAVO-VBOK se dá udělat i jinými způsoby, třeba takhle:

Kód: Vybrat vše

VPRAVO-VBOK
  ČELEM-VZAD
  VLEVO-VBOK
KONEC


nebo

Kód: Vybrat vše

VPRAVO-VBOK
  OPAKUJ 3
    VLEVO-VBOK
  KONEC
KONEC
Naposledy upravil(a) faraon dne 14 kvě 2011 21:45, celkem upraveno 1 x.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Nevím si rady s Karlem :((

Příspěvekod X » 14 kvě 2011 21:28

Jó Karel ... toho učí ve školce, ne? :D

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod faraon » 14 kvě 2011 21:41

Ve školce učí Baltíka, Karla vyučují na Stanfordské univerzitě :-D
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
jirislav
Level 1
Level 1
Příspěvky: 83
Registrován: květen 11
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod jirislav » 14 kvě 2011 21:52

faraon píše:Začínat rovnou bludištěm je dost odvážné...

Já jsem odvážný v mnoha všcech, nejenom v Karlovi :D
faraon píše:...VPRAVO-VBOK se dá udělat i jinými způsoby

Ano, to jsem si přečetl v helpu :) .. díky

BTW dík, žes mi připomněl ty značky jeho, nenapadlo mě, že by šly tato využít :) .. už jdu na to, až to budu mít hotové, tak se pochlubím kódem :-P
OS:Ubuntu 11.04
MP3:Helax 93,7


<TeXaN> jakej ma maximalni dosah BT? v idealnich podminkach
<TeXaN> resp projde mi skrz zed a jeste 15m na zahradu?
<Unimatrix325> pokud BT znamena bitevni tank, pak ano

Uživatelský avatar
alenka_v_říši_divů
Level 6
Level 6
Příspěvky: 3201
Registrován: únor 09
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod alenka_v_říši_divů » 14 kvě 2011 21:59

Chtěl jsem se zeptat... k čemu ti ten "Karlo kurz" je? Baví tě to?

Uživatelský avatar
jirislav
Level 1
Level 1
Příspěvky: 83
Registrován: květen 11
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod jirislav » 14 kvě 2011 22:13

K rozšíření logického přemýšlení. Jde vidět, že jsem na tom zatím hodně bledě. :blush:

A je to dobrý pocit, když vytvoříš něco, co funguje podle tvých představ :)
OS:Ubuntu 11.04
MP3:Helax 93,7


<TeXaN> jakej ma maximalni dosah BT? v idealnich podminkach
<TeXaN> resp projde mi skrz zed a jeste 15m na zahradu?
<Unimatrix325> pokud BT znamena bitevni tank, pak ano

Uživatelský avatar
memphisto
Guru Level 13
Guru Level 13
Příspěvky: 21113
Registrován: září 06
Bydliště: Zlín - České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod memphisto » 14 kvě 2011 22:18

[OT]To víš, chlap má jenom 4,5 litru krve a hold to je málo na prokrvení obou orgánů[/OT]
PRAVIDLA PC-HELP.CZ, PRAVIDLA sekce HijackThis, HijackThis návod, Memtest, CCleaner
Logy z programu HijackThis neposílejte prosím přes SZ, ale vkládejte je do patřičné sekce. Děkuji

Uživatelský avatar
alenka_v_říši_divů
Level 6
Level 6
Příspěvky: 3201
Registrován: únor 09
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod alenka_v_říši_divů » 14 kvě 2011 22:46

jirislav: jasně, chápu tě... :) Tak až něco v Karlovi vytvoříš, tak dej vědět... :)

Uživatelský avatar
Andrew98
Level 5.5
Level 5.5
Příspěvky: 2516
Registrován: duben 11
Bydliště: Rožnov pod Radhoštěm
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod Andrew98 » 14 kvě 2011 23:38

memphisto píše:[OT]To víš, chlap má jenom 4,5 litru krve a hold to je málo na prokrvení obou orgánů[/OT]

konečně dobrá hláška na co se vymluvit ve škole :D
Intel Xeon E3-1231v3 + SilentiumPC Fera 2
ASUS B85-PRO GAMER
Sapphire R9 270X Toxic Boost
Kingston HyperX Savage 16GB CL9 1600Mhz
Seasonic SS-620GM2 Evo 620W
Intel 520 120 GB + Seagate Barracuda 7200.14 - 1TB
iiyama ProLite X2483HSU-B1

Uživatelský avatar
jirislav
Level 1
Level 1
Příspěvky: 83
Registrován: květen 11
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod jirislav » 15 kvě 2011 02:02

Dostal jsem ho domů, ale nevím, co mám špatně, že neví že je doma, poradí mi nějaký expert na Karla prosím? :D

tady je slovník:

Kód: Vybrat vše

Karel1.2%0AP%0A24%0AL%0910%2C1%0AP%096%2C4%203%2C13%2C1%2C1%2C1%0AVZAD%096%2C13%2C13%2C1%2C1%0AJDI%099%2C1%0AB%u011A%u017D%093%20-1%2C16%2C1%2C1%0AHLEDEJ1%092%201%2C13%2C0%2C14%2C2%20-1%2C6%2C9%2C1%2C0%2C6%2C13%2C9%2C1%2C1%2C1%2C1%0ADOM%u016E%0920%2C3%20-3%2C24%2C1%2C1%0AV%DDCHOD%096%2C3%20-4%2C13%2C1%2C1%2C1%0AFAKE%0920%2C4%208%2C16%2C1%2C14%2C17%2C14%2C17%2C14%2C17%2C13%2C17%2C13%2C17%2C14%2C17%2C13%2C17%2C1%0ATAK%092%20-2%2C13%2C0%2C22%2C19%2C1%2C1%0AHLEDEJ2%092%201%2C14%2C0%2C13%2C2%20-1%2C6%2C9%2C1%2C0%2C6%2C14%2C9%2C1%2C1%2C1%2C1%0AHLEDEJ%094%2024%2C18%2C1%2C4%202%2C23%2C1%2C1%0AKONEC


A tady mapka:

Kód: Vybrat vše

Karel1.0%0AM%0A0%201%0A2%0A0%209%0A..X.......%0A...X....XX%0A....X..X..%0A...X..X...%0A..X.......%0A..X..XXX..%0A...X...XX.%0A....X.....%0A.......XXX%0A..........%0AKONEC

Dík moc, dostane se domů tlačítkem domů :)

Byl bych moc vděčný za návrh, jak to opravit :)
OS:Ubuntu 11.04
MP3:Helax 93,7


<TeXaN> jakej ma maximalni dosah BT? v idealnich podminkach
<TeXaN> resp projde mi skrz zed a jeste 15m na zahradu?
<Unimatrix325> pokud BT znamena bitevni tank, pak ano

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nevím si rady s Karlem :((

Příspěvekod faraon » 15 kvě 2011 10:43

alenka_v_říši_divů píše:... k čemu ti ten "Karlo kurz" je?


Karel rozvine tvoje logické myšlení směrem k počítačovému, a naučí tě základy strukturovaného programování, dělení programů do bloků a správné použití rekurze. Přitom se nemusíš zabývat nějakými typy proměnných, syntaktickými obezličkami (stačí mu jen KONEC) ani záhadnými slovy v cizím jazyce... A k tomu přidej pár dalších věcí, například je to docela zábavná hra ;-)
Hodně zajímavé je porovnávat svoje řešení a postupy s jinými programátory, protože "je víc způsobů jak stáhnout kočku z kůže", neboli "tisíc programátorů napíše stejný program tisíci různými způsoby".
Příklad - Karel dojde ke zdi, klasicky iterací:

Kód: Vybrat vše

KE-ZDI-I
  DOKUD NENÍ ZEĎ
    KROK
  KONEC
KONEC


a stejná činnost rekurzivně:

Kód: Vybrat vše

KE-ZDI-R
  KDYŽ NENÍ ZEĎ
    KROK
    KE-ZDI-R
  KONEC
KONEC


Jak bys naučil Karla namalovat přesně takovýhle domeček, a pak přidáním jednoho nového příkazu program změnil na ten panelák vedle něj? V ideálním případě využij toho že se oba domy skládají z pater a na každém patře jsou dva pokoje :bigups:

Kód: Vybrat vše

╔══════════╗          ╔══════════╗
║          ║          ║          ║
║          ║          ║ ███████  ║
║    █     ║          ║ █ █ █ █  ║
║   █ █    ║          ║ ███████  ║
║  █   █   ║          ║ █ █ █ █  ║
║ ███████  ║          ║ ███████  ║
║ █ █ █ █  ║          ║ █ █ █ █  ║
║ ███████  ║          ║ ███████  ║
║ █ █ █ █  ║          ║ █ █ █ █  ║
║ ███_███  ║          ║ ███_███  ║
╚══════════╝          ╚══════════╝

Jako perličku můžeš po skončení práce Karla nechat dojít do dveří (počítej s tím že u každého domu skončí někde jinde a jinak postavený ale proveď to stejným příkazem) a otočit se směrem k člověku, podívat se ti do očí.
Tohle je zrovna můj oblíbený úkol, používám ho když někomu Karla (aneb jak se vlastně ty počítače programují) předvádím. A abych pravdu řekl, pokaždé jsem to naprogramoval trochu jinak :lol:

memphisto píše:[OT]To víš, chlap má jenom 4,5 litru krve a hold to je málo na prokrvení obou orgánů[/OT]


A proto programátor musí používání obou velmi důkladně oddělit, nejlépe když si napíše program co mu bude hlídat časový rozvrh :-D Jako je to v tom starém vtipu:

Proč má programátor vedle manželky ještě milenku?
Manželka si myslí, že je u milenky a milenka si myslí, že je u manželky... a on si zatím může v klidu programovat.





jirislav: Musíš otestovat DOMOV nejen na začátku, ale pokaždé než se Karel z daného pole někam pohne. Pěkně sis usnadnil práci příkazy P a L, ale zase si jí třeba komplikuješ zbytečnostmi, jako je RYCHLE, na to se klidně vykašli (navíc čím méně řádků, tím je program přehlednější a pochopitelnější), nastav si posuvníkem vpravo dole rychlost kterou stihneš sledovat a pozoruj jak Karel tančí. Přitom se snaž odhadnout ve které části programu se zrovna nachází.
Pro srovnání ta moje verze se značkami:

Kód: Vybrat vše

NAJDI-DOMOV
  KDYŽ NENÍ DOMOV
    POLOŽ
    OPAKUJ 4-KRÁT
      KDYŽ NENÍ DOMOV
        KDYŽ NENÍ ZEĎ
          KROK
          KDYŽ NENÍ ZNAČKA
            NAJDI-DOMOV
          KONEC
          KDYŽ NENÍ DOMOV
            COUVNI
          KONEC
        KONEC
        VLEVO-VBOK
      KONEC
    KONEC
  KONEC
KONEC


Kód: Vybrat vše

COUVNI
  ČELEM-VZAD
  KROK
  ČELEM-VZAD
KONEC


Kód: Vybrat vše

ČELEM-VZAD
  VLEVO-VBOK
  VLEVO-VBOK
KONEC


Podívej se kde všude testuji jestli už Karel není doma, to vrtění na konci nevadí, tam se jen dokončují cykly a vrací se z jednotlivých vnoření.
Je to psané trochu narychlo, takže by to šlo ještě dost optimalizovat, například aby Karel nezkoušel směr ze kterého přišel, nebo přeskočil zbývající část cyklů OPAKUJ, to couvání by se dalo rozdělit, aby neprováděl celou otočku navíc...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Seznam[Bot] a 5 hostů