Ir para conteúdo
Fórum Script Brasil
  • 0

Diário de um Estudante de PHP


Cífro13

Pergunta

Bom Galera a idéia é lançar nossas dúvidas e descobertas.

vou começar contribuindo com a formula da coca-cola, um simples script que vai pegar os valores que você colocar nos inputs texts e gerar valores randômicos.

<html>

<head><title>Rolar dado de RPG</title></head>

<body>
<form name='cadastro' method='get'>
<table>
<tr><td>Quantidade</td><td><input type='text'name='quantia'size='2'></td></tr>
<tr><td>Lados</td><td><input type='text'name='faces' size='2'></td></tr>
<tr><td><input type='submit' value='Rolar'></td></tr>
</table>
</form>

<?php
//O method 'get' foi usado no form 'cadastrado' e as variaveis
//$lados e $qtd vai receber esses valores.
$lados = $_GET[faces];
$qtd = $_GET[quantia];
//criei uma array vazia para no próximo passo receber os valores
$arr = array();

/*o comando while (vamos chamar de faça enquanto) vai executar
um lop enquanto $qtd for maior que 0 (zero)
*/
while($qtd>0){
/*rand gera e escrever na tela números aleatórios do, nesse caso números iagual
ou maiores que 1 e menores ou igual ao número de lados definidos pelo usuário*/
echo $roll = rand(1,$lados);echo "</br>";
//quando ponho o a variavel correspondente a array com  abre e fecha colchetes '[]' eu insiro
//um elemento nele, nesse caso o valor gerado randomicamente
$arr[]=$roll;
//agora eu subtraio 1 da quantidade, isso é que vai findar o lop já que a variavel
//$qtd vai ser atualizada, e quando ela atingir zero ela encerra o ciclo
$qtd--;}

//declarei mais uma variavel com o nome de $dice e atribuir a soma do conteúdo da array $arr a ele
// array_sum() soma o conteúdo de uma array
$dice = array_sum($arr);
//pedi pra imprimir "Total: " mais $dice q é o total dos elementos de $arr
echo "Total: ";
print_r ($dice);
?>
</body>
</html>
basta copiar e colar num bloco de notas salvar como a extensão .php e vai funcionar. desculpa os erros de ptbr vamos a parte dois pessoal queria evoluir essa idéia para algo assim no meio do post, eu possa colocar algo como [dice]2d12[/dice] e ele role 2 dados de 12. vou iniciar a pesquisa, se alguém souber como fazer postaew.
/*isso é um rolador de dados muito usado nos sistemas de RPG,
ao executar esse script vai aparece duas caixas 
de texto um para a quantodade de dados a ser rolado e a outra para 
a quantidade de faces do dado,
ao rolar ele vai exibir cada dado rolado e o total da rolagem */
vou explicar melhor imagine uma área de texto num fórum, onde o cara vai responder a uma situação, como estamos fazendo aqui. então ele vai colocar essa tag [dice][/dice] e dentro dela os valores, por exemplo 4d5, a quantidade de dados e de lados do dado não é definido pelo desenvolvedor do script, mas pelo usuário. no mesmo post o cara pode por: [dice]1d5[/dice] [dice]4d20[/dice] [dice]6d4[/dice] tipo: xdy onde x = ao número de lançamentos de dados d = é um separador y = ao número de faces do dado e cada um deve rolar seus valore ex: [dice]1d5[/dice] = 3 [dice]4d20[/dice] = 16+3+2+9 =30 [dice]6d4[/dice] = 3+4+2+4+1+3 = 17 no estudo do BBcode eu cheguei até o resultado abaixo: a fórmula da coca-cola com limão. mas ainda não é isso, eu e meu amigo imaginário Jhone estamos empenhados nessa empreita
<html>

<head><title>code</title></head>

<body>
<form name='teste' method='get'>
<table>
<tr><td><textarea cols='32' rows='4' name='mensagem'></textarea></td></tr>
<tr><td><input type='submit' value='Postar>>'></td></tr>
</table>
</form>

<?php

//criei um arrey em que as chaves eram :) e :(
//seus valores são feliz e triste
$arr = array(':)'=>'feliz',':('=>'triste');

//a variavel seguinte va extrair apenas as chaves
//eainda em $GLOBALS() vou definilá como super global
//isso fará com que ela seja reconhecida em todo o programa
$chaves = array_keys($GLOBALS['arr']);

//fiz o mesmo com os valores
$valores = array_values($GLOBALS['arr']);


//peguei a mensagem que eu postaria na área de texto
$mensagem = $_GET[mensagem];

//str_replace funciona assim(a grosso modo) ler o texto verifica se existem chaves especiais
//se encontrar substitui pelo valor correspondente
//a ordem é chave>valor>mensgaem
$saida = str_replace($chaves,$valores,$mensagem);

//imprime o valor de saida que já possui as substituições de chaves por valores
echo $saida;

?>
</body>
</html>

:unsure: jhone diz: - E os dados cífro?

:lol: cífro13 diz: -Calma que eu chego nos dados, me dá um tempo jhone

_________

:closedeyes: Cífro13: -Jhone, No bbcode eu posso criar delimitadores assim como expliquei pra galera no texto acima não é??!

:o Jhone: -Sim, e daew?

:blink: Cífro13: -pensei em colocar os roladores como [dice]xdy[/dice], mas não estou conseguindo fazer isso porque

tenho que explicar pro php que [dice]até o 'd', é a quantidade de dados que eu quero rolar,

e que do d até o[/dice] são as faces dos dados.

mas se eu usar o str_replace e diser q o "d" é um delimitador, se eu escrever eduardo por exemplo

o que ele vai imprimir, e se o usuário casquinha q nem eu escrever "d junior" ao invés de "de junior"

o que vai acontecer?

:closedeyes: Jhone: - Poxa cara, eu só sei o que você sabe então vou pesquisar com você e vamos achar a solução vlw?!

:wacko: Cífro13: - Possa crer, e como se não fosse pra o suficiente ainda tenho q descobrir como escrever em uma cx de texto e ele reconhecer os enters como parágrafo, estou avaliando a idéia do nl2br, mas acho q num vai rolar, e gostei dessa onda de selecionar e as tags ficarem entre a seleção também..

:blink: Jhone: -Calma vei uma coisa de cada vez, calma, vamos aos dados primeiro, porque a outra questão me parece mais simples, eu vi uns resultado legais num fórum aew pra estas questões, e verdade que num lembro onde, mas vamo com calma.

:P Cífro13: -ok man vamo lá então

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...