Diskuze: Machr na algoritmy - Náhodný příběh RPG hry

C# .NET .NET (C# a Visual Basic) Machr na algoritmy - Náhodný příběh RPG hry American English version English version

Aktivity (1)
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:30.9.2013 19:44

Ahoj, vítám vás u pravidelné minisoutěže na tento týden, ve které se hraje o placku Machr na algoritmy (případně o Machr na C#, Javu nebo PHP, pokud již algoritmy máte). Na posledním srazu jsme probírali se Saťasem 3D RPG hru, kterou programují s Luckinem. Bavili jsme se o tom, že by byl zajímavý úkol vygenerovat náhodně příběh, aby byla každá hra unikátní. Generování náhodných prostor jsme tu již měli, když se to spojí s aktuálním tématem, mohla by vzniknout zajímavá hra :) Samozřejmě kdo jiný vyřeší otázku, zda lze náhodně generovat příběh hry, než komunita devbooku? :P

Máte za úkol navrhnout algoritmus, který vygeneruje kompletní příběh ke hře. Každé spuštění algoritmu pochopitelně vygeneruje jiný příběh. Není dané, jak má příběh vypadat. Pokusil jsem se vypracovat ukázkový výstup, který by skript mohl při některém spuštění vygenerovat:

Úvodní text
===========
Již od dětství jsi slýchával příběhy o jeskyni, která je ukryta hluboko
v lesích. Prý v ní straší a ukrývá tak strašné tajemství, že se jí lidé
vyhýbají. Rozhodl jsi se tuto pověru vyvrátit a les prohledat.

Levely
======
Celkem: 4

Les
---
Typ: venkovní
Popis: Tobě dobře známý les
Východy: Odlehlá část lesa
Předměty: houba
Nepřátelé: divočák, vlk
Osoby: poutník, říká: "Neměl bys tu chodit sám."

Odlehlá část lesa
-----------------
Východy: Les, Jeskyně
Typ: venkovní
Popis: Odlehlá část lesa
Předměty: kyj, hrob, náramek
Nepřátelé: bandita, vůdce vlčí smečky, vlk
Osoby: nikdo

Jeskyně
-------
Východy: Odlehlá část lesa, Hrobka
Typ: podzemí
Popis: Jeskyně, ve které prý straší
Předměty: lebka, dveře, svíčka, tajné tlačítko, tajné dveře
Nepřátelé: kostlivec
Osoby: nikdo

Hrobka
------
Východy: Jeskyně
Typ: podzemí
Popis: Hrobka, skrývající tajemství
Předměty: klenoty
Nepřátelé: nikdo
Osoby: mrtvola, má u sebe vzkaz: "Zazdili mě, aby mohli ukrást mé bohatství"

Konečný text
============
Odhalil jsi strašné tajemství jeskyně. Bohužel to nebyla jen pověra a dokázal
jsi pravý opak.

Snažte se samozřejmě, aby příběhy dávaly smysl. Jakým způsobem to uděláte a jak složité budou záleží jen na vás. Určitě se nevyhnete určité kostře nebo kostrám, ze kterých se bude vybírat, případně které se budou kombinovat, aby to nebylo na první pohled nápadné.

Můžete použít libovolný programovací jazyk. Čas jako vždy do neděle 6.10. do 18:00 hodin.

Editováno 5.10.2013 10:51
Odpovědět  ±0 30.9.2013 19:44
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Luboš Běhounek (Satik):30.9.2013 19:48

"Saťasovu 3D RPG"
To je ještě daleko, ještě nemáme ani finální verzi střílečky.
A přece bych nemohl Luckina nahradit nějakým náhodným algoritmem... :D

Nahoru Odpovědět  ±0 30.9.2013 19:48
:)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Čápka:30.9.2013 19:50

Nojo, vidíš, mám tě na tu hru moc fixovaného, hned ho tam doplním :) Luckin ti napíše kostru algoritmu, je stále nenahraditelný :D

Nahoru Odpovědět 30.9.2013 19:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na Luboš Běhounek (Satik)
Vojtěch Pospíchal:30.9.2013 19:53

Tak 3D RPG jo? To je sakra velký sousto! Držím ti palce :D

 
Nahoru Odpovědět 30.9.2013 19:53
Avatar
Odpovídá na David Čápka
Lukáš Hruda (Luckin):30.9.2013 19:53

Tu si může napsat sám, ale lepší příběh než já to nenapíše :D

 
Nahoru Odpovědět 30.9.2013 19:53
Avatar
Michal Žůrek (misaz):30.9.2013 20:01

vzhledem k složitosti předpokládám že tu nebude vysoká účást, ale nechci předpovídat. Třeba bude generátor dělat celý devbook.

Nahoru Odpovědět  +1 30.9.2013 20:01
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
David Čápka:30.9.2013 20:09

Ono to nebude tak těžké, spíš to chce fantazii, než programátorské skills.

Nahoru Odpovědět  +1 30.9.2013 20:09
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Fredep
Redaktor
Avatar
Odpovídá na David Čápka
Fredep:30.9.2013 20:16

Musí tam být nějaké vstupy? Jako např. kde se bude hra odehrávat, a kolik levlů tam bude, nebo jde jen o to vytvořit náhodný příběh?

Nahoru Odpovědět 30.9.2013 20:16
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Silvinios
Redaktor
Avatar
Odpovídá na David Čápka
Silvinios:30.9.2013 20:45

Nemá to být spíš textovka než RPG hra?

 
Nahoru Odpovědět 30.9.2013 20:45
Avatar
Kit
Redaktor
Avatar
Odpovídá na Silvinios
Kit:30.9.2013 20:46

Však to je jedno a totéž.

Nahoru Odpovědět  +1 30.9.2013 20:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Kit
TomBen:30.9.2013 21:07

No, tak úplně totéž to není, ale pro tyhle účely
to jako hrubé zjednodušení postačí. :-)

Nahoru Odpovědět 30.9.2013 21:07
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Redaktor
Avatar
Odpovídá na TomBen
Kit:30.9.2013 21:15

Hrál jsi někdy Dračí doupě nebo Diablo?

Nahoru Odpovědět 30.9.2013 21:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Kit
TomBen:30.9.2013 21:19

Samozřejmě. :-)

Nahoru Odpovědět 30.9.2013 21:19
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Odpovídá na Vojtěch Pospíchal
Luboš Běhounek (Satik):30.9.2013 21:27

Jen pseudo3D - na enginu Nightmare3D, te hry, co jsme ji meli v soutezi Magicke leto.

Kit : Hehe, zrovna Draci Doupe jdeme hrát tuhle sobotu a Diablo jsem už tak 2 měsíce nehrál, ale asi počkám až na nový rok, kdy mají vydat větší patch na Diablo3 :)

Nahoru Odpovědět 30.9.2013 21:27
:)
Avatar
Odpovídá na David Čápka
Michael Olšavský:1.10.2013 8:30

V tom tvém příkladu není možnost výběru. Má to být tedy RPG nebo textovka? V RPG si mohu svůj příběh rozvětvovat sám. V textovce by byl nalinkovaný od spuštění hry. Ale to by v tomto případě asi nevadilo, protože když to bude spojené s nějakou hrou, tak tam se bude odehrávat něco mezi. Já bych byl pro obyčejnou textovku.

 
Nahoru Odpovědět 1.10.2013 8:30
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Fredep
David Čápka:1.10.2013 8:35

Nic není pevně dané, pokud se ptáš na tohle. Prostě spustíš skript a měl by vypsat něco jako jsem uvedl v zadání. Spustíš ho podruhé a vypíše jiný příběh v jiném prostředí a jinými levely.

Nahoru Odpovědět 1.10.2013 8:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:1.10.2013 8:36

Je to RPG jak je zadáno, ale na funkci by to stejně nemělo mít vliv.

Nahoru Odpovědět 1.10.2013 8:36
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:1.10.2013 15:30

Tak abych šel vylepšovat svůj generátor vět :D :D

 
Nahoru Odpovědět 1.10.2013 15:30
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na David Čápka
Ondrca:1.10.2013 20:43

Mohl bych se vždyžtak zúčastnit s Javascriptem?

Nahoru Odpovědět 1.10.2013 20:43
Zase jsem o něco chytřejší
Avatar
Kit
Redaktor
Avatar
Odpovídá na Ondrca
Kit:1.10.2013 20:46

Cite sdraco: Můžete použít libovolný programovací jazyk

Kdysi jsem si něco takového v Javascriptu udělal. Bylo fajn, jak to bylo pekelně rychlé.

Nahoru Odpovědět 1.10.2013 20:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na Kit
Ondrca:1.10.2013 20:48

Díky

Nahoru Odpovědět 1.10.2013 20:48
Zase jsem o něco chytřejší
Avatar
KlimiCZ
Člen
Avatar
Odpovídá na Daniel Vítek
KlimiCZ:1.10.2013 21:08

Tomu říkáš náhoný generátor vět , mně to vygenerovalo "Bílý malý potkan mlátil kladivem do počítače" To se mně zdá normální v dnešní době :D

Nahoru Odpovědět  -1 1.10.2013 21:08
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
Fredep
Redaktor
Avatar
Odpovídá na KlimiCZ
Fredep:3.10.2013 14:13

Náhodný generátor vět je o tom, aby generoval náhodné, tím i nesmyslné věty..

Nahoru Odpovědět  -2 3.10.2013 14:13
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Ondrca
Redaktor
Avatar
Ondrca:4.10.2013 20:58

Ahoj, zde přidávám svůj výtvor:
http://www.uschovna.cz/…C5G3P493-FHY
Jednotlivé levely se bohužel mohou opakovat, ale co - kyrandia 1 taky měla více lesů jako levely :D

Nahoru Odpovědět  +2 4.10.2013 20:58
Zase jsem o něco chytřejší
Avatar
next-x
Neregistrovaný
Avatar
next-x:4.10.2013 22:56

tak se ucastnuji se svym dilem v C# dilo je vcetne zdrojoveho kodu.

http://uloz.to/…lgoritmy-zip

prosil bych jeste o nejakou pripadnou kritiku co by se dalo zlepsit.

 
Nahoru Odpovědět 4.10.2013 22:56
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na next-x
Jan Vargovský:4.10.2013 23:30

Ano. Slyšel jsi někdy o konstrukci switch?

 
Nahoru Odpovědět  +2 4.10.2013 23:30
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:4.10.2013 23:42

Tyvole nesnáším edit!!!

5 minut mu tu píšu komentář ke kódu, protože mám dobrou náladu, aby se zlepšil a pak to odešlu a voalá je to fuč. DAMN!

No abys ten kód zlepšil:
Stačí ti jedna instance třídy Random. Ty výrazy hoď do pole a generuj to náhodné číslo pomocí velikosti toho pole (indexuje se od 0 do Length -1) -> zbavíš se tak těch nesmyslných if-else if-else if... a bude to na pár řádků :)

Ještě taková rada ke konvencím. Ty proměnné jako DobaRandom, OneItemsRandom by měly začínat malým písmenem a pak každé nové slovo velkým.
Zkus zkratku CTRL+E a pak D - narážím nato, že vidím že ten text tabuješ a hned mi to bije do očí, protože to je jinak odsazené než jsem zvyklý.

Editováno 4.10.2013 23:46
 
Nahoru Odpovědět  -1 4.10.2013 23:42
Avatar
Osel
Člen
Avatar
Osel:4.10.2013 23:44

Nemám co dělat, zkusím taky něco uškudlit ... :)

 
Nahoru Odpovědět 4.10.2013 23:44
Avatar
Kit
Redaktor
Avatar
Odpovídá na next-x
Kit:4.10.2013 23:57

Špagety mám raději na talíři. Co takhle ten program rozčlenit do tříd? Jedna třída na dobu, jedna na nepřítele, jedna na item,...

Nahoru Odpovědět  +2 4.10.2013 23:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Osel
Člen
Avatar
Osel:5.10.2013 10:42

Deadline je 29.10. ? o_O Vždycky, jsou na týden machři ne? Takže zítra by měla být :D

 
Nahoru Odpovědět 5.10.2013 10:42
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Osel
Petr Nymsa:5.10.2013 10:44

Jo zítra, sdraco zas jenom neumí datumy :P

Nahoru Odpovědět  +3 5.10.2013 10:44
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Petr Nymsa
David Čápka:5.10.2013 10:52

Jenom počkejte, já si na to napíšu skript :D

Nahoru Odpovědět  +6 5.10.2013 10:52
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Ondrca
Redaktor
Avatar
Ondrca:5.10.2013 20:19

Ahoj, zde je verze 1.1:
http://www108.uschovna.cz/…RN2TAZA6-T3W

Nahoru Odpovědět 5.10.2013 20:19
Zase jsem o něco chytřejší
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:5.10.2013 21:03

Také se hlásím :P
http://projekty.danvitek.cz/…tor-pribehu/ - Možná to ještě trochu doupravím :)

 
Nahoru Odpovědět 5.10.2013 21:03
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na Daniel Vítek
Ondrca:5.10.2013 21:29

Tohle se ti povedlo:
Předměty Neznámý předmět (říkají mu tam jídlo)
:D

Editováno 5.10.2013 21:30
Nahoru Odpovědět 5.10.2013 21:29
Zase jsem o něco chytřejší
Avatar
Kit
Redaktor
Avatar
Odpovídá na Ondrca
Kit:5.10.2013 21:33

Horší by bylo, kdyby jídlo pro ně bylo neznámým předmětem :)

Nahoru Odpovědět 5.10.2013 21:33
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
 
Nahoru Odpovědět 5.10.2013 21:36
Avatar
next-x
Neregistrovaný
Avatar
next-x:5.10.2013 21:58

takze jsem udelal verzi 1.2 poupraje par detailu p4koo, ja s polema jeste bohuzel neumim, a Kit a třídy taky ne, naposledy jsem četl cykly - zakladní konstrukce, už to asi během jednoho dne a pár hodin nestihnu, ale zkusím se to naučit dál :)

http://uloz.to/…lgoritmy-zip

 
Nahoru Odpovědět 5.10.2013 21:58
Avatar
Kit
Redaktor
Avatar
Odpovídá na next-x
Kit:5.10.2013 22:11

Cože? Neumím s polem a třídami? Příště si rozmyslím, než ti něco poradím.

Nahoru Odpovědět  +1 5.10.2013 22:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mariaanko
Člen
Avatar
mariaanko:5.10.2013 22:23

skusim to vytvorit v pythone ak nevadi :( hodi sa mi do RPG systemu co chcem robit.
kod sem capnem pod MIT licenciou :(

 
Nahoru Odpovědět 5.10.2013 22:23
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na next-x
Jan Vargovský:6.10.2013 1:06

Trošku jsem nezaznamenal nějaký improve codu. Pro příklad to přepiš alespoň takhle:

Random rand = new Random();
            string[] foo = { "foo1", "foo2", "foo3", "foo4", "foo5", };
            string selectedFoo = foo[rand.Next(foo.Length)];

Takhle pak budeš mít jen jednotlivé názvy v tom poli a vybereš si jeden prvek z pole -> každý ten select bude mít pár řádků. Nezapomeň nato, že instance třídy Random ti stačí jednou a nemusíš ji vytvářet pro každé generování zvlášť !

 
Nahoru Odpovědět  +2 6.10.2013 1:06
Avatar
Odpovídá na Jan Vargovský
Michael Olšavský:6.10.2013 8:37

To uz jsem mu psal. Ale on nechtěl. Ještě to pry neumí, tak to tam nebude dávat.

 
Nahoru Odpovědět 6.10.2013 8:37
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:6.10.2013 8:58

Byl jsem příjemně překvapen, že mi to jelo hned napoprvé. To se mi moc často nestává. Trošku jsem mu to vylepšil, asi takto:

class MainClass {
    static Random rand = new Random();

    static string Vyber(string[] polozky) {
        return polozky[rand.Next(1, polozky.Length)];
    }

    public static void Main (string[] args) {
        //druhy tajemstvi
        string tajemstvi = Vyber(new string[] {"strašné", "zlé", "..."});
        //co mohl poslouchat
        string legenda = Vyber(new string[] {"legendy", "příběhy", "..."});

//...

... a teď si mě můžete dobírat kvůli statice :)

Nahoru Odpovědět 6.10.2013 8:58
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
next-x
Neregistrovaný
Avatar
next-x:6.10.2013 9:37

p4koo diky moc za radu, poupravil jsem jen nejake veci, protoze dnes nemam moc cas, ale zkusim jestli to stihnu jeste dodelat :)

verze 2.0
http://uloz.to/…lgoritmy-zip

brisingre, ja nevedel ze je to tak jednoduche, kod se mi ukratil uz jen ted asi o 100 radku.

 
Nahoru Odpovědět 6.10.2013 9:37
Avatar
Ondřej Hanák
Redaktor
Avatar
Odpovídá na Jan Vargovský
Ondřej Hanák:6.10.2013 10:20

Je lepší pole stringů anebo list ?

 
Nahoru Odpovědět 6.10.2013 10:20
Avatar
Kit
Redaktor
Avatar
Odpovídá na Ondřej Hanák
Kit:6.10.2013 10:30

Lepší je List, ale pole stringů se snáze inicializuje. Řešením je převádět tyto struktury dle potřeby.

Nahoru Odpovědět 6.10.2013 10:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:6.10.2013 10:32

List lze v C# založit i z pole, takže je to na 1 řádek.

Nahoru Odpovědět 6.10.2013 10:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Ondřej Hanák
Redaktor
Avatar
Odpovídá na Kit
Ondřej Hanák:6.10.2013 10:32

Děkuji, já jsem taky použil list, ale raději se zeptám odborníků :D

 
Nahoru Odpovědět 6.10.2013 10:32
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:6.10.2013 10:33

Koukám, že sis oblíbil názvy "foo", "bar", ... Četl jsem jeden manuál, ve kterém se to těmito názvy jen hemžilo a bylo to dost nepřehledné. Chybí jim totiž sémantika, která je pro pochopení účelu důležitá.

Nahoru Odpovědět  +1 6.10.2013 10:33
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Nahoru Odpovědět 6.10.2013 10:38
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:6.10.2013 10:38

Asi máš na mysli třeba

List<int> prvocisla = new List<int>(new int[] { 2, 3, 5, 7 });

To je už také s převodem, o kterém jsem psal.

Nahoru Odpovědět  +2 6.10.2013 10:38
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
David Čápka:6.10.2013 10:39

Teď jsem to chtěl napsat :D

Nahoru Odpovědět  +1 6.10.2013 10:39
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:6.10.2013 10:40

Ne, konkrétně to bylo o jazyku D, ale v php.net je toho také úctyhodná hromada.

Nahoru Odpovědět 6.10.2013 10:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na next-x
Michael Olšavský:6.10.2013 11:14

Vždyť jsem ti to radil už na začátku :-P Dokonce jsem ti to ukazoval.

 
Nahoru Odpovědět 6.10.2013 11:14
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:6.10.2013 12:58

Kit Máš tam jen chybu, že se pole indexuje od 0 a né od 1 => má tam být rand.Next(0, max) popřípadě jen volat rand.Next(max)
Jinak foo a bar mám pojmy, které používám pokud to je nezávislé na nějakém problému a má to být obecně. Tak jako když někomu ukazuješ jak se dědí třídy tak máš třídu A a pak B : A atd ...
Jinak list jde vytvořit i takto:

var list = new int[]{1,2,3,4,5}.ToList();

Next: Pořád tam vytváříš jednotky instancí třídy Random, nevím kolikrát to mám napsat, že je to zbytečné. Ty pole se nemusí jmenovat foo, měly by se jmenovat podle toho co reprezentují. Třeba tam máš tajemství, tak to přejmenuj na druhTajemstvi, schovani na druhSchovani atd.

Ondřej Hanák vzhledem k tomu, že je to v tomto příkladu statické (nemění se velikost) tak bych použil určitě pole.

Editováno 6.10.2013 13:00
 
Nahoru Odpovědět 6.10.2013 12:58
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:6.10.2013 13:07

Aha, ten řádek jsem jen zkopíroval z programu někoho jiného a moc jsem se nad tím nezamýšlel.

foo a bar jsou nezávislé pojmy, proto by od sebe neměly dědit. Pes a Kocka jsou však například potomky třídy Zvire, proto je to podle mne daleko vhodnější příklad. Také se lépe volí atributy, jako třeba jméno, věk, počet nohou, ... Je to prostě mnohem názornější.

Nahoru Odpovědět 6.10.2013 13:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Kit
Jan Vargovský:6.10.2013 13:09

To že to je názornější, to s tebou souhlasím, ale někde to je zbytečné :)

 
Nahoru Odpovědět 6.10.2013 13:09
Avatar
1001001
Člen
Avatar
1001001:6.10.2013 14:34

Mohli byste end posunout na 7?

 
Nahoru Odpovědět 6.10.2013 14:34
Avatar
Nahoru Odpovědět 6.10.2013 14:39
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na 1001001
Kit:6.10.2013 14:42

Tyto soutěže nejsou jen o schopnostech programovat, ale také o schopnosti dodržet termín. Měl jsi na to týden.

Nahoru Odpovědět  +4 6.10.2013 14:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Ondřej Hanák
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Ondřej Hanák:6.10.2013 14:43

Asi chce něco dodělat(možná teprve začít) a do 18:00 6.10. to nestihne.

 
Nahoru Odpovědět 6.10.2013 14:43
Avatar
Ondřej Hanák
Redaktor
Avatar
Odpovídá na Kit
Ondřej Hanák:6.10.2013 14:45

Přesně, kdyby to psal rok, mohl by z toho být klidně stroj času :D

 
Nahoru Odpovědět  +1 6.10.2013 14:45
Avatar
1001001
Člen
Avatar
1001001:6.10.2013 16:04

Jsem v anglii :D

 
Nahoru Odpovědět  -1 6.10.2013 16:04
Avatar
Osel
Člen
Avatar
Odpovídá na next-x
Osel:6.10.2013 16:11

Máš tam zbytečně X krát novou třídu random. Stačí založit jednu a s ní v celém programu pracovat :) // Pokud se nemýlím :D

Editováno 6.10.2013 16:13
 
Nahoru Odpovědět 6.10.2013 16:11
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Osel
Jan Vargovský:6.10.2013 16:37

To už jsem mu psal asi 3x, ale ignoruje :)

 
Nahoru Odpovědět  +3 6.10.2013 16:37
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:6.10.2013 17:58

Nakonec jsem se k tomu taky nějak dokopal :D
http://leteckaposta.cz/264365462

 
Nahoru Odpovědět 6.10.2013 17:58
Avatar
1001001
Člen
Avatar
1001001:6.10.2013 18:10

můžu ještě ? pls http://ulozto.cz/…opribehu-rar

 
Nahoru Odpovědět 6.10.2013 18:10
Avatar
mariaanko
Člen
Avatar
mariaanko:6.10.2013 18:18

prepacte za ignoraciu, vcera som musel reinstalovat nb...
dnes pouzivam python-acku Academy RPG co je na pygame.org..
tak teraz sa do toho pustam...

mam aj zivot :)

PS: nemam win, takze si neviem ten C# projekt pozriet :(

Editováno 6.10.2013 18:20
 
Nahoru Odpovědět 6.10.2013 18:18
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na mariaanko
Jan Vargovský:6.10.2013 18:20

Deadline skončil před 20-ti minutama :)

 
Nahoru Odpovědět  +2 6.10.2013 18:20
Avatar
mariaanko
Člen
Avatar
mariaanko:6.10.2013 18:21

chcel som to len pre srandu kralikov :)

 
Nahoru Odpovědět 6.10.2013 18:21
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na mariaanko
Jan Vargovský:6.10.2013 18:22

To pak chválím :) člověk musí programovat a programovat :)

 
Nahoru Odpovědět  +1 6.10.2013 18:22
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:6.10.2013 19:01

Mám pocit, že jsem se měl v zadání ještě více zdůraznit, že by příběhy měly být náhodné a dávat smysl :) Na náhodný příběh jsem zde u nikoho nenarazil, vždy se vypisují stejné věty a maximálně se mění několik podstatných jmen. Všechny implementace jsou si navíc velmi podobné, jen náhodně vypisují položky z listů. Nějak jsem je ohodnotil, ale žádný výsledek na placku "Machr na algoritmy" není. Zkusím soutěž zadat v budoucnu ještě jednou.

1001001 - (60 bodů) - Je vidět, že jen náhodně vybírá bez nějaké kostry.
DanVitek - (60 bodů) - Místnosti jsou stále stejné, máš to hezky zpracované.
brisingr002 - (70 bodů) - Místnosti vypadají docela zajímavě, ale ten příběh se vůbec nemění. Bylo použito XML.
next-x - (50 bodů) - I když je příběh pořád stejný, je to první smysluplná věc, co jsi sem nahrál. Doufám, že se budeš učit dál.
Ondrca - (70 bodů) - Nevypadá to úplně špatně, +10 bodů za větu: "Zjistil si, že Zombie, Vodník a Vlk jsou pouze halogeny".
Osel - (60 bodů) - Také jen vybírání náhodných předmětů bez kostry děje.
p4koo (60 bodů) - Tady jsem příběh ani smysl nějak nezaznamenal :)
sidecek123 (60 bodů) - Příběh je pořád stejný.

Očekával jsem, že se alespoň někdo pokusí vygenerovat úvodní a konečný text :( Tak snad příště.

Nahoru Odpovědět  ±0 6.10.2013 19:01
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Michael Olšavský:6.10.2013 19:09

A znovu stejný problém u placky na algoritmy :-D

 
Nahoru Odpovědět 6.10.2013 19:09
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:6.10.2013 19:12

Alespoň vím, že vlk je pouze halogenem. Už se nebudu bát v noci do lesa, ještě mi posvítí :D

Nahoru Odpovědět  +3 6.10.2013 19:12
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Osel
Člen
Avatar
Odpovídá na David Čápka
Osel:6.10.2013 19:36

Hehe, všichni s 60 body - dem na panáka! :D

 
Nahoru Odpovědět  +1 6.10.2013 19:36
Avatar
Kit
Redaktor
Avatar
Odpovídá na mariaanko
Kit:6.10.2013 19:52

Na Ubuntu programy napsané v C# překládám a spouštím v Mono.

Nahoru Odpovědět 6.10.2013 19:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Osel
Daniel Vítek:6.10.2013 19:52

OK, ale platíš :D

 
Nahoru Odpovědět  +1 6.10.2013 19:52
Avatar
Odpovídá na David Čápka
Michael Olšavský:6.10.2013 19:54

Mám dotaz a zároveň i možná návrh. Nechceš za machry dávat body do skillů?

 
Nahoru Odpovědět  +5 6.10.2013 19:54
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:6.10.2013 20:14

Měl jsem cukání napsat svůj příběh v D pro ukázku, ale nakonec jsem od toho upustil. Halogenové vlky jsem vyrábět nechtěl :)

Nahoru Odpovědět 6.10.2013 20:14
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
Daniel Vítek:6.10.2013 20:33

Jo no, za výhru 10 000 a za účast 5 000 :D

 
Nahoru Odpovědět  -1 6.10.2013 20:33
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:6.10.2013 20:36

To je dost dobrý nápad :)

Nahoru Odpovědět 6.10.2013 20:36
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Daniel Vítek
Kit:6.10.2013 20:41

Brzdi, za jednu výhru nebo dvě účasti bys byl rovnou "Kvantový počítač".

Nahoru Odpovědět  +1 6.10.2013 20:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Kit
Daniel Vítek:6.10.2013 21:36

No právě :D

 
Nahoru Odpovědět 6.10.2013 21:36
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:6.10.2013 21:55

Úplně by stačily body, které byly přiděleny (0-100). Vítěz by mohl dostat dvojnásobek.

Nahoru Odpovědět  +2 6.10.2013 21:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
next-x
Neregistrovaný
Avatar
next-x:7.10.2013 0:16

jinak David Čápka vim ze jsem uz o tom nekolikrat psal ale mohu pozadat o unban? klidne mi smaz vsechny prispevky na foru ktery jsem psal. uz se me prisoevky zlepsi, uz me nebavi psat pres proxy servery ktere ani poradne neumi ceskou diakritiku, prosil bych at je odpoved jakakoliv tak mi napsat do PM zpravy ci pod prispevek popripade co mohu zlepsit.

next-x

 
Nahoru Odpovědět 7.10.2013 0:16
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 87 zpráv z 87.