Skip to content
This repository was archived by the owner on Mar 1, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
75ba336
Adição de fórmulário inicial (usando o GET)
valdineifer Jan 9, 2018
c583ffb
remover controles do input e outras alterações
valdineifer Jan 9, 2018
e3b0c74
config.php concluído de acordo com as 4 instruções
valdineifer Jan 9, 2018
afdf7ef
add valor minimo e valor da variavel jogadores
valdineifer Jan 9, 2018
478a37e
funcaoCheck finalizado
valdineifer Jan 9, 2018
17bad82
alteracoes gerais
valdineifer Jan 9, 2018
3aeb5b4
arquivo check.php adicionado
valdineifer Jan 9, 2018
380a7da
Merge pull request #1 from valdinei11/edit-config
valdineifer Jan 10, 2018
9c98a49
Merge pull request #2 from valdinei11/funcaoCheck
valdineifer Jan 10, 2018
f66e21b
Merge pull request #3 from valdinei11/edit-check
valdineifer Jan 10, 2018
98c1ef5
ajustes gerais no config.php
valdineifer Jan 11, 2018
fef5895
ajustes finais no check.php
valdineifer Jan 11, 2018
8f59077
arquivo funcaoColuna.php finalizado
valdineifer Jan 11, 2018
03d06b8
arquivo coluna.php finalizado
valdineifer Jan 11, 2018
9978c35
arquivo resultado.php finalizado
valdineifer Jan 11, 2018
826fcb8
ajustes finais
valdineifer Jan 11, 2018
57be32e
Merge pull request #4 from valdinei11/edit-config
valdineifer Jan 11, 2018
cc267dd
Merge pull request #5 from valdinei11/edit-check
valdineifer Jan 11, 2018
8f65d6b
Merge pull request #6 from valdinei11/edit-coluna
valdineifer Jan 11, 2018
1efae1e
Merge pull request #7 from valdinei11/edit-result
valdineifer Jan 11, 2018
65c25c8
codigo melhor para finalizacao do arquivo, tirando o laço 'for' e usa…
valdineifer Jan 11, 2018
a1cda56
ajustes gerais no estilo da página (para não ficar tão crua)
valdineifer Jan 11, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 12 additions & 23 deletions Game/check.php
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
<?php
/*

1 - Uttilize o "require_once" para importar o arquivo "funcaoCheck.php".

2 - Depois de definida a Função, passe para o código o seguinte pseudo-código:

"Se analise($_GET['jogadores']) é verdadeiro então redirecione para a página coluna.php
com o valor "$_GET['jogadores']" via GET, caso contrário, redirecione para a página config.php
com o mesmo valor via GET".

Dica: Como passaríamos dados via GET em um redirecionamento? Fácil!

Sabemos como redirecionar para a página home.php,
Mas para passar um valor chamado "user" setado "Info", redirecionaríamos para a mesma página com uma URL diferente:

"home.php?user=Info"

E se o nome de Usuario tivesse em outra variável? Podemos concatenar a String com a Variável, criando a nossa URL!

"home.php?user=" . $user

*/
?>
require_once('funcaoCheck.php');
session_start();
$_SESSION['jogadores'] = $_GET['jogadores'];

if (analise($_SESSION['jogadores'])) {
header('Location: /Game/coluna.php');
exit;
} else {
header('Location: /Game/config.php?jogadores=' . $_GET['jogadores']);
exit;
}
?>
41 changes: 30 additions & 11 deletions Game/coluna.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
<?php

/*

1 - Importe o arquivo "funcaoColuna.php" utilizando o require_once.

2 - Crie um Formulario que passará os dados via POST para resultado.php

3 - Dentro do formulário, chame a função "escreveInput" passando como parâmetro o número de jogadores que chegou nessa
página via GET.

4 - Antes de finalizar o formulário, crie um botão de Submit, porque a nossa função acima só cria os Inputs.
require_once("funcaoColuna.php");
session_start();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pontuações</title>
<style media="screen">
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type=number] {
-moz-appearance: textfield;
appearance: textfield;
}
html, body {
font-family: 'Segoe UI', sans-serif;
}
</style>
</head>
<body>
<h1>Pontuação dos Jogadores</h1>
<form action="resultado.php" method="post">
<?php escreveInput($_SESSION["jogadores"]); ?>
<br><input type="submit" value="Enviar">
</form>
</body>
</html>
55 changes: 28 additions & 27 deletions Game/config.php
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
<?php
/*
1 - Crie um Formulário que Envie Dados para check.php

2 - O dado passado deve ser: "jogadores"

Dica:

Lembrem-se que o que define a chave da variavél que será passada para a página é o atributo "name" no input. Observe:

<input type="text" name="nomeDaVariavel">

3 - A variavél "jogadores", representa o Numero de Jogadores, logo a <label> desse <input> deve conter essa informação.

4 - Os inputs devem utilizar o atributo "value", sendo igual ao valor da variavel $_GET['nomeDaVariavel']. Isso será bastante
útil se a página check.php fazer um redicrionamento de volta para config.php.

Dica: Veja como vocês podem utilizar o atributo "value" da tag <input>:
Nome: <input type="text" name="fname" value="John">

Mas se o Nome estivesse em alguma variavél?
Nome: <input type="text" name="name" value=<?php echo $minhaVariavel; ?> >

Mais detalhes em: https://www.w3schools.com/tags/att_input_value.asp

*/
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Configuração</title>
<style media="screen">
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type=number] {
-moz-appearance: textfield;
appearance: textfield;
}
html, body {
font-family: 'Segoe UI', sans-serif;
}
</style>
</head>
<body>
<h1>The Game</h1> <!-- Perdi! -->
<form action="/Game/check.php" method="get">
<label for="jogadores">Número de Jogadores:</label><br>
<input type="number" name="jogadores" min="0" value="<?php echo $_GET['jogadores'] ?>">
<input type="submit" value="Enviar">
</form>
</body>
</html>
25 changes: 7 additions & 18 deletions Game/funcaoCheck.php
Original file line number Diff line number Diff line change
@@ -1,19 +1,8 @@
<?php
/*
1 - Crie uma Função "analise" que recebe uma variável.

Dica: Funções em php têm esse tipo de estrutura:

function retornaVariavel ($entrada) {

if ( $entrada == 0 ) {
return 0;
} else {
return $entrada;
}
}

Mais detelhes em: https://secure.php.net/manual/pt_BR/language.functions.php

2 - Se a variável passada para função "analise" for maior que 10, a função deve retornar "false", caso contrário "true".
*/
function analise($jogadores) {
if ($jogadores > 10)
return false;
else
return true;
}
?>
32 changes: 9 additions & 23 deletions Game/funcaoColuna.php
Original file line number Diff line number Diff line change
@@ -1,24 +1,10 @@
<?php

/*

1 - Faça uma função chamada "escreveInput" que recebe um valor como parâmetro, e não retorna nada.

A função deve escrever o seguinte trecho de HTML:

<label for="jogadorX">Jogador X</label>
<input type="text" name="X" id="jogadorX"><br>

Veja que tem a letra X, essa letra X deve ser substituida por uma variavel em PHP.

O objetivo dessa função é recebido o número 3 como parâmetro, ela deve imprimir 3x a string acima,
onde o X vai de 1 a 3. O resultado final depos da chamada da função seria isso:

<label for="jogador1">Jogador 1</label>
<input type="text" name="1" id="jogador1"><br>
<label for="jogador2">Jogador 2</label>
<input type="text" name="2" id="jogador2"><br>
<label for="jogador3">Jogador 3</label>
<input type="text" name="3" id="jogador3"><br>

Dica: Provavelmente você usará alguma estrutura de repetição nessa tarefa e o recurso de concatenação de Strings.
function escreveInput($var) {
for ($i=1; $i<=$var; $i++) {
?>
<label for="jogador<?php echo $i;?>">Jogador <?php echo $i;?>:</label>
<input type="number" name="<?php echo $i;?>" id="jogador<?php echo $i;?>"><br>
<?php
}
}
?>
56 changes: 21 additions & 35 deletions Game/resultado.php
Original file line number Diff line number Diff line change
@@ -1,35 +1,21 @@
<?php

/*

Achou que ganharia aquele que colocou o maior ou o menor número??? Errado! Esse jogo é trapaceiro.

Um jogador ganhará aleatoriamente. Como faremos isso?

Veja, esse arquivo está passando para você dados via POST. Nosso vetor chegará mais ou menos assim nesse arquivo:

$_POST[jogador] = pontos

Claro, se tudo foi implementado corretamente nos passos anteriores!

Se quiser testar e ver a estrutura do $_POST que chega nesse arquivo, você pode experimentar:

var_dump($_POST);die; // Irá exibir o nosso Array

Sua missão nesse arquivo é exibir a seguinte String:

<h1>O Jogador X foi o Vencedor com Y pontos</h1>

Onde o X é a chave do jogador no Array $_POST e Y é a quantidade de pontos desse jogador.

E como escolheremos o vencedor aleatoriamente? Bom... essa é a sua missão! Ache uma forma de escolher um valor no Array aleatoriamente.

Dica: Pense no que você quer... para buscar no Google. O que você quer fazer? Não desanime! A resposta para esse nosso problema está no https://secure.php.net

1 - Escolha algum jogador aleatoriamente no Array do POST para ser o Vencedor

2 - Imprima a seguinte String:

<h1>O Jogador X foi o Vencedor com Y pontos</h1>

Dica: Lembre-se que você usará o poder da Concatenação de String
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Resultado</title>
<style>
html, body {
font-family: 'Segoe UI', sans-serif;
}
</style>
</head>
<body>
<?php
session_start();
$jog = array_rand($_POST);

echo "<h1>O Jogador " . $jog . " foi o Vencedor com " . $_POST[$jog] . " pontos</h1>";
?>
</body>
</html>