Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Anderson Ferminiano

[AI] Jogo de Adivinhação

Recommended Posts

Segue o script para estudo e desenvolvimento de AIs para jogos de adivinhações feito por mim p/ brincar em outro fórum. (estilo Akinator)

 

Imagens:

Imagem Postada

 

Imagem Postada

 

Imagem Postada

Script PHP:

 

<?php
$perguntasArray = array();
$perguntasArray[1] = 'Você é gay?';
$perguntasArray[2] = 'Você tem mãe?';
$perguntasArray[3] = 'Você mora na rua?';
$perguntasArray[4] = 'Este jogo é um lixo?';

// respostas da pergunta 1
$respostasArray[1] = array();
$respostasArray[1][1] = 'Sim, claro.';
$respostasArray[1][2] = 'Não.';
$respostasArray[1][3] = 'Adoro.';
// respostas da pergunta 2
$respostasArray[2][1] = 'Não';
$respostasArray[2][2] = 'Sim';
// respostas da pergunta 3
$respostasArray[3][1] = 'Não';
$respostasArray[3][2] = 'Sim';
// respostas da pergunta 4
$respostasArray[4][1] = 'Sim';
$respostasArray[4][2] = 'Com certeza.';

// array de combinações resultados
$resultadosArray = array();
$resultadosArray[1] = array();
$resultadosArray[1]['nome'] = 'Gay Máximo';
$resultadosArray[1]['descricao'] = 'Aqui vai a descrição do cara.';
$resultadosArray[1]['respostas'] = array(); // é a chave da lógica desse jogo, combinações de valores
$resultadosArray[1]['respostas'][1] = 1; 
$resultadosArray[1]['respostas'][2] = 2;
$resultadosArray[1]['respostas'][3] = 2;
$resultadosArray[1]['respostas'][4] = 1;


$resultadosArray[2] = array();
$resultadosArray[2]['nome'] = 'Gay Minimo';
$resultadosArray[2]['descricao'] = 'Aqui vai a descrição do cara.';
$resultadosArray[2]['respostas'] = array(); // é a chave da lógica desse jogo, combinações de valores
$resultadosArray[2]['respostas'][1] = 3; 
$resultadosArray[2]['respostas'][2] = 1;
$resultadosArray[2]['respostas'][3] = 2;
$resultadosArray[2]['respostas'][4] = 2;


// mostrando formulário
echo '<h1>Jogo Tosco</h1>';

if (isSet($_POST['submit']))
{
// verifica quem foi o tosco que você acertou
$pergn = 1;
$viadodavez = array('nome' => 'Nenhum baitola encontrado com estas características na database.','descricao' => '-');
$respostasDadasArray = array(); // guarda-se todas respostas aqui, para uma comparação posteriormente
$resposta = (int) $_POST['perg'.$pergn]; // int anti php/sql injection
while ($resposta > 0)
{
$respostasDadasArray[$pergn] = $resposta;
$pergn++;
$resposta = (int) $_POST['perg'.$pergn]; // int anti php/sql injection
}

// comparação
foreach(array_keys($resultadosArray) as $keys)
{
foreach(array_keys($resultadosArray[$keys]['respostas']) as $resposta)
{
if ($resultadosArray[$keys]['respostas'][$resposta] != $respostasDadasArray[$resposta])
{
break; // não é igual
}
if ($resposta == sizeof($resultadosArray[$keys]['respostas']))
{
$viadodavez['nome'] = $resultadosArray[$keys]['nome'];
$viadodavez['descricao'] = $resultadosArray[$keys]['descricao'];
}
}
}

echo '<b>Resultado do seu jogo tosco:</b><br>
Nome: '.$viadodavez['nome'].'<br>
Descrição: '.$viadodavez['descricao'].'<br>';

}


echo '<form action="" method="post">';

foreach(array_keys($perguntasArray) as $perguntas)
{
echo '<h3>Pergunta Número '.$perguntas.': '.$perguntasArray[$perguntas].'</h3>';
foreach(array_keys($respostasArray[$perguntas]) as $respostas)
{
if ($respostas == 1)
{
echo '<input type="radio" name="perg'.$perguntas.'" value="'.$respostas.'" checked> '.$respostasArray[$perguntas][$respostas].'<br>';
}
else
{
echo '<input type="radio" name="perg'.$perguntas.'" value="'.$respostas.'"> '.$respostasArray[$perguntas][$respostas].'<br>';
}
}
}
echo '<br><input type="submit" value="Enviar" name="submit">
</form>';


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uma adaptação pra colaborar:

<?php
$perguntasArray = array();
$perguntasArray[1] = 'Ele(a) gosta de água?';
$perguntasArray[2] = 'Ele(a) é um cantor Brasileiro?';
$perguntasArray[3] = 'Ele(a) é mulher?';

$respostasArray[1] = array();

// respostas da pergunta 1
$respostasArray[1][1] = 'Sim';
$respostasArray[1][2] = 'Nao';

// respostas da pergunta 2
$respostasArray[2][1] = 'Sim';
$respostasArray[2][2] = 'Nao';

// respostas da pergunta 2
$respostasArray[3][1] = 'Sim';
$respostasArray[3][2] = 'Nao';

// array de combinações resultados
$resultadosArray = array();
$resultadosArray[1] = array();
$resultadosArray[1]['nome'] = 'É um peixe!';
$resultadosArray[1]['descricao'] = 'Descricao...';
$resultadosArray[1]['respostas'] = array(); // é a chave da lógica desse jogo, combinações de valores
$resultadosArray[1]['respostas'][1] = 1;
$resultadosArray[1]['respostas'][2] = 2;
$resultadosArray[1]['respostas'][3] = 2;

$resultadosArray[2] = array();
$resultadosArray[2]['nome'] = 'Zeca Pagodinho!';
$resultadosArray[2]['descricao'] = 'Descricao...';
$resultadosArray[2]['respostas'] = array(); // é a chave da lógica desse jogo, combinações de valores
$resultadosArray[2]['respostas'][1] = 2;
$resultadosArray[2]['respostas'][2] = 1;
$resultadosArray[2]['respostas'][3] = 2;

$resultadosArray[3] = array();
$resultadosArray[3]['nome'] = 'Ana Carolina!';
$resultadosArray[3]['descricao'] = 'Descricao...';
$resultadosArray[3]['respostas'] = array(); // é a chave da lógica desse jogo, combinações de valores
$resultadosArray[3]['respostas'][1] = 1;
$resultadosArray[3]['respostas'][2] = 1;
$resultadosArray[3]['respostas'][3] = 1;

// mostrando formulário
echo '<h1>Pense em alguém...</h1>';

if (isset($_REQUEST['submit'])){
// verifica quem foi que você acertou
$pergn = 1;
$boladavez = array('nome' => 'Realmente nao sei!','descricao' => '-');
$respostasDadasArray = array(); // guarda-se todas respostas aqui, para uma comparação posteriormente
@$resposta = (int) $_REQUEST['perg'.$pergn]; // int anti php/sql injection
while ($resposta > 0){
$respostasDadasArray[$pergn] = $resposta;
$pergn++;
@$resposta = (int) $_REQUEST['perg'.$pergn]; // int anti php/sql injection
}

// comparação
foreach(array_keys($resultadosArray) as $keys){
foreach(array_keys($resultadosArray[$keys]['respostas']) as $resposta){
if ($resultadosArray[$keys]['respostas'][$resposta] != $respostasDadasArray[$resposta]){
break; // não é igual
}
if ($resposta == sizeof($resultadosArray[$keys]['respostas'])){
$boladavez['nome'] = $resultadosArray[$keys]['nome'];
$boladavez['descricao'] = $resultadosArray[$keys]['descricao'];
}}}

//echo '<b>Resultado do seu jogo:</b><br />Nome: '.$boladavez['nome'].'<br />Descrição: '.$boladavez['descricao'].'<br />';
echo '<h1>'.$boladavez['nome'].'</h1> <input type="button" value="  Denovo!  " onclick="history.go(-1);"> <br />';
}

echo '<form action="" method="post">';
foreach(array_keys($perguntasArray) as $perguntas){
echo '<h2>'.$perguntas.': '.$perguntasArray[$perguntas].'</h2>';
foreach(array_keys($respostasArray[$perguntas]) as $respostas){
if ($respostas == 1){
echo '<input type="radio" name="perg'.$perguntas.'" value="'.$respostas.'" checked> '.$respostasArray[$perguntas][$respostas].'<br />';
}else{
echo '<input type="radio" name="perg'.$perguntas.'" value="'.$respostas.'"> '.$respostasArray[$perguntas][$respostas].'<br />';
}}}
echo '<br /><input type="submit" value="Enviar" name="submit"></form>';


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.