Jump to content

vEnd

Hlavní moderátor
  • Příspěvků

    772
  • Registrován

  • Aktivní

  • Vítězných dnů

    60

Everything posted by vEnd

  1. vEnd

    pomoc NahratýČas

    Je správná. Když se operátor ++ či -- dají před proměnnou (prefixový zápis), tak se nejprve zvýší/sníží hodnota a pak teprve se provádí ostatní operace a úkony.
  2. Myslím, že nějaký smysl to ještě má, ale jen v případě, že si můžeš zvolit vlastní otázku. U těch předchystaných nastane jedna z těchto situací: 1. Ve kterém městě bydlíte? – Tohle ví každý. 2. Kdo byl váš učitel v době, kdy jste chodil do druhé třídy na základní škole? – To nevím ani já. Tím chci říct, že předpřipravené otázky jsou buď lehce odhadnutelné, nebo odpověď na ně sám neznáš. Když můžeš ale zvolit vlastní, je zde možnost vybrat něco, co víš opravdu jen ty (a pamatuješ si to), pak bych to bral jako přijatelný bezpečnostní prvek.
  3. vEnd

    hledám Job system

    Nechte toho spamu Už mě to přestává bavit. Denisko má pravdu, přišel sem hledat skript, tak mu buď pomozte, nebo sem nepište vůbec. Další příspěvek, který bude pouze odkazovat na Google nebo který bude říkat věci typu "udělej si to sám", bude vyhodnocen jako spam.
  4. vEnd

    klan Akatsuki

    Díky za informace. Mimochodem, projížděl jsem vaše fórum. Chtělo by to trochu zapracovat na angličtině a opravit pár překlepů. Pár příkladů: CS:GO žádost - v české verzi máte: "10)Prečo práve AKT?:", ale v anglické je: "10) Why FbH ?:"; - v anglické verzi: "-Make a microphone" – možná jen mně to zní divně, nicméně bych to přeformuloval; - v anglické verzi: "3) Previous Nicky:". SA:MP žádost - "6) How long are you playing SA-MP?:" není gramaticky zrovna správně, "How long have you been playing SA-MP?" bych tam napsal já. Možná je tam toho víc, tohle mě tak nejvíce udeřilo do očí. Neberte to jako výsměch, jen jako rady ke zlepšení jazykové úrovně obsahu webu.
  5. vEnd

    klan Akatsuki

    Akatsuki bez Itachiho, get out. Teď k věci, páni, i v roce 2017 se stále ještě běhá se sawnama a zápasí? A já myslel, že to už umřelo před pár lety. Pěkné zase to vidět, hodně štěstí. Teď zase od věci – docela by mě zajímalo, jak to hrajete, resp. jak se to teď hraje? Lag shot jako dřív, nebo už skin hit?
  6. vEnd

    script Rádia + Posluchači.

    Teď ale fakt, viděl jsi, z jakého roku to je? Ten uživatel tady už ani nemá účet.
  7. vEnd

    pomoc Dva problemy

    Odpověď na první otázku – ten, co sem dal odkaz na PW, ho sem dal bez svolení autora módu, tudíž bylo téma smazáno. Odpověď na druhou otázku – kdo ten ban dostal a kdy?
  8. Rickům nikdy nezáleží na tom, co se stane Mortyům... jen já jsem k*rva výjimka.

  9. Furt máme já i Morty (C-137) Citadelu u prd*le.
  10. Nejlepší seriál, co Denisko kdy viděl, byli Přátelé. Proč bychom měli očekávat, že bude znát tento?
  11. Nevěř ničemu, o čem vznikne článek jako tento. Na to asi v nejbližší době nedojde.
  12. Gaben vyhlásil válku, na kterou se pořádně nepřipravil, vězte, že tu budeme dál, dál, dokud nebudeme mít všichni ban. I potom sem budeme chodit pod multiúčty.
  13. Ale furt ho tam máš někde zahrabaný, ten mód přežil i po těch letech, co jsi ho prznil zkopírovanými kódy od jiných autorů. MY VYTRVÁME.
  14. Já a @@HighPrint nesouhlasíme. Je to útlak menšiny, jestli nechceš k soudu, odvoláš to.
  15. Obtížnost: Osnova: 1. Úvod; 2. Charakteristika a vlastnosti jazyka; 3. Odlišnosti oproti jiným jazykům; 4. Užitečné odkazy; 5. Závěr. 1. Úvod Zdravím, po delší pauze jsem se rozhodl, že rozjedu nový seriál, tentokrát zaměřený na jazyk Python. Tento jazyk mě hodně baví a rád bych vás do něj trochu zasvětil. Třeba vás zaujme stejně jako mě. Předem bych chtěl varovat, že se nebude jednat o návody psané pro začátečníky s programováním, očekávám již nějakou programátorskou zkušenost. Nebudu dělat podrobné výklady té či oné části jazyka, budu uvádět jen důležité a věcné informace. Postupně projdu různá témata – základní konstrukce jazyka, práci s regulárními výrazy, objektově orientované programování, podpora funkcionálního programování v Pythonu a různé zajímavé možnosti jazyka. Většina návodů bude psána pro verzi 3 a vyšší. V případě, že se daná vlastnost/funkce jazyka vyskytuje od určité verze, budu se snažit tuto informaci uvést. K úvodním informacím by to bylo vše, v tomto návodu se podíváme na charakteristiku jazyka a poté si uvedeme rozdíly oproti jiným jazykům. 2. Charakteristika a vlastnosti jazyka Nerad bych nudil táhlou historií vývoje, takže zmíním jen dva zajímavé fakty – Python se vyvíjí již od konce 80. let minulého století a jeho autorem je nizozemský programátor Guido van Rossum. Tímto máme historii pokrytou. Nebolelo to, že? Každý programovací jazyk má svou charakteristiku. Je-li řeč o Pythonu, jako první zmíním, že se jedná o víceúčelový vysokoúrovňový skriptovací jazyk. Co je vysokoúrovňový jazyk vysvětlovat nebudu (hodně zjednodušeně – není to C ani assembler), stejně tak to bude s pojmem skriptovací (to si můžete vygooglit ). Co bych ale rád rozebral je všestrannost Pythonu. Python totiž nemá jedno konkrétní zaměření. Lze si v něm vytvořit okenní aplikaci (PyQT, tkinter), stejně tak i testovací skripty ke studentským projektům (vysokoškoláci pochopí). Uplatnění má i při vývoji webových stránek a her. Pokročilí programátoři jej využívají i pro strojové učení. Python můžete zkrátka využít (či zneužít) ke všem možným, nemožným, legálním i nelegálním programátorským nápadům. Nyní se zaměřme na jeho konkrétní vlastnosti, které bychom měli znát. Dobré je vědět, že je multiplatformní. Pro ty, kdo se s tím slovem nikdy nesetkali – Python skripty vám budou fungovat i jinde než na Windows (na Linuxu, Mac OS X i dalších). Abychom tyto ale skripty mohli vůbec spustit, budeme potřebovat interpret (ke stažení zde). V tuto chvíli bych měl asi říct, že je to tedy interpretovaný jazyk; to je taky z části pravda. Bez interpretu se neobejdeme, nicméně Python při spuštění skriptu generuje soubory, tzv. bytecode, jež jsou poté interpretovány. Proto bude lepší říct, že Python využívá to nejlepší z obou světů, tedy kompilace i interpretace. Z programovacího hlediska by nás mohlo zajímat, že Python nevyžaduje deklaraci proměnných a využívá tzv. dynamického typování, což znamená, že nejenže nemusíme deklarovat, ale také nebudeme pevně určovat datový typ. Zkrátka si do proměnných uložíme, co se nám zrovna bude hodit. S datovými typy také souvisí silná typová kontrola. Tím vám chci naznačit, abyste hned zapomněli na veškerou černou magii z Javascriptu ("1" + 2 - "3" + "4" == "94") a podobných jazyků. V Pythonu nelze sčítat či odčítat řetězce s čísly a podobně. Často vyzdvihovanou vlastností Pythonu je také to, že podporuje více paradigmat. Pokud jste se teď zhrozili při slově paradigma, nebojte se, nejde o nic strašného. Programovací paradigma si představte jako způsob řešení a zápisu dané úlohy. Existuje hodně paradigmat – procedurální (Pawn), objektově orientované (Java), logické (Prolog), funkcionální (Haskell)... Některé spolu souvisejí, některé jsou nadřazené jiným, další jsou přesným opakem jiných. Nebudu vám v tom dělat guláš, pro zájemce je tu třeba tento článek. A co tedy Python z toho všeho umožňuje? Úlohy v Pythonu lze řešit procedurálně, ale máme možnost využít i objektově orientované programování; do jisté míry umožňuje Python i funkcionální programování (o tom třeba později). 3. Odlišnosti oproti jiným jazykům Teď už víme o základních vlastnostech Pythonu. V této druhé části návodu se podíváme na rozdíly oproti jiným známým jazykům. Žádné středníky Na konci příkazů a výrazů se, na rozdíl od jazyků jako C, Java či PHP, nepíše středník: // kód v C int n = 5; printf("Proměnná 'n' má hodnotu %i", n); # kód v Pythonu n = 5 print("Proměnná 'n' má hodnotu", n) Odsazení namísto složených závorek Většina jazyků se syntaxí jazyka C (C/C++, C#, Java, PHP, Pawn atd.) využívá ke tvorbě bloků složené závorky. V Pythonu se bloky tvoří dvojtečkou za příkazem (if, else, for, while...) a odsazením (běžně 4 mezery): // kód v C if(promenna < 1) { printf("Hodnota proměnné je menší než 1."); return 1; } # kód v Pythonu if promenna < 1: print("Hodnota proměnné je menší než 1.") return 1 and, or, not Logické operátory se nejčastěji zapisují jako && (and), || (or) a ! (not). V Pythonu se tyto operátory zapisují and, or a not: // kód v C if(promenna1 && promenna2 || !promenna1 && !promenna2) # kód v Pythonu if promenna1 and promenna2 or not promenna1 and not promenna2: Pozměněné názvy příkazů Tohle nebude žádná raketová věda, jen se tu a tam změnilo písmenko či slovíčko. Příklad 1: Namísto else if se píše elif. Příklad 2: Namísto catch u zachytávání výjimek máme except. Příklad 3: Poznámky se píší za mřížku #, ne za dvě lomítka //. Příklad 4: Zkuste najít. Chybějící struktury a operátory Ačkoliv vás to asi překvapí, v Pythonu neexistují jisté struktury a operátory, které jsou v ostatních jazycích běžné. Jedná se o struktury switch, do-while a operátory ++ a --. Není to ale nic, co by nešlo nahradit jiným kódem: # kód v Pythonu # náhrada switche if promenna == 1: print("Je to jedna") elif promenna == 2: print("Je to dva") else: print("Je to Bůh ví co") promenna += 1 # náhrada ++ Ternární operátor ?: Mnozí z vás používají ternární operátor ?: pro tvorbu "inline podmínek". Ani tento operátor v Pythonu není, místo něj je tu konstrukce if-else: // kód v C promenna = 1 < 2 ? 1 : 0; // podmínka ? pravda : nepravda # kód v Pythonu promenna = 1 if 1 < 2 else 0 # pravda if podmínka else nepravda Funguje úplně stejně (podmínky lze řetězit), jen se změnilo pořadí operandů. 4. Užitečné odkazy Zde máte několik užitečných odkazů, mimo jiné odkaz na stažení interpretu Pythonu, bez kterého jeho skripty nespustíte: • stažení interpretu Pythonu; • oficiální dokumentace Pythonu; • oficiální dokumentace Pythonu (pro starší verzi 2.7); • kurz Pythonu na Codeacademy; • vývojové prostředí PyCharm (od JetBrains). 5. Závěr A tím pro dnešek končím. Tento text byl jen lehkým úvodem do Pythonu, měli jsme možnost oťukat si trochu jeho syntaxi a uvést jeho vlastnosti. V příštím návodu se budeme věnovat konstrukcím v Pythonu. Pokud jste narazili na nějakou chybu, nějaký překlep nebo se chcete na něco zeptat, případně mi napsat jen tak, jen do toho.
  16. vEnd

    návod Enum [**]

    Máte to dokonce napsáno (a ukázáno) v ukázkovém kódu na SA:MP wiki: http://wiki.sa-mp.com/wiki/ShowPlayerDialog // Define the dialog IDs either with an enum: enum { DIALOG_LOGIN, DIALOG_WELCOME, DIALOG_WEAPONS }
  17. vEnd

    návod Enum [**]

    Vždyť tam ten příklad máš. enum { DIALOG_COSI, DIALOG_WHATEVER // ... }
  18. Musím souhlasit s Tangem, tohle je k smíchu. Já se naučil Pawn tak, že jsem si prohlížel již hotové kódy, pak nějakou dobu kopíroval, pak zkoušel něco svého a až pak teprve jsem začínal chápat programovací principy a jak to pracuje. Pak teprve se mi hodily teoretické návody, v mém případě výuka C na střední. Kdyby tě na vysoké učili programování teoreticky a nenutili tě do praktických cvičení či projektů, akorát bys ztrácel čas, co si neošaháš sám, brzo zapomeneš.
  19. Zapojím se do té vaší debaty. Podle mě je dobře, že učí jen jeden způsob vytváření příkazů. Nač ho učit do začátku obojí? (i)zcmd hravě zvládne i příkazy s i bez parametrů, což se o strcmp způsobu říct nedá. Podstatou tohoto návodu, pokud jsem to správně pochopil, je naučit uživatele programovat praxí. Proč je učit strcmp i zcmd a složitě (ano, z jejich pohledu složitě) jim vysvětlovat, kdy použít první a kdy druhý? Nauč je jedno, v příštích tutoriálech či až se sami otrkají, může dojít řeč i na strcmp.
  20. Zvolil jsi zajímavý přístup k tomu, jak to mají nováčci pochopit. Na rozdíl od mých návodů, kde se snažím o to, aby pochopili, co každá konstrukce znamená, ty se soustřeďuješ jen na to nejdůležitější – že to tam musí být a řekneš z praktického hlediska proč. Neříkám, že je to špatný přístup, ba naopak, myslím, že se to s tím mým přístupem pěkně doplňuje (u tebe se dozví, že new name[25]; je něco, kam se uloží nick, u mě se pak dozví, že to je pole znaků). Každopádně si myslím, že se ti nepodařilo to úplně vystihnout. Tady třeba chybí informace, že za cyklem (klidně bych řekl " za for" či "za forem") se to též nedává. Nebo když vytvářím nový stock (ačkoliv to označení stock pro funkce nemám rád, no budiž ). Tady bys mohl uvést, že "náš stock" se dosadí tam, kde je %s. Protože takhle by si mohli myslet, že cokoliv následuje za zprávou, tak že se vypisuje. Je to nepřesné. Je tam pár vět, které by si zasloužily jinou formulaci, i pár úseků, které by chtěly doplnit další odpovědi, ale jinak dobré. Nápad to špatný není.
×
×
  • Create New...