image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Bruna Nunes
Bruna Nunes20/01/2024 01:53
Compartilhe

Me ajuda aqui por favorrrr

  • #JavaScript

Gente, tô no desafio da jornada do herói em lógica da programação, mas não lembro em qual aula foi ensinado isso de get e tô perdida começando a escrever o código assim:

let posicaoNoMapa = 5

let passosDados = 1

const posicaoFinal = passosDados + else;

if(posicaoNoMapa === 1){

console.log("Início da jornada")

}else if(posicaoNoMapa + passosDados === 2){

console.log("Obstáculo")

}else if(posicaoNoMapa + passosDados === 3){

console.log("Animais perigosos, fuja!")

}else if(posicaoNoMapa + passosDados === 4){

console.log("Obstáculo perigoso")

}else{

console.log("Você foi encontrado no território do Dragão, prepare-se para batalha!")

Mas não sei como usar isso de get, alguém pode me dar uma mão? (com exemplo de uso por favor, preu poder entender direitinho como se usa e aplica) por favor por favor!!!!

Compartilhe
Comentários (7)
Fernando Araujo
Fernando Araujo - 20/01/2024 16:20

Olá, Bruna.

O gets() é uma função que lê uma sequência de caracteres informados pelo usuário. Nos desafios da DIO, é a função que vai ler os dados de entrada do problema, automaticamente. O comando parseInt() converte os caracteres de entrada em número inteiro, que vai ser usado nos cálculos do problema.


Você não precisa informar nenhum dado no seu código, pois o gets() já lê os dados dos testes automaticamente. A primeira linha que usa gets() lê o primeiro dado do problema e atribui à variável posicaoInicial, a segunda linha que usa gets() lê o segundo dado do problema e atribui à variável totalPassos.


O que você precisa codificar é apenas o cálculo da posicaoFinal, depois do sinal de igual (=). Só isso! E mandar executar os testes.


.

Isabelle Oliveira
Isabelle Oliveira - 21/01/2024 18:52

Oi Bruna, boa tarde!


Quanto ao get, nao se preocupe.


Esses desafios você não precisa reescrever nenhum código, apenas completar o que falta.


No caso deste em especifico, onde se encontra a linha:


const posicaoFinal = ;


você deve acrescentar uma lógica para as variaveis informadas, onde será feita uma soma resultando na posição final.



Se ocorrer duvida neste e nos demais, segue link do git para duvidas futuras:


https://github.com/isaoliveiran/dio-programacao-do-zero

Julio Jesus
Julio Jesus - 20/01/2024 11:11

É que na verdade não foi ensinado! 😅


O gets apenas serve para você fazer um imput de algum dado, no caso do desafio ele está pedindo para você inserir uma informação, faz um tempinho que fiz esse então não lembro exatamente qual, mas no próprio desafio está informando qual é o imput que você precisa fazer

Giancarlo Rodrigues
Giancarlo Rodrigues - 20/01/2024 10:52

Olá, Bruna!


Essa função gets é uma função implementada pela Dio para ajudar nos desafios de código, vc não deve se preocupar com ela por enquanto, apenas usá-la. Ela serve para pegar dinamicamente os dados passados pela plataforma.

Ali onde vc declarou as variáveis e já atribuiu valor para elas, aqui:

let posicaoNoMapa = 5

let passosDados = 1


Vc não deve atribuir esses valores (1 e 5) e sim pegá-los da plataforma usando o método gets(). Vai ficar assim:

let posicaoNoMapa = parseInt(gets());

let passosDados = parseInt(gets());

Obs.: o parseInt que eu incluí aí é para converter para número os valores recebidos em forma de string.

Após isso vc vai apenas retornar a posição final do herói, que é representada pela soma da posicaoInicial com a passosDados, e não tem essas condicionais que vc colocou aí.

Por favor, faça as alterações necessárias no seu código e se precisar de mais algum esclarecimento retorne aqui, ok?


Ahh, só mais uma observação: esse get e set que o pessoal tá comentando aí já é outra coisa totalmente diferente, melhor vc deixar pra ver outra hora, pois não tem nada a ver com esse desafio, blz??


IZ

Ismael Zoletti - 20/01/2024 06:58

Oi Bruna, bom dia. O get() e o set(), são métodos que vão dentro de objetos. Então para você criar um get e um set, primeiro, como o Dawidson falou, você precisa criar um objeto. Ai dentro do objeto você vai ter a lógica através de propriedades e métodos. Por exemplo.


class Game {


let posicao = 0;


getPosicao() {

return this.Posicao

}


setPosicao (novaPosicao) {

this.posicao = novaPosicao;

return

}


andarParaNumeroDoDado(numeroDaFaceDoDado) {

this.posicao = posicao + numeroDaFaceDoDado;

}


}


--------- // ------ Play Game ------ // ------


const newGame = new Game();


newGame.andarParaNumeroDoDado(2) ;

newGame.getPosicao(); // 2


newGame.andarParaNumeroDoDado(5);

nemGame.andarParaNumeroDoDado(2);


newGame.getPosicao(); // 9


newGame.setPosicao(0);



newGame.getPosicao(); // 0

Linderman Moura
Linderman Moura - 20/01/2024 05:14

Bom dia Bruna.

Se você está se referindo ao Desafio de Código: Jornada do Herói

Eu posso estar enganado porém fiz a mesma formação e também não me lembro dessa função pois acredito ser algo da plataforma da DIO em especifico.

inclusive em javascript para você imprimir dados no console voce pode usar o console.log() porém na dio você usa o print.


eu voltei no desafio de código e resetei o código e o resultado é o abaixo, sugiro que você resete também e como pode ver eles explicam que para desafios em javascript eles tem essas funções gets e print.


//Desafios JavaScript na DIO têm funções "gets" e "print" acessíveis globalmente:
//- "gets" : lê UMA linha com dado(s) de entrada (inputs) do usuário;
//- "print": imprime um texto de saída (output), pulando linha.


// Para converter os valores inseridos na entrada, utilizamos a função JavaScript parseInt() que converte a parte inicial da string em um número inteiro.
const posicaoInicial = parseInt(gets());
const totalPassos = parseInt(gets());


//TODO: Calcule a posição final do herói:
const posicaoFinal = ;


// Imprime a posição final
print("Posicao final do heroi:", posicaoFinal);


pra você resolver esse exercício só precisa mexer na variável posicaoFinal com a lógica correta.


se você estiver falando de outro desafio peço desculpas pela confusão.

Dawidson Gaião
Dawidson Gaião - 20/01/2024 04:23

Bom dia, Bruna!


Uma das alternativas para tirar essa sua dúvida em específico é utilizar alguma IA para facilitar esse processo de entendimento.


1 - Copie esse seu código inicial no ChatGPT e/ou Bard;

2 - Peça para adaptar esse código com get e set para que ele fique funcional;

3 - Peça para que explique detalhadamente esse código e insira comentários em cada linha;

4 - Se mesmo assim ainda ficar com dúvidas, simule ser uma criança e peça detalhes da seguinte forma:

"sou criança, me explique o mais detalhado possível"


(Acho interessante a utilização de IA apenas como uma forma de ajuda para facilitar o entendimento do código.)


Qualquer dúvida só chamar, que tentarei lhe ajudar de outra forma.