Preciso de ajuda nessa questão - Javascript

Socorro
Instruções
var correctGuesses = 0;
Você sabe que a senha do seu alvo tem 4 caracteres, portanto, você precisará forçar com força um caractere de cada vez. Já declaramos a variável correctGuesses que você deve usar para acompanhar quantos caracteres você adivinhou.

Agora você precisa criar um loop que só pare quando todos os 4 caracteres tiverem sido adivinhados. Em cada iteração de loop, existem 3 resultados possíveis:

Você adivinha corretamente, o que aumenta em 1 as estimativas corretas e imprime a mensagem “Caracteres X encontrados” (onde X é substituído pelo número atual de estimativas corretas).

Você adivinha incorretamente e o terminal do seu alvo detectou muitas tentativas, o que redefine as Guias corretas para 0 e imprime a mensagem “Iniciando novamente” no console.

Você adivinha incorretamente, mas o correctGuesses é mantido com o mesmo valor.
Cada resultado tem a mesma probabilidade de acontecer, mas é aleatório.

Depois que a senha for quebrada, você deverá imprimir a mensagem “Terminal hackeado!”.

Verifique se todas as mensagens no seu código estão no formato correto para avançar!

Boa questão, o que vossa senhoria realizou até o presente momento?

Este é o primeiro passo:

let correctGuesses = 0;
const password = [1, 9, 5, 2];

while (correctGuesses != 4) {
  const guest = Math.round(Math.random() * 9);
  
  if (password[correctGuesses] === guest) {
    correctGuesses++;
  }
}

console.log('Terminal hackeado!');

Onde, exatamente, você está tendo dificuldade?

1 curtida

You know that your target’s password is 4 characters long, so you’ll just have to brute force 1 character at a time. We already declared the variable correctGuesses which you should use to keep track of how many characters you have guessed.

Now you need to create a loop that only stops when all 4 characters have been guessed. On each loop iteration there are 3 possible outcomes:

  1. You guess correctly which increases correctGuesses by 1 and prints the message ‘Found X characters’ (where X is replaced with the current number of correct guesses).

  2. You guess incorrectly and your target’s terminal has detected too many attempts, which resets correctGuesses to 0 and prints the message ‘Starting over’ to the console.

  3. You guess incorrectly, but correctGuesses is kept with the same value.
    Each outcome has the same probability of happening, but it is random.

Once the password is cracked you should print the message ‘Terminal hacked!’.

Make sure all the messages in your code are in the correct format in order to advance!

muito obrigado por estares a me ajudar …// eu quero muito ser um programador mas para eu ser programador tenho que fazer esse exercício . me ajude

Code is incorrect

Your code is not up to fSociety standards, keep trying to improve it

let correctGuesses = 0;
const password = [1, 9, 5, 2];

while (correctGuesses != 4) {
  const guest = Math.round(Math.random() * 9);
  
  if (password[correctGuesses] === guest) {
    correctGuesses++;
  }
}

console.log('Terminal hackeado!');

O código está incorreto porque não está completo, eu disse que é apenas um primeiro passo e pedi pra você me dizer em que parte está tendo dificuldade.

me envia o codigo completo por favor. se nao te encomoda

Porque está começando com hacking?

Compre um curso de programação da udemy.
É barato.
Entre 20 e 30 R$.

2 curtidas

Mais vale tirar nota condizente com o que sabe tipo um 5.5 ou 6.0 do que tirar 10.0 sem entender nada.

Um programador nem sempre acerta de primeira, salvo se já tem experiencia em dado cenário.
Mas o que diferencia o programador do bom programador é a vontade de resolver o problema, de consultar, estudar e não ter medo de desafio.

De que adianta passar de ano, se formar e não saber nada. Depois arruma emprego e faz igual uma antiga funcionaria que tinhamos em nossa empresa, todo dia vinha chorando porque não conseguia programar e resolver o problema do cliente, e olha que no certificado dela constava nota 10 em programação.

Meu caro amigo eu ja tentei resolver esse desafio .
Qual o senhor acha melhor , desistir ou procurar ajuda para ver onde esta o problema .
Eu ando a procurar ajuda por dois motivo.
1 nao estou conseguir resolver esse desafio.
2 me resta pouco tempo para fazer esse desafio. se nao consegue resolver esse desafio vou perder essa chanse de estudar programacao.
E muito obrigado pelo conselho.

Bom, se é assim então peço desculpa por ter cometido algum excesso em relação a você.
Mas a dica do wldomiciano não ajuda a resolver seu problema ?

1 curtida

wldomiciano me ajuda por favor com aquele dois exercicios .
falta dois dia para a candidatura fechar . por favor me ajuda a realizar meu sonho de me tornar um programador

Não há atalhos, vc precisa estudar. O correto é vc começar aprendendo da base e outra, há vários tutoriais no YouTube gratuitos e de ótima qualidade que vc pode assistir pra aprender javascript do ZERO. Boa sorte e bons estudos

var correctGuesses = 0;
var targetPassword = 4;
while(correctGuesses < 4) {
    var outcome = Math.floor(Math.random()*3);
  	if(outcome === 0){
    	correctGuesses ++;
    	console.log ('Found ' + correctGuesses + ' characters');
  }
 	if (outcome === 1) {
    	correctGuesses = 0;
    	console.log ('Starting over');
  }
  	if (outcome === 2) {
    	console.log ('Wrong guess');
  }
    if (correctGuesses === targetPassword) {
    	console.log('Terminal hacked!');
        break;
    }
}
1 curtida

:thinking:

ola. posso so tirar uma duvida? porque if outcome=== 0 aumenta correct guess??

porque da variavel outcome saem 3 hipoteses:
outcome=0 - quer dizer que acertou no carácter e por isso aumenta o numero de respostas corretas ( tem de acertar 4 vezes para ter os 4 caracteres da password)
outcome=1 - quer dizer que errou e que caso ja tenha algum carácter correto esse é eliminado e começa a contangem do zero
outcome=2 - quer dizer que errou no carácter mas os que foram descobertos ate agora nao foram perdidos ( se ja tiver 2 caracteres certos e errar mantem os 2 certos e continua a tentar ate ter os 4)

Olá. Estou com o mesmo exercicio para realizar. Já dei muitas voltas, já estudei imenso e não consigo encontrar o erro do meu.

Alguém me pode ajudar?