Skip to content
Open
Changes from all commits
Commits
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
88 changes: 66 additions & 22 deletions challenge-03/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

```js
// Declarar uma variável qualquer, que receba um objeto vazio.
?
var objeto = {};

/*
Declarar uma variável `pessoa`, que receba suas informações pessoais.
Expand All @@ -16,14 +16,25 @@ As propriedades e tipos de valores para cada propriedade desse objeto devem ser:
- `andando` - Boolean - recebe "falso" por padrão
- `caminhouQuantosMetros` - Number - recebe "zero" por padrão
*/
?
var pessoa = {
nome: 'Felipe',
sobrenome: 'Freitas',
sexo: 'Masculino',
idade: 25,
altura: 1.83,
peso: 60,
andando: false,
caminhouQuantosMetros: 0
};

/*
Adicione um método ao objeto `pessoa` chamado `fazerAniversario`. O método deve
alterar o valor da propriedade `idade` dessa pessoa, somando `1` a cada vez que
for chamado.
*/
?
pessoa.fazerAniversario = function(){
pessoa.idade++
};

/*
Adicione um método ao objeto `pessoa` chamado `andar`, que terá as seguintes
Expand All @@ -35,103 +46,120 @@ valor dessa propriedade a quantidade passada por parâmetro;
- Ele deverá modificar o valor da propriedade `andando` para o valor
booleano que representa "verdadeiro";
*/
?
pessoa.andar = function(metros){
pessoa.caminhouQuantosMetros += metros;
pessoa.andando = true;
};

/*
Adicione um método ao objeto `pessoa` chamado `parar`, que irá modificar o valor
da propriedade `andando` para o valor booleano que representa "falso".
*/
?
pessoa.parar = function(){
pessoa.andando = false;
};

/*
Crie um método chamado `nomeCompleto`, que retorne a frase:
- "Olá! Meu nome é [NOME] [SOBRENOME]!"
*/
?
pessoa.nomeCompleto = function(){
return 'Olá! Meu nome é ' + pessoa.nome + ' ' + pessoa.sobrenome + '!';
};

/*
Crie um método chamado `mostrarIdade`, que retorne a frase:
- "Olá, eu tenho [IDADE] anos!"
*/
?
pessoa.mostrarIdade = function(){
return 'Olá, eu tenho ' + pessoa.idade + ' anos!';
};

/*
Crie um método chamado `mostrarPeso`, que retorne a frase:
- "Eu peso [PESO]Kg."
*/
?
pessoa.mostrarPeso = function(){
return 'Eu peso ' + pessoa.peso + 'Kg.';
};

/*
Crie um método chamado `mostrarAltura` que retorne a frase:
- "Minha altura é [ALTURA]m."
*/
?
pessoa.mostrarAltura = function(){
return 'Minha altura é ' + pessoa.altura + 'm.';
};

/*
Agora vamos brincar um pouco com o objeto criado:
Qual o nome completo da pessoa? (Use a instrução para responder e comentários
inline ao lado da instrução para mostrar qual foi a resposta retornada)
*/
?
pessoa.nomeCompleto(); //Olá! Meu nome é Felipe Freitas!

/*
Qual a idade da pessoa? (Use a instrução para responder e comentários
inline ao lado da instrução para mostrar qual foi a resposta retornada)
*/
?
pessoa.mostrarIdade(); //Olá, eu tenho 25 anos!

/*
Qual o peso da pessoa? (Use a instrução para responder e comentários
inline ao lado da instrução para mostrar qual foi a resposta retornada)
*/
?
pessoa.mostrarPeso(); //Eu peso 60Kg.

/*
Qual a altura da pessoa? (Use a instrução para responder e comentários
inline ao lado da instrução para mostrar qual foi a resposta retornada)
*/
?
pessoa.mostrarAltura(); //Minha altura é 1.83m.

/*
Faça a `pessoa` fazer 3 aniversários.
*/
?
pessoa.fazerAniversario();
pessoa.fazerAniversario();
pessoa.fazerAniversario();

/*
Quantos anos a `pessoa` tem agora? (Use a instrução para responder e
comentários inline ao lado da instrução para mostrar qual foi a resposta
retornada)
*/
?
pessoa.mostrarIdade(); //Olá, eu tenho 28 anos!

/*
Agora, faça a `pessoa` caminhar alguns metros, invocando o método `andar` 3x,
com metragens diferentes passadas por parâmetro.
*/
?
pessoa.andar(1);
pessoa.andar(2);
pessoa.andar(3);

/*
A pessoa ainda está andando? (Use a instrução para responder e comentários
inline ao lado da instrução para mostrar qual foi a resposta retornada)
*/
?
pessoa.andando(); //true

/*
Se a pessoa ainda está andando, faça-a parar.
*/
?
pessoa.parar();

/*
E agora: a pessoa ainda está andando? (Use uma instrução para responder e
comentários inline ao lado da instrução para mostrar a resposta retornada)
*/
?
pessoa.andando(); //false

/*
Quantos metros a pessoa andou? (Use uma instrução para responder e comentários
inline ao lado da instrução para mostrar a resposta retornada)
*/
?
pessoa.caminhouQuantosMetros; //6

/*
Agora vamos deixar a brincadeira um pouco mais divertida! :D
Expand All @@ -150,8 +178,24 @@ deve conter no retorno da frase acima é "metro" no lugar de "metros".
método), que será concatenada com a frase de retorno, mostrando a resposta
correta, de acordo com os dados inseridos no objeto.
*/
?
pessoa.apresentacao = function(){
var pronome = 'o';
var anos = 'anos';
var metros = 'metros';

if (pessoa.sexo == 'Feminino'){
pronome = 'a';
};
if (pessoa.idade == 1) {
anos = 'ano';
};
if (pessoa.caminhouQuantosMetros == 1) {
metros = 'metro';
};

return 'Olá, eu sou ' + pronome + ' ' + pessoa.nome + ' ' + pessoa.sobrenome + ', tenho ' + pessoa.idade + ' ' + anos + ', ' + pessoa.altura + ', meu peso é ' + pessoa.peso + ' e, só hoje, eu já caminhei ' + pessoa.caminhouQuantosMetros + ' ' + metros + ' metros!';
};

// Agora, apresente-se ;)
?
pessoa.apresentacao();
```