[tutorial] Logica de programação inicial
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Lógica
Página 1 de 1
[tutorial] Logica de programação inicial
Bem, eu voltei forte com estudos de jass e agora que o jnpg pegou aqui em casa, acho que nao vou largar a programção jass/vjass, to ate pensando em fazer meu hero em vjass ^^' (é serio)
To criaNdo este artigo/tutorial para falar de logica de programação, pq tava dando uma olhada no topico meu de jass (q por sinal so tenho 2 sobre jass) e vi num post do bills (que ta sumidoooo) que provalvemente niguem aqui tem noção do que é função e parametro, e fiquei com medo de ser verdade. mas vamos la.
OBS: é longo e cheio de conversa fiada, so pra quem ta afim de ler um artigo, se quiser um manual pratico... desculpe ^^' mas isso aqui é pra logica, é pra ser demorado e repetitivo
Agora vou falar é sobre: função, que seguira com parametro, retorno, variaveis
definição: função é um bloco de codigo que pode ser executado no codigo principal
syntase em algoritmo simples:
e como é para criar uma função?
imagine o exemplo:
conta ai quantas vezes se fala "oi" msm que seja dentro de uma frase
fassa o msm com outros pedaços repetidos, ate que é bastante ne? msm que seja 2 vezes
da pra trocar por funções ne? msm que " diga 'oi' " já seja uma funçao, uma funçao que diz algo, no caso oi
mas imagine ai com é pro programador se ele quisse fazer um monte repetido em varias partes do programa?
ou ate msm um dialogo desse 3, 4 vezes num programa so?
seria bem mais facil por tudo isso em uma funçao e chamar na hora que quisesse ne?
// Entao é pra isso que serve uma funçao? por preguiça?
claro que nao, agora que vem a parte mais legal das funções
Parametros:
definição: dados passados para uma funçao com ituito de usar essa informação, usando assim, uma funçao como uma maquina que gere informações
syntase:
assim:
Agora vou falar sobre retorno:
definao: faz que uma função retorne uma valor de algum tipo
basicamente toda funçao é um valor de algum tipo, as funções que nao retornao nenhum valor sao denominadas do tipo void (vazio)
syntese:
[code]
inteiro SomaInteiros recebe inteiro a, inteiro b
retorna a+b
final
[code]
há linguagens que tem um recurso que facilita bastante o entendimento do retorno,um recurso q seta a variavel como uma função do nao-tipo void (nulo/vazio), que ficaria mais ou menos assim:
[code]
inteiro integ = inteiro SomaInteiros recebe inteiro a, inteiro b
retorna a+b
final
[/code]
bem mais pratico nao?
em jass, esse negocio é mais interessante, pois encurta bastante,
veja so
[code]
function condicao takes integer a, integer b returns boolean //funçao que retorna verdadeiro ou falso
if a == b then //se o parametro a for igual ao parametro b, entao
return true //retorna verdadeiro
endif //acaba o if
return false //perai!!! já tem um return ali em cima, entao... haaa sim,
endfunction // é que sai da funçao quando se tem um return, entao agiria assim, se a == b, entao vai sair da funçao com
//o valor true, se nao, vai sair com o valor false
function Actions takes nothing returns nothing
local integer i = 1 //aqui eu crio variaveis integer i com valor 1
local integer ii = 2 //aqui eu crio variaveis integer ii com valor 2
if condicao(i,ii) then //se a funçao ali emcima for true (verdadeiro), entao
call BJDebugMsg("a é igual a b") //vai fazer isso aqui
else //se nao
call BJDebugMsg("a nao é igual a b") //vai fazer isso aqui
endif //final do if
endfunction //final do function
[/code]
sei que foi sem uso isso, pois dava pra colocar no lugar de condicao(i,ii) , i == ii ficaria melhor ^^
mas imagine que teria um processo enorme, ne?
agora falarei de variaveis:
definição:variaveis sao espaços na memoria usados para amarzenar valores de diferentes tipos, so ...
tipos de variaveis
ha diveeeersos tipos, mais em todas as linguagens tem:
integer (inteiro, numero positivo e negativo sem decimal)
boolean (boleano, é simplesmente verdadeiro ou falso)
double (numero real/decimal, numeros do tipo 1.2342)
char (caractere, uma unica letra, a, b, c)
string (palavra/cadeia de caracteres,,,esse na verdade é uma estensao do char, pq nada mais é do uma cadeia de caracteres)
se é possivel criar "tipos" de variaveis, tipos que vem de outros tipos, no caso do string, que vem de char
e no jass e outras linguagens, handle, que vem de integer
handle, no warcraft, é tudo que nao é variaveis dos tipos acima, units, timers, special effect, point, regions, etc.
aposto que quem usa points no we sabe o que é handle, já que tem que destruir para nao pesar na memoria ^^.
bem, pessoal, é só .
é um artigo/tutorial/aula, entao , qualquer coisa, falem ai, dem sugestoes e duvidas. ficaria feliz em ajudar
To criaNdo este artigo/tutorial para falar de logica de programação, pq tava dando uma olhada no topico meu de jass (q por sinal so tenho 2 sobre jass) e vi num post do bills (que ta sumidoooo) que provalvemente niguem aqui tem noção do que é função e parametro, e fiquei com medo de ser verdade. mas vamos la.
OBS: é longo e cheio de conversa fiada, so pra quem ta afim de ler um artigo, se quiser um manual pratico... desculpe ^^' mas isso aqui é pra logica, é pra ser demorado e repetitivo
Agora vou falar é sobre: função, que seguira com parametro, retorno, variaveis
definição: função é um bloco de codigo que pode ser executado no codigo principal
syntase em algoritmo simples:
- Código:
função
e como é para criar uma função?
- Código:
função exemplo
finaldafunção
- Código:
função digaOi
diga "Oi"
finaldafunção
imagine o exemplo:
- Código:
programa dialogo
diga "-oi"
diga "-oi"
diga "-como vai?"
diga "-to bem"
diga "e voce, como vai?"
diga "-to bem tb"
diga "fez o que hj?"
diga "-nada"
diga "e voce, fez o que hj?"
diga "-nada"
diga "tchau"
diga "tchau"
finaldeprograma
conta ai quantas vezes se fala "oi" msm que seja dentro de uma frase
fassa o msm com outros pedaços repetidos, ate que é bastante ne? msm que seja 2 vezes
da pra trocar por funções ne? msm que " diga 'oi' " já seja uma funçao, uma funçao que diz algo, no caso oi
mas imagine ai com é pro programador se ele quisse fazer um monte repetido em varias partes do programa?
ou ate msm um dialogo desse 3, 4 vezes num programa so?
seria bem mais facil por tudo isso em uma funçao e chamar na hora que quisesse ne?
// Entao é pra isso que serve uma funçao? por preguiça?
claro que nao, agora que vem a parte mais legal das funções
Parametros:
definição: dados passados para uma funçao com ituito de usar essa informação, usando assim, uma funçao como uma maquina que gere informações
syntase:
- Código:
função digaAlgo2Vezes recebe palavra p //<< uma funçao de nome digaAlgo2Vezes que recebe uma variavel chamada p do tipo palavra, esse nome p é o nome que a funçao vai usar, nao significa que a variavel que se chamar p >>//
diga p //diz a palavra p
diga p //diz a palavra p
finaldefunçao
assim:
- Código:
digaAlgo2vezes "oi"
- Spoiler:
- Código:
ruby:
def digaAlgo2Vezes p
puts p
puts p
end
c++:
void digaAlgo2Vezes(string p) {
count<<p;
count<<p;
}
java:
public static void digaAlgo2Vezes(string p) {
System.out.printlf(p);
System.out.printlf(p);
}
phyton:
def digaAlgo2Vezes (p):
print p
print p
return
jass:
function digaAlgo2Vezes takes string p returns nothing
call BJDebugMsg(p)
call BJDebugMsg(p)
endfunction
///Obs: no caso jass, manda uma mensagem, nao "escreve" já que é no warcraft que jass roda e nao num console ¬¬
Agora vou falar sobre retorno:
definao: faz que uma função retorne uma valor de algum tipo
basicamente toda funçao é um valor de algum tipo, as funções que nao retornao nenhum valor sao denominadas do tipo void (vazio)
syntese:
[code]
inteiro SomaInteiros recebe inteiro a, inteiro b
retorna a+b
final
[code]
há linguagens que tem um recurso que facilita bastante o entendimento do retorno,um recurso q seta a variavel como uma função do nao-tipo void (nulo/vazio), que ficaria mais ou menos assim:
[code]
inteiro integ = inteiro SomaInteiros recebe inteiro a, inteiro b
retorna a+b
final
[/code]
bem mais pratico nao?
em jass, esse negocio é mais interessante, pois encurta bastante,
veja so
[code]
function condicao takes integer a, integer b returns boolean //funçao que retorna verdadeiro ou falso
if a == b then //se o parametro a for igual ao parametro b, entao
return true //retorna verdadeiro
endif //acaba o if
return false //perai!!! já tem um return ali em cima, entao... haaa sim,
endfunction // é que sai da funçao quando se tem um return, entao agiria assim, se a == b, entao vai sair da funçao com
//o valor true, se nao, vai sair com o valor false
function Actions takes nothing returns nothing
local integer i = 1 //aqui eu crio variaveis integer i com valor 1
local integer ii = 2 //aqui eu crio variaveis integer ii com valor 2
if condicao(i,ii) then //se a funçao ali emcima for true (verdadeiro), entao
call BJDebugMsg("a é igual a b") //vai fazer isso aqui
else //se nao
call BJDebugMsg("a nao é igual a b") //vai fazer isso aqui
endif //final do if
endfunction //final do function
[/code]
sei que foi sem uso isso, pois dava pra colocar no lugar de condicao(i,ii) , i == ii ficaria melhor ^^
mas imagine que teria um processo enorme, ne?
agora falarei de variaveis:
definição:variaveis sao espaços na memoria usados para amarzenar valores de diferentes tipos, so ...
tipos de variaveis
ha diveeeersos tipos, mais em todas as linguagens tem:
integer (inteiro, numero positivo e negativo sem decimal)
boolean (boleano, é simplesmente verdadeiro ou falso)
double (numero real/decimal, numeros do tipo 1.2342)
char (caractere, uma unica letra, a, b, c)
string (palavra/cadeia de caracteres,,,esse na verdade é uma estensao do char, pq nada mais é do uma cadeia de caracteres)
se é possivel criar "tipos" de variaveis, tipos que vem de outros tipos, no caso do string, que vem de char
e no jass e outras linguagens, handle, que vem de integer
handle, no warcraft, é tudo que nao é variaveis dos tipos acima, units, timers, special effect, point, regions, etc.
aposto que quem usa points no we sabe o que é handle, já que tem que destruir para nao pesar na memoria ^^.
bem, pessoal, é só .
é um artigo/tutorial/aula, entao , qualquer coisa, falem ai, dem sugestoes e duvidas. ficaria feliz em ajudar
Tópicos semelhantes
» [Tutorial-Vídeo]Logica dos Triggers
» Entendendo a lógica das Triggers
» Topico Inicial
» [Tutorial] Tutorial extremamente básico sobre a utilização do jQuery
» [Tutorial] Itens
» Entendendo a lógica das Triggers
» Topico Inicial
» [Tutorial] Tutorial extremamente básico sobre a utilização do jQuery
» [Tutorial] Itens
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Lógica
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|