What's new

-Średni ABC ka?dego programisty!

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Cze??! Od razu chcia?bym powiedzie?, ?e jest to jedyny poradnik stworzony z mojej r?ki, o lua oraz c++. Bardziej si? skupiam na HTML'u wi?c, to owe b?d? najcz??ciej ujawniane, blasku poranka. Znale?? je mo?ecie w poradnikach, innych. A teraz, godnie zacznijmy!

Przedstawi? wam dwa j?zyki programowania. Tibia jest generalnie z nich skonstruowana.
C++:
C++ – j?zyk programowania og?lnego przeznaczenia.
Umo?liwia abstrakcj? danych oraz stosowanie kilku paradygmat?w programowania: proceduralnego, obiektowego i generycznego. Charakteryzuje si? wysok? wydajno?ci? kodu wynikowego, bezpo?rednim dost?pem do zasob?w sprz?towych i funkcji systemowych, ?atwo?ci? tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych j?zykach), niezale?no?ci? od konkretnej platformy sprz?towej lub systemowej (co gwarantuje wysok? przeno?no?? kod?w ?r?d?owych) oraz niewielkim ?rodowiskiem uruchomieniowym. Podstawowym obszarem jego zastosowa? s? aplikacje i systemy operacyjne.
Ten tekst udost?pni?a mi ciocia wikipedia!

Gdy zaczynamy nauk? najlepiej zaopatrzy? si? w jak?? popularn? literatur?, dobrze jest kupi? ksi??k? „Thinking In C++”. Autor ksi??ki mia? na celu oswojenie i nauczenie nas j?zyka nie zupe?nie od podstaw - Bruce Eckel napisa? ksi??k?, kt?ra ma wprowadzi? nas do zaawansowanego ?wiata c++ wi?c, szczerze m?wi?c, nie polecam pocz?tkuj?cemu owej czyta?. Przygotowaniem mo?e by? "Od zera do gier Kodera", kt?ra te? jest bardzo dobr? ksi??k?, lecz nie podchodz?c? pod zaistnia?e szczeg??y.
Tibie mo?emy edytowa? w c++, zarazem jak i silniki. Dodaje on nam wi?ksze mo?liwo?ci, ni? posiada lua, dlatego w?a?nie, polecam wyku? go bardziej (oczywi?cie lua, te? jest wyj?tkowo potrzebny).

Lua:
Lua jest j?zykiem prostym i nie wymaga on, rzeczy kt?re mog? przyprawi? nam problem?w w c++.
Nasz poradnik lua b?dzie si? sk?ada? z 6-ciu punkt?w:
Code:
1.	Pocz?tek i koniec skryptu
2.	If’y
3.	P?tle i Tablice
4.	Zmienne
5.	Funkcje LUA
6.	Komentarze


Pocz?tek i koniec skryptu
Skrypt rozpoczynamy od deklaracji funkcji, a odbywa to si? tak:

Code:
function onLogin(cid)
--Nasz kod.
end

end - pokazuje, w kt?rym miejscu skrypt si? ko?czy.
Funkcje rozpoczynaj?ce skrypt lua:

PHP:
Actions
onUse(cid, item, fromPosition, itemEx, toPosition)
Creaturescripts
onLogin(cid)
onLogout(cid)
onAdvance(cid, skill, oldLevel, newLevel)
onStatsChange(cid, attacker, type, combat, value)
onDirection(cid, old, current)
onSendMail(cid, receiver, item, openbox)
onReceiveMail(cid, sender, item, openbox)
onTradeRequest(cid, target, item)
onTradeAccept(cid, target, item, targetItem)
onJoinChannel(cid, channel, users)
onLeaveChannel (cid, channel, users)
onLook(cid, thing, position, lookDistance)
onThink(cid, interval)
onTextEdit(cid, item, newText)
onReportbug(cid, comment)
onAreaCombat(cid, tileItem, tilePosition, isAggressive)
onTarget(cid, target)
onFollow(cid, target)
onCombat(cid, target)
onAttack(cid, target)
onCast(cid, target)
onKill(cid, target, lastHit)
onDeath(cid, corpse, deathList)
onPrepareDeath(cid, deathList)
Globalevents
onThink(interval, lastExecution, thinkInterval)
onStartup()
onShutdown()
onRecord(current, old, cid)
onTimer()
Movements
onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
onEquip(cid, item, slot)
onDeEquip(cid, item, slot)
onAddItem(moveItem, tileItem, position, cid)
onRemoveItem(moveItem, tileItem, position, cid)
Spells
onCastSpell(cid, var)
Talkactions
onSay(cid, words, param, channel)
Weapons
onUseWeapon(cid, var)
Spis funkcji zaczerpni?ty z poradnika Karpio(**************)!


If'y
W programowaniu mo?emy u?ywa? warunk?w, a dok?adniej - "co? r?wna si? czemu?".
Code:
if – Warunek co? r?wna si? czemu?
elseif – Mo?emy go u?ywa? po if’ie ile razy tylko zechcemy.
else – Je?eli poprzednie warunki nie zosta?y spe?nione to wykonamy fragment za else.
then – U?ywamy po zapisie if’a.
Ka?dy warunek musi by? zako?czony endem!


P?tle i Tablice
P?tle:[/
S? dwa rodzaje p?tli(for i while)
a). P?tla for:
P?tla for wykonuje okre?lon? ilo?? razy ten sam kod, i jest najcz??ciej u?ywan?.
W praktyce:
Code:
for p?tla = 1, 100 do
Wyja?nienie:
Code:
for – jest to nazwa naszej p?tli.
p?tla – jest zmienna utworzon? na potrzeby p?tli.
1, 100 – m?wi nam ile razy dany kod ma zosta? wykonany w tym przypadku sto razy.
do – u?ywamy w p?tli for.
b). P?tla while:
P?tla ta jest wykonywana do miejsca gdzie warunek w niej postawiony nie zostanie wykonany:
Code:
local zmienna = 10
while(zmienna > 5) do
doPlayerAddItem(cid, 2000, 1)
zmienna = zmienna + 5
end
P?tla ta m?wi nam, ?e je?eli zmienna(10) b?dzie wi?ksza od 5 to dostaniemy item o id 2000(backpack) i zmienna zostanie zwi?kszona o 5.
Tablice:
Tablice wykorzystujemy do zapisu wi?kszej ilo?ci danych, s? one zawsze oddzielone przecinkiem, s? trzy rodzaje tablic, ale dzisiaj poka?? wam tylko dwie:
Code:
1.	{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} – Rodzaj w kt?rym warto?ci s? zapisywane po kolei.
2.	{x=1000,y=1000,z=7} – Tym rodzajem tablic najcz??ciej zapisujemy pozycje.
]Teraz nauczymy si? jak zapisywa? tablice, oraz pobiera? z nich dane
Code:
local tablica = {1,2,3,4,5,6,7,8,9,10} – tak wygl?da zapis tablicy.
Dane z tej tablicy s? pobierane za pomoc? funkcji "tablica" [index].
Funkcje zwi?zane z tablicami( )
Po??czenie p?tli for z tablic? wygl?da tak:
Code:
local numery_id = {2000,2001,2002,2003} 
for p?tla = 1, #numery_id do 
doPlayerAddItem(cid, numery_id[p?tla], 1) 
end
Znaczek # sprawia, ?e zostaje zwr?cona warto?? z tablicy.

Zmienne
Zmienne mog? by? globalne oraz lokalne, u?ywane s? do zapami?tywania danych oraz przekazywania ich.
Zmienne globalne:
S? mniej wykorzystywane przez skrypter?w, zmienne te s? najd?u?ej przechowywane w pami?ci silnika, na przyk?ad:
Code:
Id = 2000	-- tworzymy je tak samo tylko bez przedrostka.
Zmienne lokalne:
S? one cz??ciej wykonywane przez skryptor?w, silnik kr?tko je przechowuje w pami?ci:
Rozpoczynamy je s?owem local np.
Code:
local id = 2000
Przyk?ad u?ycia w skrypcie zmiennej lokalnej:
Code:
function onSay(cid, words, param)
local id = 2000
if doPlayerAddItem(cid, id, 1) then
end
end

Funkcje LUA
Spis funkcji lua znajdziemy pod linkiem:

Komentarze
W lua mamy komentarze blokowe oraz liniowe:
Komentarze liniowe:
Code:
doPlayerAddItem(cid, 2000, 1) -- Funkcja ka?e doda? item graczowi. To jest komentarz liniowy
Komentarze blokowe:
Komentarze blokowe wykorzystujemy do podawania autora, nazwy skryptu, wersji etc.
Code:
--[[
Autor : Reaper
Wersja : 1.0
To jest komentarz blokowy.
]]--


Zezwalam na kopiowanie moich poradnik?w, z tym, ?e na ko?cu powinien zawsze istnie? takowy obrazek:
6oprpe.png

Kod:
Code:
[IMG]http://i55.tinypic.com/6oprpe.png[IMG]
?eby zadzia?a?o, ko?cowy tag "
"!


Je?li znalaz?e? jakie? nie doci?gni?cie, lub b??d - poinformuj mnie o tym! B?d? wi?cej ni? szcz??liwy, ?eby go poprawi?.


Serdecznie dzi?kuj?, za przeczytanie.

Regards,
Rea~
 

Ksajan

Advanced User
Joined
Jan 13, 2011
Messages
228
Reaction score
21
Age
14
Odp: ABC ka?dego programisty!

Tibia jest niby "skonstruowana" z LUA? Nie, Tibia jest NAPISANA i jak najbardziej NIE w LUA.

Abc ka?dego programisty? To? to jest tylko o LUA i nieco o Cpp, je?li chcia?by? napisa? co? uniwersalnego dla ka?dego j?zyka - wymaga to ogarni?cia ich wszystkich.

LUA to j?zyk skryptowy, a nie programowania, wi?c osoba pisz?ca w nim nie jest programist?.

Dlaczego we wst?pie piszesz o C++, a potem przechodzisz na LUA? Te dwa j?zyki nie maj? ze sob? nic wsp?lnego.

Tibii nie mo?na "edytowa? w C++", bo nie jest oprogramowaniem otwartym.

A, jeszcze jedno. Mam "Thinking in C++" i ?mia?o stwierdzam, ?e nigdy nie warto jej kupowa?. Wszystko w niej jest bardzo skomplikowane, wi?cej mo?na si? nauczy? z, jak ju? wspomnia?e?, "Od zera do gier kodera". Potem mo?na przej?? na r??ne SDK i biblioteki.
 
Last edited:

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Odp: ABC ka?dego programisty!

Dzi?kuj?, za solidn? i porz?dn? opini?. Nast?pnym razem takowych b??d?w pope?nia? nie b?d?, aczkolwiek ja sam jeszcze si? owych j?zyk?w ucz?.
 

JacoloSs

User
Joined
Oct 22, 2010
Messages
42
Reaction score
0
Odp: ABC ka?dego programisty!

Hmm od kiedy Lua to j?zyk ? Jest to najzwyczajniejsza biblioteka j?zyka C# u?ywana tak?e w Cpp, co do ostatniego punktu twojego poradnika to chcia?em tylko powiedzie? ?e nie pasuje on to twojego tematu 'ABC ...'

Og?lnie to ?adne ABC tylko najzwyczajniejsze g?wnienko :)
Ka?dy programista wie to co napisa?em wy?ej :)_
Poza tym programista jest kim? kto ma opanowane przynajmniej ze dwa/trzy j?zyki, kto? taki co zna podstawy podstaw opisane w twoim 'poradniku' jest co najwy?ej pocz?tkuj?cym skrypterem...
 

AnimaXxX

Advanced User
Joined
Mar 25, 2011
Messages
195
Reaction score
27
Odp: ABC ka?dego programisty!

?redni ABC ka?dego programisty!
?redni? Buahah

Funkcje rozpoczynaj?ce skrypt lua:

Bardziej si? skupiam na HTML'u wi?c
Haha, no comment przyjacielu ; p

G?wno prawda... Skrypt mog? sobie rozpocz?? od zdeklarowania zmiennych, napisania funkcji czy innego tego typu rzeczy. Nie musze koniecznie od nich zaczyna?.
A po za tym, co je?eli kto? korzysta z innego silnika ni? TFS i ma inne funkcje? >.<

Phi, to si? zwie "instrukcje warunkowe".

S?owem, je?eli chuj wiesz o programowaniu to
nie zabieraj si? za co? czego? nie umiesz, bo tylko kogo? mo?esz wprowadzi? w b??d.
A co do poradniki to jest co najmniej ?a?osny.

Pozdrawiam,
Animax.
 

kkmks

Active User
Joined
Apr 5, 2008
Messages
141
Reaction score
3
Age
33
Odp: ABC ka?dego programisty!

a nie ma p?tli:
do while i until
 

Arkam

Forum friend
Joined
Dec 20, 2008
Messages
1,980
Reaction score
180
Odp: ABC ka?dego programisty!

@kkmks:
skoro nie masz poj?cia o temacie to dlaczego si? w nim wypowiadasz? co do while to autor zawar? to w temacie,
PHP:
do
nie jest p?tl? -.- a
PHP:
until
stosuje si? przy korzystaniu z
PHP:
repeat
wi?c nie m?w nic je?li g?wno wiesz.

@Topic: Poradnik jakie? tam podstawowe informacje zawiera, lecz je?li nie umiesz czego? perfekcyjnie to lepiej nie staraj si? tego nauczy? innych :) Do?? ci?zko si? czyta i ma?o wyja?nione.
 

Dubler

Lua Factory =)
Joined
Apr 8, 2009
Messages
1,874
Reaction score
112
Odp: ABC ka?dego programisty!

nie wiem do czego ten poradnik bo tak naprawde to jest do niczego, nic nowego sie z niego nikt nie nauczy bo albo juz to umie, albo nie zrozumie... tak chaotycznie to opisales...
po 2. to napisales "ABC KAZDEGO PROGRAMISTY" - gdzie ty do kurwiej n?dzy widzisz tutaj programowanie? jesli myslisz ze lua to jezyk programowania to jestes w czarnej dupie bledu:


Funkcje rozpoczynaj?ce skrypt lua:
chuja a nie funkcje... to s? eventy

Zmienne lokalne:
S? one cz??ciej wykonywane przez skryptor?w, silnik kr?tko je przechowuje w pami?ci:...
twoje objasnienia sa tak chujowe ze jak przeczytasz to sam to watpie zebys nawet ty cos zrozumial... nie chce mi sie nawet tego czytac bo bym wymienil takich bledow jeszcze z 20...

podsumowujac stwierdzam ze jestes na etapie bardzo wczesnej nauki i najpierw sie naucz pozadnie "programowa?" w lua (czyt. PISA? SKRYPTY) i naucz si? jeszcze kilku jezykow programowania dla rozeznania, a dopiero potem pisz poradniki...
 
Last edited:
Top