JH

Tutorial Básico Array[Vetores]!

Por jhon992, 08 de out. de 2012 em Tutoriais de Scripting

array
vetor
matriz
array simples
tutorial lua
otserv
tibia
script
5.0 (1)
6
2.2k
jhon992J
08 de outubro de 2012 às 16:00

~~ Tutorial Básico Array[Vetores]!

 

 

Hoje em dia ainda vejo muitos scripters iniciantes com dificuldade na manipulação de vetores então estou trazendo um explicação de modo simples onde qualquer um possa entender facilmente.

 

Antes de falarmos em vetores temos que entender oque é uma variável?

Uma variável é uma posição de memoria que guarda uma informação, ou seja, um campo pré-determinado pelo código para salvar uma determinada informação sendo que o mesmo não seja uma palavra reservada da linguagem.

 

Exemplo:

RKWHGg8s[/pastebin]

post-322038-0-36217400-1349722696.png

 

Agora que temos definido oque é variável, vamos aos vetores.

Oque é um vetor?

Um vetor é uma variável composta homogênea unidimensional formada por uma seqüência de variáveis, com o mesmo identificador e alocadas sequencialmente na memoria. (http://www.univasf.edu.br)

 

Ou seja, um vetor nada mais é do que uma variável que guarda varias informações, onde se encontram dentro de "{chaves}" e cada informação/posição é separada por "virgula,".

 

Exemplo:

aERvjRfK[/pastebin]

post-322038-0-35520000-1349722703.png

 

Como podemos ver nos vetores possuimos uma variável de controle onde podemos caminhar por todas as posições do mesmo.

 

Para saber quantas posições á em um vetor você pode usar isso:

fG21PihK[/pastebin]

post-322038-0-05828900-1349722708.png

O #variavel, vai retornar a o numero da última posição do vetor.

 

Outro teste para retornar a última posição:

tMZamH4f[/pastebin]

post-322038-0-58948700-1349722713.png

 

Agora vamos criar um vetor mais complexo para trabalhar com sistemas maiores.

4211zf4a[/pastebin]

post-322038-0-23896000-1349722721.png

 

Com esse tipo de vetor agente trabalha com duas posições simultaneamente. E é possivel fazer um vetor do tamanho que você quiser para trabalhar com quantas posições quiser.

 

Outros exemplo que podem ajudar vocês no futuro:

 

Exemplo 1 :

Xu0xG1kv[/pastebin]

post-322038-0-08288800-1349722727_thumb.png

 

Exemplo 2 :

ZyKdx69d[/pastebin]

post-322038-0-87367200-1349722732.png

 

Exemplo 3:

272S6pEK[/pastebin]

post-322038-0-70004500-1349722738.png

Essa eu testei 3 vezes por isso os números diferentes.

 

Acho que já esta bom de exemplos onde podem ser utilizados vetores, o resto é por conta de vocês. Além disso essa área é imensa deixando varias possibilidades de criação para melhor apresentação e utilização do seu código tornando ele de facil

utilização para você e outros que queiram usar o mesmo.

 

Agora vou por um exercicio para os iniciantes pra ver se alguem aprendeu...

Exercicio:

1 - Oque será escrito na tela ao executar este script:

e0jEt0vj[/pastebin]

 

Espero que tenham gostado do tutorial e que respondam o exercicio! happy.png

CriticalC
08 de outubro de 2012 às 16:34

Seu tutorial foi aprovado, movido para seção correta.

 

Atenciosamente, Critical.

08 de outubro de 2012 às 16:50

sorry

i don't have more rep for you today

gostei do tutorial

vou tentar fazer os exercicios mais tarde

caoticC
08 de outubro de 2012 às 17:30

Muito bem o tutorial

E bom saber que continua contribuído.

A melhor forma de edição e de guardar valores sem duvidas e utilização de arrays.

notle2012N
10 de outubro de 2012 às 08:24

Muito bom o tutorial

Exercicios Minhas Respostas

 

 

 

 

essa linha vai conta ate ultimo vetExerc que são 5

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, #vetExerc)

essa linha vai dizer o nome da pessoa que ser numero 5 que é Jhonatan

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc[#vetExerc].nome)

essa linha vai dizer o nome da pessoa que ser numero 3 que é Gustavo

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc[3].nome)

ja essa linha não sei muito bem tem uma soma seila kkk de 5 - 1 = 4 pode ser que nome sera o Pedro ou valor nail seila

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc2[#vetExerc2-1][2].nome)

essa linha tbm não sei :) sei que é um nome kkk

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc2[2][4].nome)

 

 

Editado Outubro 10 por notle2012

jhon992J
10 de outubro de 2012 às 08:47

Muito bom o tutorial

Exercicios Minhas Respostas

 

 

 

 

essa linha vai conta ate ultimo vetExerc que são 5

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, #vetExerc)

essa linha vai dizer o nome da pessoa que ser numero 5 que é Jhonatan

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc[#vetExerc].nome)

essa linha vai dizer o nome da pessoa que ser numero 3 que é Gustavo

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc[3].nome)

ja essa linha não sei muito bem tem uma soma seila kkk de 5 - 1 = 4 pode ser que nome sera o Pedro ou valor nail seila

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc2[#vetExerc2-1][2].nome)

essa linha tbm não sei :) sei que é um nome kkk

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, vetExerc2[2][4].nome)

 

 

 

Dava pra ter se esforçado mais pra responder hem.. kk. Mais ficou quase tudo certo.

As que tu errou foi as 2 últimas.

Na posição da resposta 4:

 

 

vetExerc2[#vetExerc2-1][2].nome
vetExerc2[5-1][2].nome
vetExerc2[4][2].nome

-- Resposta correta:
Batatinha

 

 

 

E na posição da resposta 5:

 

 

vetExerc2[2][4].nome

-- Resposta correta:
Pedro

 

 

 

Obs: Não quero ninguém colando, primeiro resolvam e depois consultem o resultado.

Editado Outubro 10 por Jhon992