Právě je úte 22. kvě 2012 10:15:23
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[HELP] NHL 09 od MajkX
[Hlasovanie] Pridanie teamov do PICH od MajkX
[Ms 2012] NHL 2009 Remake od MajkX
[ HELP ]NPC od UpiR
[HELP]Hackovanie servera od kazlik

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 
Autor Zpráva
PříspěvekNapsal: čtv 21. črc 2011 14:55:51 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: pát 19. zář 2008 16:26:22
Příspěvky: 760

Inicializace aneb nastavení hodnot
Zdravím, jsem tu s prvním TuTem a to je Inicializace aneb nastavování hodnot do polí. Jak už víte, pole můžeme využít k uložení vícero informací do jedné jediné větvící se proměnné. Více se dozvíte o polích v ffredykově výuce (link: viewtopic.php?f=79&t=14522). Tady v mým tutu se bude teda popisovat nastavováhní hodnot polí.

Nastavování hodnot teda lze podle jejich využití a typů. Pole, jak už globální nebo lokální, vždycky musí být konstatní, resp. Jednorázové hodnoty

Příklad:
Kód:
new p;              // p je teda nulová tudíž jeho hodnota je 0
new p = 1;            // přiřadili jsme teda proměně p hodnotu 1
new p = 'd' ;           // přiřadili jsme proměně p písmenko 'd' využití se najde spousta
new p[3]  = {1,2,3};      // přiřadili jsme jednotlivým polím hodnotu
new p[3] = {1,2};       // třetí pole bude 0
new bool:p = true;     // přiřadili jsme booleanu p začáteční hodnotu true 


Poznámka: Vlastně to přiřazování písmenka funguje stejně jako format, akorát ten nám dělá tu těžkou práci. Funguje to vlastně stejně jako když napíšete. Funguje to tak, že každou poli přiřadíme to písmenko.

Kód:
new p[5];
p[0] ='a';
p[1] ='h';
p[2] = 'o';
p[3] = 'j';
printf(„%c%c%c%c“,p[0], p[1], p[2], p[3]); // %c = formát charakteru, tudíž to vypíše písmenko
format(p,sizeof(p),"ahoj"); 

Vysvětlení: Vytvořili jsme proměnu p s 5 polí (1 pole navíc aby pawn rozpoznal, že se jedná o string, protože v posledním poli ukládá ukončovací znak, jestliže nebudeme mít tento ukončovací znak sebere to poslední políčko a proto to vypíše jen "aho" místo "ahoj"). Do každé pole jsme přiřadili písmenka, a když to vyprintujem tak nám to vyjde stejně tak jako když použijeme format.

Progresivní nastavování hodnot v poli
Teď si povíme o progresivním nastování hodnot. Značí se teda třemi tečkami („…“) a závisí vždycky na 2 posledních polích až ke konci maxima těch polí. Teď vám to ukážu radši na příkladu.

Příklady:
Kód:
new p[10] = {1,…}
/* Když máme jen jednu hodnotu, tak budou ostatní hodnoty stejné…tudíž to by bylo stejné jako kdybychom dali  {1,1,1,1,1,1,1,1,1,1} */
new p[10] = {1,2…} 
/* jak jsem říkal, jestliže máme už 2 hodnoty, 
bude se podle toho řídit ty tečky, tudíž to bude jako by takto {1,2,3,4,5,6,7,8,9,10}*/
new p[10] = {1,2,30,40…} 
/* a zase jak jsem říkal, řídí se podle 2 posledních hodnot,
 tudíž {1,2,30,40,50,60,70,80,90,100}  */


POZOR: Nefunguje to takto s abecedou!

Vzhledem k tomu, že náš pán milovaný moderátor ffredyk uvedl ve svém tutu ještě enum, tak vám ukážu taky jejich přiřazování hodnot jak to bude vypadat. Předvedu jen se 3 známými typy proměny.

Příklad:
Kód:
enum ENUM_TURBO
{
     text[5], //string
    bool:boolean1,//bool
    p // promena
}
new Supr[ENUM_TURBO] = {"ahoj",true,5}; // přiřadili jsme teda stringu text „ahoj“, booleanu true, a hodnotu 5 proměně p


A jak vlastně vypadá přiřazování hodnot když máme více větví? Dovolím si vypůjčit teda obrázek ffredyka:

Obrázek

Příklad:
new p[2][5] = {              {1,2,3,5,6}            ,        {7,8,9,10,11}            };  

Vysvětlení:
Takto asi celkově vypadá když to rozdělíme… máme jednu začáteční závorku (kmen; zvýrazněné zelenou), potom 2 větve (ty závorky jsou zvýrazněné červeně) a v tom 5 větviček což jsou ty hodnoty které náleží dané větvi.

Další příklad, tentokrát se stringama

new p[2][5] = {           "cus"                  ,              "ahoj" } ;

Vysvětlení:
A teď zase znova, větvičky, a větvě…Kmen je zvýrazněně zeleně, a větve jsou datový objekty, a na nich 5 polí kde bude ukládat každé svoje jablíčko (písmenko). A taky bacha když s tímto pracujete ještě hlouběji, všimněte si, že slovo cus má jinou délku než ahoj, takže když zjišťujete písmenka např. takto: printf(“%c - %c“, p[0][4], p[1][4]); tak bude asi jasné, že to první písmenko nevypíše, neboť slovo „cus“ má jen 3 písmenka a nevypíše se teda čtvrtý. Naopak druhé písmenko vypíše teda „j“…. Doufám, že tuto část jsem vysvětlil jasně :) jestli ne tak sem napište dotaz a rád vám pomůžu.

A poslední fáze, jak zjistit jednotlivé větve nebo kmen jak dlouhé to je, mám teď na mysli funkci „sizeof“. Řekl bych, že tady u téhle části to sám vysvětlit ani neumím, ale snad vám to pomůže když vám to tady ukážu na příkladě:

Příklad:
Kód:
new p[2][3] = { {1,2,3}, {4,5,6}};
sizeof(p) = vypíše 2, = samotné p = výsledek je kmen
sizeof(p[])  = vypíše 3 = p[] = výsledek jsou větve


Závěr: Tak to je snad všechno, jestli najdete chybu stačí informovat a upravím to :) Doufám, že jste se něco nového dozvěděli, někteří jedinci ano, někteří ne. Jestli jste něčemu nerozuměli stačí napsat :)

_________________
Obrázek

Proud =NTP= Member - http://ntpclan.com/


Naposledy upravil HighPrint dne stř 27. črc 2011 10:17:12, celkově upraveno 8

Offline
 Profil  
PříspěvekNapsal: čtv 21. črc 2011 15:47:00 

pekny tut :thumbup:


  
PříspěvekNapsal: čtv 21. črc 2011 15:58:33 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

Hezký TuT, zase jsem se něco přiučil páč moc pole a enumy nevyužívám.

Mohl jsi ještě zmínit, že pokud děláme string, tak když si uděláme ...

Kód:
new string[4];


A do formátu vypíšeme např.:

Kód:
format(string,sizeof(string),"ahoj");


Tak nám to bude házet error že pole je moc malé tudíž musíme vždy přidat +1 hodnotu do pole takže ..

Kód:
new string[5];

_________________
Používejte mozek! Snadněji tak vyřešíte záhadu Schrödingerovy kočky.


Obrázek


Offline
 Profil  
PříspěvekNapsal: čtv 21. črc 2011 16:39:07 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: pát 19. zář 2008 16:26:22
Příspěvky: 760

Díky Blyster :)

Mort: Mám to tam vysvětlené

Citace:
+1 pole navíc aby pawn rozpoznal, že se jedná o string, protože v posledním poli uloží ukončovací znak, jestliže nebudeme mít tento ukončovací znak vypíše to jen "aho" místo "ahoj"


Měl jsem to tam odzačátku a errory by to normálně házet nemělo

_________________
Obrázek

Proud =NTP= Member - http://ntpclan.com/


Offline
 Profil  
PříspěvekNapsal: úte 26. črc 2011 21:04:57 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4540
Bydliště: Blava ne ?

nice tutorial, nevidím nič čo by som vytkol :D
10/10 ;)
mohol si ešte vysvetliť
%c
ale nice :)
:clap: :clap: :thumbup: :thumbup:

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
PříspěvekNapsal: úte 26. črc 2011 21:08:05 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: úte 01. bře 2011 10:57:34
Příspěvky: 629
Bydliště: Opava

wow... 10/10 výborný Tutoriál

_________________
Slavné hlášky
„Smrt jednoho je tragédie. Smrt milionů je statistika“... stalin
„vidim hned první chybu misto GivePlayerWeapon má být GetPlayerWeapon“... cjcarl
„ja pawn viem, len som lenivý spravit si vlastný mod“... jakubes
zapoj mozog..keď to nejde tak skús znovu skopírovať ten kód... jakubes


Offline
 Profil  
PříspěvekNapsal: stř 27. črc 2011 10:19:41 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: pát 19. zář 2008 16:26:22
Příspěvky: 760

QWER, obvykle urážíš, kritizuješ, ale najednou pochvala :D Skoro bych řekl, že si to ani nečetl no... :D ale na přání přidáno co znamená formát %c, ale jinak díky :D

KarTooN, to platí pro tebe taky :D četl jsi to vůbec? :D, ale jinak díky

_________________
Obrázek

Proud =NTP= Member - http://ntpclan.com/


Offline
 Profil  
PříspěvekNapsal: stř 27. črc 2011 11:05:19 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: úte 01. bře 2011 10:57:34
Příspěvky: 629
Bydliště: Opava

HighPrint píše:
QWER, obvykle urážíš, kritizuješ, ale najednou pochvala :D Skoro bych řekl, že si to ani nečetl no... :D ale na přání přidáno co znamená formát %c, ale jinak díky :D

KarTooN, to platí pro tebe taky :D četl jsi to vůbec? :D, ale jinak díky

četl, hodně zajímavé :boss: jen tak dál :v:

_________________
Slavné hlášky
„Smrt jednoho je tragédie. Smrt milionů je statistika“... stalin
„vidim hned první chybu misto GivePlayerWeapon má být GetPlayerWeapon“... cjcarl
„ja pawn viem, len som lenivý spravit si vlastný mod“... jakubes
zapoj mozog..keď to nejde tak skús znovu skopírovať ten kód... jakubes


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: