Ir para conteúdo
Entre para seguir isso  
pejuge2

Par ou Impar? 4 Funções

Recommended Posts

pejuge2    1
pejuge2

PON - Par, Impar ou Não numeral? 2 Funções

Olá a todos novamente, depois de algum tempo sem postar (o vício no jogo estava muito), voltei com toda força =D. Neste Tutorial simples e rápido demonstrarei duas funções simples criadas por mim (o título está incorreto na visualização antes de entrar, não sei o motivo), como gosto de dar nome aos meus scripts, estes se chamarão PON (Par, Ímpar ou Não numeral), isPON(param) - é par, ímpar ou não numeral? - e PONQtd(table, value) - quantos de pares, ímpares ou não números? - caso já existam estas funções favor postar neste tutorial. Pretendo criar um script com elas (aguardem =D). :fun::style::pirate:

Obs.: Ao final disponibilizarei o download e o modo de instalação. Os scripts scripts de ímpares estão feitos baseados nos pares, pois em caso de necessitar mudanças é mais facil.

A função isPON:

Esta Função é bem simples, ela determina se um número é par ou ímpar. Aí está:

function isPON(param) --> Check if the param is a pair or an odd number

if type(param) == 'number' then

if param % 2 == 0 then

return "pair"

else return "odd"

end

else return "not number"

end

end

Bom, utilizei um recurso muito simples, o módulo (%). Para quem desejar saber mais sobre este e outros recursos recomendo este tutorial:

http://forums.otserv.com.br/f176/aula-4-operadores-e-bibliotecas-115674/ , iniciei meus estudos com estas aulas e são de grande auxílio, será facil compreender o script com elas (principalmente a do link).

Você deve estar se perguntando, o que é esse negócio de param? Bem simples hehe :loool:. Ele é o conteúdo analizado, geralmente o número de uma tabela.

 

A seguir um exemplo prático:

local tabela = {1, 2, 3, 4, casa, olho}

print(isPON(tabela[2])) -- retornará par

print(isPON(tabela[5])) -- retornará not number, pois 'olho' não é um número

print(isPON(tabela[3])) -- retornará ímpar

A função PONQtd:

Esta função é apenas uma aplicação da função isPON, onde no caso avalia uma tabela e determina qual a quantidade de números pares, ímpares ou não números. Bom, aqui está o script:

function PONQtd(table, value) --> Check how many pair or odd or not numbers have on the table; use "pair" or "odd" or "not number"

local a = nil

local total = 0

for a = 1, #table do

if isPON(table[a]) == value then

total = total + 1

end

end

return total

end

Note que neste caso utilizei table ao invés de param pois não há sentido escrever milhões de números para posterior avaliação, o mais comum é avaliação de tabelas. Ok, mas o que é esse negócio de value? Simples, hehe :said::pirate::laugh::ras: (nem gosto de emoticons), é um parâmetro "extra" (necessário colocá-lo), coloque nele "pair" para que se obtenha a quantidade de números pares, "odd" para os ímpares ou "not number" para não números. A seguir um exemplo:

local tabela = {1, 2, 3, 4, camarao,"casa", "olho", 20, 90}

print(PONQtd(tabela, "pair")) -- retornará 4, pois 2, 4, 20 e 90 são pares

print(PONQtd(tabela, "not number")) -- retornará 3 pois camarao, "casa" e "olho" não sao números

print(PONQtd(tabela, "odd")) -- retornará 1, pois apenas 1 e 3 neste caso são ímpares

Download:

Script: http://www.mediafire.com/file/hmz25qtn4gm/Par ou Impar.lua

 

Instalação:

Para instalar, é simples, basta colar o arquivo na pasta lib(...\lib) e colar isto: dofile(getDataDir() .. "lib/Par ou Impar.lua") em data.lua(...\lib\data.lua). Lembre-se para no caso de mudar o nome do arquivo mudar o texto em negrito preto.

Obrigado:

Agradeço por ter lido meu tópico e espero ter ajudado, aguardem o script prometido ^^. Aguardo comentários hehe :w00t:

Editado por pejuge2

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gpwjhlkdcf    21
Gpwjhlkdcf

Aprovado e movido. Obrigado pela contribuição.

Compartilhar este post


Link para o post
Compartilhar em outros sites
pejuge2    1
pejuge2

Obrigado Skyen ^^, meu terceiro post (2 Tutoriais e 1 Download), terceira aprovação, =D. Bom, achei que faltavam estas duas funções, logo logo (quando a preguiça deixar) eu faço o npc prometido (o vício no jogo é muito uhauhauha), além disso PROMETO =D postar um tutorial novo logo logo hehe.

Obs.: Estou de férias, mereço um disconto huauhuahuauh

 

Grato, Pedro(PeJuGe)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gabrielmaxx    0
Gabrielmaxx

O Script é legal, mas pra q q serve dentro de um OT?

 

Só pra saber mesmo, não tou querendo criticar nem nada^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
pejuge2    1
pejuge2

Gabriel, eles são funções. Muitas vezes, na hora de avaliar tabelas, o que é muito comum, os scripters se deparam com impedimentos e acabam utilizando meios mais longos, com as funções simplificadas é mais facil este trabalho ^^.

Compartilhar este post


Link para o post
Compartilhar em outros sites
demoniac otserv    0
demoniac otserv

Aprovado

 

Gostei de mais do Script. Nao muito ultio, mas bem legal

Compartilhar este post


Link para o post
Compartilhar em outros sites
ricardosohn    0
ricardosohn

gostei, em um futuro proximo pode ser util.

aprovado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×