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.
Pergunta
Cífro13
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.
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. 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: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
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.