Como Criar um Jogo de Adivinhação em PHP
Você sabia que a melhor forma de fixar o que aprendeu em programação é criando jogos? Quando juntamos a lógica condicional (o famoso if/else) com a capacidade de gerar números aleatórios, as possibilidades são infinitas!
Neste tutorial do nosso Curso de PHP, vamos criar um clássico Jogo da Adivinhação. O objetivo é simples e muito divertido:
A Lógica por trás do Game
Antes de sairmos digitando código, vamos entender o passo a passo do que o nosso script precisa fazer:
- Capturar a Jogada: Primeiro, recebemos o número que o jogador digitou no formulário (vamos armazená-lo na variável
$palpite). - A Mágica do PHP: No mesmo instante, usamos a função rand(1, 10) para o servidor "pensar" em um número secreto. Vamos guardar isso na variável
$resposta. - A Hora da Verdade: Comparamos o
$palpitecom a$respostausando umif(Se). Se forem exatamente iguais, mostramos a mensagem de vitória. Caso contrário (else), anunciamos a derrota.
O Código Completo e Bonito
Preparamos um código especial para você. Além de ter a lógica perfeita do PHP, adicionamos um pouco de CSS (estilização) para que o seu jogo não fique parecendo um formulário chato de prefeitura, mas sim um minigame moderno!
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Jogo de Adivinhação - PHP Progressivo</title>
<style>
/* Estilos para deixar nosso jogo com cara de jogo! */
.game-box { max-width: 400px; margin: 30px auto; text-align: center; font-family: sans-serif; border: 3px solid #3b82f6; border-radius: 12px; padding: 25px; background-color: #f8fafc; box-shadow: 0 4px 8px rgba(0,0,0,0.1); }
.btn-jogar { background-color: #3b82f6; color: white; border: none; padding: 12px 25px; border-radius: 6px; cursor: pointer; font-size: 16px; font-weight: bold; width: 100%; transition: background 0.3s; }
.btn-jogar:hover { background-color: #2563eb; }
input[type="number"] { padding: 12px; width: 90%; margin-bottom: 20px; border: 2px solid #cbd5e1; border-radius: 6px; font-size: 18px; text-align: center; }
.resultado { margin-top: 20px; padding: 15px; border-radius: 6px; font-weight: bold; font-size: 1.1em; }
.acertou { background-color: #d1fae5; color: #065f46; border: 1px solid #10b981; }
.errou { background-color: #fee2e2; color: #991b1b; border: 1px solid #ef4444; }
</style>
</head>
<body>
<div class="game-box">
<h2>🎮 Tente a Sorte!</h2>
<p>O PHP pensou em um número de <strong>1 a 10</strong>. Qual é o seu palpite?</p>
<form action="" method="get">
<input type="number" name="palpite" min="1" max="10" required placeholder="Digite um número..." />
<button type="submit" class="btn-jogar">Verificar Palpite</button>
</form>
<?php
/* * A função isset() verifica se o jogador já enviou um palpite.
* Se não colocarmos isso, o PHP vai dar erro na primeira vez que a página abrir!
*/
if(isset($_GET['palpite'])) {
// 1. Recebe o palpite do usuário
$palpite = $_GET['palpite'];
// 2. O servidor escolhe um número aleatório de 1 a 10
$resposta = rand(1, 10);
// 3. Compara os resultados e exibe a div colorida correspondente
if($palpite == $resposta) {
echo "<div class='resultado acertou'>";
echo "🎉 Acertou miserávi! O número era exatamente $resposta!";
echo "</div>";
} else {
echo "<div class='resultado errou'>";
echo "❌ Errou feio! Você jogou $palpite, mas o número sorteado era $resposta.";
echo "</div>";
}
}
?>
</div>
</body>
</html>
💡 Entendendo o isset()
Notou o if(isset($_GET['palpite'])) no código? Isso é uma boa prática essencial. Ele diz ao PHP: "Só execute a lógica do sorteio SE o formulário tiver sido preenchido e enviado". Sem isso, assim que o usuário entra no site, o PHP tentaria ler uma variável vazia e geraria um alerta de erro na tela.
Pronto! Agora é só você colocar esse minigame no ar em uma hospedagem real e mandar o link no grupo do WhatsApp dos seus amigos para ver quem é o mestre da adivinhação e acerta de primeira!
Gostou do Joguinho? Tem muito mais! 🚀
Na nossa Apostila de PHP Oficial, nós ensinamos passo a passo como criar sistemas complexos, jogos avançados, e tudo o que você precisa para se tornar um desenvolvedor Web Profissional.
Baixar Apostila Completa de PHP
Nenhum comentário:
Postar um comentário