Jump to content

Search the Community

Showing results for tags 'cyklus'.



More search options

  • Search By Tags

    Oddělujte čárkami
  • Search By Author

Content Type


Fórum

  • Obecné
    • Pravidla a oznámení
    • Návrhy změn a hlášení chyb
    • Všechno možné
    • Hledám/nabízím
  • Hry a herní tematika
    • Diskuze
    • Grand Theft Auto V
    • Grand Theft Auto: San Andreas
    • Minecraft
    • Source hry
    • Jiné hry
    • Prezentace projektů
  • Software
    • Diskuze
    • Počítačové sítě
    • Operační systémy a aplikace
    • Programování
    • Grafika a webdesign
  • Hardware
    • Diskuze
    • Pomoc
    • Návody
    • Prezentace tvorby
  • Ostatní
    • Koš

Categories

  • Pawn – filterscripty a gamemody
  • Pawn – skripty od nováčků povinně sem
  • Aplikace a hry

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Web


Facebook


Jabber


Skype


Steam


Twitter


Github


Pastebin

Found 2 results

  1. Paulee

    pomoc Dialog a cyklus for

    Zdravím, po pár měsících přestávky jsem se rozhodl, že si něco pro sebe udělám pro zahnání nudy, abych se přiučil něco nového atp. A proto jsem tady. Potřeboval bych poradit s jednou věcí, se kterou jsem se ještě nesetkal, snažil jsem se to samozřejmě vygooglit, ale nějak dvakrát chytrej jsem z toho nebyl. Jde o to, že si chci udělat systém zbraní v dialogu, které lze ovládat přes administraci. Jedna s funkcí chci aby byla, že si Admin může říct, kolik to bude vlastně slotů v dialogu ukazovat. Vím, že se to dělá přes fuknci for, která zjistí maximální počet slotů a vypíše to do listu dialogu. Bohužel si s tím nějak nevím rady, jak vypsat ty sloty v dialogu a propojit to s administrací pro jednoduché ovládání. Proto vás prosím o pomoc, nebo mi to nějak zkusit vysvětlit názornými ukázkami atp. Za každou pomoc budu rád. Přeji hezký den, s pozdravem Paulee.
  2. Obtížnost: Osnova: 1. Úvod, co jsou to cykly 2. Cyklus for 3. Cyklus while 4. Cyklus do-while 5. Příkazy přeskoku (break a continue) 6. Závěr 1. Úvod Po dlouhé době Vás vítám u dalšího návodu pro začátečníky. Předmětem tohoto návodu bude iterace a cykly. Pojem iterace není nic jiného než opakování. Abychom v některých situacích (např. při procházení pole) nemuseli ručně psát zbytečně mnoho kódu se stejným účelem (např. výpis 50 prvků pole), můžeme si pomoct iterací, která nám kód zkrátí, zpřehlední a také nám ušetří práci. Iterace se v programování realizuje pomocí cyklů. Cyklus je konstrukce, která nám umožňuje vykonávat libovolný počet opakování. V pawn máme celkem 3 cykly; všechny si postupně projdeme a řekneme si, k čemu jaký cyklus slouží. 2. Cyklus for Prvním cyklus, se kterým se setkáváme nejčastěji, je cyklus for (tzv. iterační cyklus). Tento cyklus se neodmyslitelně pojí s polem – pomocí něj můžeme nejpohodlněji procházet hromadně prvky polí. Syntaxe cyklus for je následovná: . for(inicializace; podmínka; modifikace) { //kód } . V inicializační části (jak už název napovídá) deklarujeme/definujeme proměnnou (může jich být i víc), která bude ovlivňovat počet opakování a kterou můžeme využít např. k indexaci pole. Podmínková část obsahuje výraz, který nám určí, kdy cyklus skončí. Dost často obsahuje proměnnou z první části. Jakmile bude výraz v této části roven 0 (false), cyklus skončí. Modifikační část nám poslouží ke změně hodnoty proměnné cyklu. Zde můžeme ovlivnit průběh cyklu (kolikrát se zopakuje). . for(new i=0; i<10; ++i) { pole[i] = 1; } . Zde je praktická ukázka použití iteračního cyklu. V první části jsme deklarovali proměnnou i a přiřadili jí hodnotu 0. Ve druhé části jsme zvolili podmínku, která říká, že cyklus poběží tak dlouho, dokud bude hodnota i menší než 10. Ve třetí části jsme se postarali o to, že se hodnota i při každém opakování zvětší o jedno. Cyklus pojede 10x (i bude mít postupně hodnoty 0 až 9), tedy vše, co je uvnitř něj, se vykoná 10x. Cílem tohoto kódu je uložit do desetiprvkového pole hodnotu 1 (všimněte si, jak jsme šikovně využili proměnnou i jako index pole). Berme na vědomí, že jednotlivé části jsou odděleny středníky, ne čárkami! Pro zajímavost (rozklikněte spoiler): . 3. Cyklus while Další na řadě je while, též nazývaný jako cyklus s podmínkou na začátku. Ten název mu nedali jen tak z hecu – čtěte dále. Jeho syntaxe vypadá takto: . while(podmínka) { //kód } . Cyklus while má jen jednu část, a tou je podmínková. Ta nám určuje počet opakování – cyklus poběží, dokud bude podmínka pravdivá. Je dobré uvést, že tento cyklus nemusí proběhnout ani jednou. . new i = 0; while(i < 10) { pole[i] = 1; ++i; } . Jak vidíme, účel kódu je stejný jako v případě s iteračním cyklem. Může se nám zdát, že cyklus while vypadá jako ochuzená verze cyklu for; na jednu stranu to tak je (while se používal před for), chybí mu inicializační a modifikační část, ale cyklus s podmínkou na začátku může sloužit k různým účelům (např. ke čtení ze souboru), ne vždy zde budeme potřebovat proměnnou i. 4. Cyklus do-while Třetím bratříčkem je cyklus do-while, známý i jako cyklus s podmínkou na konci. Ano, od cyklu while se liší tím, že má podmínku na konci. Co to pro nás znamená? O tom za chvíli. Zde je jeho syntaxe: . do { //kód }while(podmínka); . I tento cyklus má jen podmínkovou část, a to na konci. Teď si asi říkáte, jaký je rozdíl mezi tímto cyklem a cyklem while. Zatímco while nemusí proběhnout ani jednou, do-while proběhne vždy alespoň jednou. . new i = 0; do { pole[i] = 1; ++i; }while(i < 10); . Stejný kód jako dvakrát předtím. Cyklus opět poběží, dokud i nepřekročí hodnotu 9. Rozdíl je, že prvek pole pole bude mít na indexu 0 hodnotu 1, ať už zvolíte jakoukoli podmínku. 5. Příkazy přeskoku (break a continue) Příkazy pro základní cykly jsme si již probrali. Teď si zmínímme ještě tzv. příkazy přeskoku. Jedná se příkazy, které nám mohou ovlivnit životnost celého cyklu či jen konkrétního opakování. Jedná se o příkazy break a continue. a) break Nejprve tedy break. Tímto příkazem můžeme předčasně ukončit cyklus. (Předčasně – kdykoli v jeho průběhu) . for(new i=0; i<10; i++) { if(i == 5) break; pole[i] = 1; } . Pro ukázku jsem zvolil cyklus for, ale fungovalo by to i ve while a do-while. A co se tedy stane? Jakmile bude proměnná i rovna pěti, cyklus skončí a nebude pokračovat v dalších opakováních. Pouze prvky s indexem 0 až 4 budou mít hodnotu 1. b ) continue Druhým příkazem je continue. Jeho úkolem je přeskočit dané opakování a pokračovat v dalším. . for(new i=0; i<10; i++) { if(i == 5) continue; pole[i] = 1; } . Jakmile bude proměnná i rovna pěti, cyklus přeskočí na další opakování, aniž by vykonal cokoliv pod continue. Takže prvek s indexem 5 bude jediný, který nebude mít hodnotu 1. Pro zajímavost (rozklikněte spoiler): 6. Závěr A tímto končíme téma iterace. Už víme, že máme v pawn 3 základní cykly (for, while, do-while) a příkazy přeskoku (break, continue). Tento návod, stejně jako ty předchozí, je určen pro nováčky, pokročilejší věci byly buďto úplně vynechány, nebo jsou uvedeny ve spoilerech. Přesto, zdá-li se Vám, že jsem něco opomněl, někde jsem se spletl nebo se jen chcete vyjádřit, napište pod tento příspěvek.
×
×
  • Create New...