Jogador maluco, problemático, olho parado.
- Juntou-se
- 21 de Julho de 2015
- Postagens
- 570
- Soluções
- 3
- Bravecoins
- 2.833
- Área
- Programação
- Motor de jogo
- RPG Maker 2003
Um grupo de crianças encontrou uma caixa com diversos brinquedos para se divertirem no Halloween. Nessa caixa eles encontraram:
- Aranhas de plástico
- Sapos de borracha
- Dentaduras
- Fantasminhas que brilham no escuro
- Bruxinhas
JC, Hellen, Franklin, Daniel e Samuel gostaram da caixa e decidiram distribuir os brinquedos de acordo com seus gostos. Mas como Samuel é um menino que gosta criar brincadeira com qualquer coisa com seus amigos e resolveu propor um pequeno jogo para eles. Mas antes disso, Samuel resolveu colocar seus amigos em uma fila de frente à caixa, na seguinte ordem:
- Samuel
- Franklin
- Hellen
- JC
- Daniel
Feito isso, Samuel sempre retirará um brinquedo da caixa e o brinquedo será passado para as crianças de mão em mão, respeitando a ordem da fila até uma delas pegar o brinquedo que ela gosta. Se a criança receber um brinquedo que ela gosta, pegará para ela e guardará em sua mochila. Se o brinquedo é aquele que a criança não gosta, passa para a próxima que está atrás.
Abaixo, temos informações importantes para descobrir qual brinquedo cada criança gosta.
Abaixo, temos informações importantes para descobrir qual brinquedo cada criança gosta.
- Hellen gosta de Fantasminhas que brilham no escuro.
- Daniel nunca vai receber Bruxinhas.
- Franklin não gosta de Bruxinhas.
- As outras crianças nunca receberão Sapos de borracha.
- As Dentaduras sempre serão passadas para todas as crianças.
Desenvolva um código que faz a distribuição dos brinquedos para cada criança. A linguagem ficará à sua escolha, no entanto você deverá escolher 1 (um) paradigma ou 3 (três):
- Imperativa Estruturada
- Imperativa Orientada a Objetos
- Declarativa Funcional
Se o participante escolher 2 (dois) paradigmas, será considerado somente o primeiro paradigma escolhido seguindo a ordem da lista acima.
É preferível que o participante envie a solução através de um repositório Git (pode ser qualquer plataforma que usa Git: Github, Gitlab, Bitbucket, etc.). Se não tiver como enviar como repositório, pode enviar todo o código aqui como resposta a este tópico, mas precisa especificar a estrutura dos arquivos separadamente e os códigos de cada um deles, se for necessário.
Recomendamos que coloque a solução dentro do spoiler para que os outros participantes acabem não vendo sem querer e/ou ser influenciado pela resposta do outro participante.
Não será considerado como aprovado qualquer outra forma de padronização de envio. Em caso de quaisquer dúvidas, não hesite em usar o espaço deste tópico para poder saná-las o quanto antes.
Use o modelo abaixo se não for enviar via Github.
Estrutura:
App/Person.php
index.php
Código:
App/
Person.php
index.php
App/Person.php
Php:
<?php
namespace App;
class Person
{
public function __construct(
private string $name,
private int $age
)
{}
public function __get(string $key)
{
if (property_exists($this, $key))
return $this->$key;
return null;
}
public function __set(string $key, $value)
{
if (property_exists($this, $key))
$this->$key = $value;
}
}
index.php
Php:
<?php
use App\Person;
/** @var Person */
$person = new Person('Jubileu', 21);
echo 'Nome: ' . $person->name;
echo 'Idade: ' . $person->age;
A resolução do código será testada em um ambiente de testes unitários para validação da solução. Se o problema for resolvido em um dos paradigmas selecionados e passar por todos os testes, o participante receberá 100 Bravecoins.
O participante também pode tentar escolher os 3 paradigmas. Cada código vai um bônus de 50 Bravecoins para cada teste aprovado. Se os 3 códigos passarem nos testes, ainda terão um bônus de 50 Bravecoins por desenvolver a mesma solução em 3 paradigmas diferentes.
Escolheu um paradigma e passou no teste | +100 Bravecoins |
Escolheu os 3 paradigmas e, pelo menos, um dos testes passou | +100 Bravecoins +50/teste aprovado |
Escolheu os 3 paradigmas e os todos eles passaram no teste | +100 Bravecoins +150 Bravecoins + 50 Bravecoins |
Última edição: