Nota pessoal
: Este é meu primeiro projeto utilizando Laravel como framework.
Consiste em um sistema que permite o usuário cadastrar 8 times em um campeonato, o sistema simulará os resultados e retornará um campeão no final das fases (Quartas, semifinais e finais).
Funcionalidade 1
: Cadastrar times no banco de dados;
Funcionalidade 2
: Simular as partidas, chaveamento e fases do campeonato;
Funcionalidade 3
: Define um campeão;
Funcionalidade 4
: Guarda o campeonato em um histórico;
PHP
Laravel
PhpStorm IDEA
Sqlite
Eloquent
Bootstrap
- Para criar as tabelas no banco de dados:
php artisan migrate
- Ao abrir o programa, será apresentada a view index
- Não será possível inicial um campeonato sem que todos os times estejam cadastrados
- Após o cadastro, será simulada de forma dinâmica através da view "tabela"
- E com isso a reenderização resultará na seguinte tela
- A lógica de desempate é a seguinte (por pênaltis)
public function desempate($gols)
{
$diferenca = 0;
do{
for($i = 0; $i < 5; $i++){
$gols['casa'] = rand(0,1);
$gols['visitante'] = rand(0,1);
$diferenca += ($gols['casa'] - $gols['visitante']);
if($diferenca === 2 || $diferenca === -2){
break;
}
}
}while($diferenca === 2 || $diferenca === -2);
return $gols;
}
Em desenvolvimento...
- A cada fase, o time vencedor receberá um UPDATE na fase que o mesmo possui - Conforme a fase muda, a query para busca dos times também, por exemplo: Quartas de finais = "Todos os times com ```{fase=4}```", Semi finais = "Todos os times com `{fase=2}`" e assim por diante
- Por fim, será simulada a final e definido um campeão. Atribuindo o id do time campeão ao idCampeao na tabela do campeonato em vigência, e assim por diante.