Hoje estou aqui para trazer aos iniciantes em programaзгo a lуgica bбsica para formar qualquer script, pode nгo parecer mas o que vou ensinar aqui irб resolver muitos problemas durante o desenvolvimento do seu projeto.• O que sгo algorнtimos?
Nгo pretendo ser muito longo na explicaзгo pois й para ser algo resumido porйm didбtico e prбtico.
Algorнtimos й uma sequкncia finita de passos que algo deve seguir para chegar ao seu destino. Simples, nгo?• Como aplicar a linguagem de programaзгo PAWN?
Exemplo de um algorнtimo utilizando um exemplo do dia-a-dia:
Basicamente й um roteiro de aзхes.Код:Acordar. ---- Ir ao banheiro. -------- Se alguйm estiver no banheiro. ------------ Esperar atй sair. -------- Se o banheiro estiver livre. ------------ Entrar ---- Fim da aзгo de ir ao banheiro. Fim da aзгo de acordar.
Vamos pegar um exemplo bбsico..• Resumo.
Queremos que o nosso jogador ao pressionar a tecla Y ele fique congelado, porйm, se ele estiver logado como administrador RCON essa aзгo nгo seja executada. Como iriamos construir essa lуgica?
Agora, para aplicar temos que utilizar as funзхes que a linguagem nos fornece e assim chegando ao script:Код:Pressionou a tecla 'Y'. ---- Verificar se й administrador RCON. -------- Se for. ------------ Nгo executar nada. -------- Se nгo for. ------------ Congelar jogador. ---- Fim da verificaзгo. Fim da aзгo.
PHP код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_YES) // verifica se o jogador(a) pressionou a tecla Y.
{
if(IsPlayerAdmin(playerid)) // Se o jogador for um administrador RCON.
{
//nгo executa nada
}
else // Caso nгo seja.
{
TogglePlayerControllable(playerid, false); // Congela o jogador.
}
} // Finaliza a verificaзгo.
return true;
}
Algorнtimos й a forma que criamos a lуgica para que o nosso cуdigo siga passos especнficos para concluir uma aзгo com exito.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_YES) // isso nгo deveria funcionar, o correto й if(newkeys & KEY_YES)
{
if(IsPlayerAdmin(playerid)) // Verifica se o jogador й administrador RCON.
return false; // Nesse passo ele vai retornar falso toda vez que um admin RCON apertar Y
//E consequentemente vai invalidar a tecla Y para este admin.
TogglePlayerControllable(playerid, false); // Congela o jogador.
} // Finaliza a verificaзгo.
return true;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_YES) // Verifica se o jogador pressionou a tecla 'Y'.
{
if(!IsPlayerAdmin(playerid)) // Verifica se o jogador й NГO administrador RCON.
TogglePlayerControllable(playerid, false); // Congela o jogador.
} // Finaliza a verificaзгo.
return true;
}
Bom tutorial,
O problema й de quem precisa realmente ler isso, nгo vai nem abrir o topico, e ainda vai criar topicos de ajuda repetidos, e se alguйm mandar o link deste tuto, vгo te xingar .-. |
Bem mais ou menos...
Vocк ensinou a escrever um pequeno bloco de comandos, um pequeno algoritmo isolado. Mas sabemos que no SAMP os algoritmos dificilmente sгo totalmente isolados, ainda mais se for um projeto modular (Callbacks "hookadas"). PHP код:
PHP код:
|
Pressionou a tecla 'Y'. ---- Verificar se й administrador RCON. -------- Se for. ------------ Nгo executar nada. -------- Se nгo for. ------------ Congelar jogador. ---- Fim da verificaзгo. Fim da aзгo.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_YES) { if(IsPlayerAdmin(playerid)) { //nгo executa nada } else { TogglePlayerControllable(playerid, false); } } // Finaliza a verificaзгo. return true; }
Discordo parcialmente do @renatog na questгo da otimizaзгo. Isso й um tutorial, sгo "cуdigos-exemplo" para melhor interpretaзгo dos leigos.
Contudo, o ultimo cуdigo nгo й exatamente a interpretaзгo correta da construзгo do algoritmo, pois vocк usa SE e SENГO, ficando entгo assim: Vamos, por um momento, esquecer a otimizaзгo para deixar o exemplo prбtico o mais prуximo possнvel do exemplo teуrico da construзгo do algoritmo. Код:
Pressionou a tecla 'Y'. ---- Verificar se й administrador RCON. -------- Se for. ------------ Nгo executar nada. -------- Se nгo for. ------------ Congelar jogador. ---- Fim da verificaзгo. Fim da aзгo. Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_YES) { if(IsPlayerAdmin(playerid)) { //nгo executa nada } else { TogglePlayerControllable(playerid, false); } } // Finaliza a verificaзгo. return true; } |
Bom tutorial pela parte de lуgica, mas na execuзгo vocк falhou em algumas coisas, atй em nгo explicar a lуgica de condiзхes para um melhor compreendimento.
|
Eu achei ъtil cara, parabйns
Apesar de nгo ter aprendido com, portugol ajuda bastante quando se vai aprender programar |
Seria bacana vocк entrar mais a fundo de algoritmo, passar alguns exercнcios para excitar o raciocнnio lуgico.
Porque pra falar a verdade, vocк basicamente definiu a palavra algoritmo e exemplificou. Tente iniciar uma discussгo a respeito, passe exercнcios e peзa pra galera tentar resolver. Enfim, parabйns por ainda ter animaзгo pra postar algo aqui. |