Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Minha página não está mudando/considerando a fonte - TESTE se o jogo funciona LOGICA

Me ajudem por favor... Eu inseri o RESET.CSS conforme o professor ensinou... e nem o formato do texto H1 ele ele está considerando, importei uma fonte do Google fonts... e também não considerou... me ajudem por favor?

Codigo HTML:


Acerte o número Secreto!!!

<h3>O número secreto está entre <span id="menor-valor">0</span> e <span id="maior-valor">100</span></h3>

<div id="chute" class="mensagem">
    <div>Você disse:</div>
    <span class="box"></span>
    <div>O Número secreto é maior <img src="https://img.icons8.com/arcade/60/null/circled-chevron-up.png"/></div>
</div>

Código CSS:


@import url('https://fonts.googleapis.com/css2?family= DynaPuff & display=swap');

:root { --font-family: 'DynaPuff', cursiva; --bg-color: #FEFF86; --cor-primaria: #B0DAFF; --cor-secundaria: #B9E9FC; --cor-tercearia: #DAF5FF; --texto-color: #7149C6; }

body { background-color: var(--bg-color); color: var(--texto-color); min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin: 0; font-family: var(--font-family); }

Print de como fica:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

6 respostas
solução!

Olá Thiago, tudo bem?

Bom, analisando o seu código, notei que você importou a fonte do Google Fonts corretamente, porém, no arquivo CSS, você inseriu um espaço no nome da fonte, o que pode estar causando o erro.

Tente alterar a linha @import url('https://fonts.googleapis.com/css2?family= DynaPuff & display=swap');

para:

@import url('https://fonts.googleapis.com/css2?family=DynaPuff&display=swap');

E veja se resolve o problema. Aqui deu certo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Além disso, verifique se o arquivo "style.css" está sendo chamado corretamente no arquivo HTML.

Um abraço e bons estudos.

Sensacional... era isto mesmo... rs

Muito obrigado pelo retorno.

Me ajuda novamente....

Testa o meu jogo, tem algo errado, quando eu falo "dois" 2 por por exemplo.... não está acontecendo nada... não sei se tem algum comando, que menos que 100 não está reconhecendo sei lá... me ajudem?

INDEX.HTML

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" href="img/icone_controle.png" type="image/x-icon">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css" integrity="sha512-NmLkDIU1C/C88wi324HBc+S2kLhi08PN5GDeUVVVC/BVt/9Izdsc9SVeVfA1UZbY3sHUlDSyRXhCzHfr6hmPPw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet" href="style.css">
    <title>SECRET Number Game</title>
</head>
<body>
    <h1>Acerte o número Secreto!!!</h1>

    <h3>O número secreto está entre <span id="menor-valor">0</span> e <span id="maior-valor">100</span></h3>

    <div id="chute" class="mensagem">
        <!--<div>Você disse:</div>
        <span class="box">20</span>
        <div>O Número secreto é maior <img src="https://img.icons8.com/arcade/60/null/circled-chevron-up.png"/></div><!-->
    </div>

    <script src="JS/sorteio.js"></script>
    <script src="JS/reconhecimentovoz.js"></script>
    <script src="JS/validacao.js"></script>
</body>
</html>

STYLE.CSS

@import url('https://fonts.googleapis.com/css2?family=DynaPuff&display=swap');

:root { --font-family: 'DynaPuff', cursiva; --bg-color: #FEFF86; --cor-primaria: #B0DAFF; --cor-secundaria: #B9E9FC; --cor-tercearia: #DAF5FF; --texto-color: #7149C6; }

body {
    background-color: var(--bg-color);
    color: var(--texto-color);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    font-family: var(--font-family); }

h1 {
    font-size: 4.5em;
}

h2 {
    font-size: 4em;
}

h3 {
    font-size: 2.5em;
    margin-top: 20px;
}

.mensagem {
    margin-top: 40px;
    font-size: 1.5em;
}

.box {
    border: 5px solid var(--texto-color);
    border-radius: 20px;
    box-shadow: 5px 5px 8px var(--texto-color);
    display: inline-block;
    font-size: 3em;
    padding: 15px;
    margin-top: 20px;
    background-color: var(--cor-tercearia);
}

VALIDACAO.JS

function verificaSeOChutePossuiUmValorValido(chute) {
    const numero = +chute

    if (chuteForInvalido()(numero)) {
        elementoChute.innerHTML += '<div>Valor inválido</div>'
        return
    }

    if (numeroForMaiorOuMenorQueOValorPermitido(numero)) {
        elementoChute.innerHTML += `<div>Valor inválido: Fale um número entre ${menorValor} e ${maiorValor}</div>`
        return
    }

    if (numero === numeroSecreto) {
        document.body.innerHTML = `
        <h2>Você ACERTOU, Parabéns, jogue denovo!!!</h2>
        <h3>O número secreto era ${numeroSecreto}</h3>
        `
    }

    else if (numero > numeroSecreto) {
        elementoChute.innerHTML += `
        <div>O Número secreto é menor <img src="https://img.icons8.com/arcade/64/null/circled-chevron-down.png"/></div>
        `
    }else {
        elementoChute.innerHTML += `
        <div>O Número secreto é maior <img src="https://img.icons8.com/arcade/60/null/circled-chevron-up.png"/></div>
        `
    }
}

function chuteForInvalido() {
    return Number.isNaN
}

function numeroForMaiorOuMenorQueOValorPermitido(numero) {
    return numero > maiorValor || numero < menorValor
}

SORTEIO.JS

const menorValor = 1
const maiorValor = 1000

const numeroSecreto = gerarNumeroAleatorio ()

function gerarNumeroAleatorio () {
    return parseInt(Math.random() * maiorValor + 1)
}

console.log('Número Secreto:', numeroSecreto)

const elementoMenorValor = document.getElementById('menor-valor')
elementoMenorValor.innerHTML = menorValor

const elementoMaiorValor = document.getElementById('maior-valor')
elementoMaiorValor.innerHTML = maiorValor

envio o ultimo arquivo em outra conversa pois ultrapassou o limite de caracteres aqui.

RECONHECIMENTOVOZ.JS

const elementoChute = document.getElementById('chute')

window.SpeechRecognition = window.SpeechRecognition || webkitSpeechRecognition;

const recognition = new SpeechRecognition();
recognition.lang = 'pt-br'
recognition.start()

recognition.addEventListener('result', onSpeak)

function onSpeak(e) {
    chute = e.results [0] [0] .transcript
    exibeChuteNaTela(chute)
    verificaSeOChutePossuiUmValorValido(chute)
}

function exibeChuteNaTela(chute) {
    elementoChute.innerHTML = `
    <div>Você disse</div>
    <span class="box">${chute}</span>
    `
}

recognition.addEventListener('end', () =>recognition.start())

Oi Thiago, verifiquei seu código e fiz algumas correções, tirando alguns espaços indevidos, ajustando uns (). Não foi muita coisa, mais questão de indentação mesmo. Irei postar aqui e você pode fazer a comparação.

Validação:

function verificaSeOChutePossuiUmValorValido(chute) {
    const numero = +chute

    if (chuteForInvalido(numero)) {
        elementoChute.innerHTML += '<div>Valor inválido</div>'
        return
    }

    if (numeroForMaiorOuMenorQueOValorPermitido(numero)) {
        elementoChute.innerHTML += `<div>Valor inválido: Fale um número entre ${menorValor} e ${maiorValor}</div>`
        return
    }

    if (numero === numeroSecreto) {
        document.body.innerHTML = `
        <h2>Você ACERTOU, Parabéns, jogue denovo!!!</h2>
        <h3>O número secreto era ${numeroSecreto}</h3>
        `
    }

    else if (numero > numeroSecreto) {
        elementoChute.innerHTML += `
        <div>O Número secreto é menor <img src="https://img.icons8.com/arcade/64/null/circled-chevron-down.png"/></div>
        `
    } else {
        elementoChute.innerHTML += `
        <div>O Número secreto é maior <img src="https://img.icons8.com/arcade/60/null/circled-chevron-up.png"/></div>
        `
    }
}

function chuteForInvalido(numero) {
    return Number.isNaN(numero)
}

function numeroForMaiorOuMenorQueOValorPermitido(numero) {
    return numero > maiorValor || numero < menorValor
}

Sorteio:

const menorValor = 1
const maiorValor = 1000
const numeroSecreto = gerarNumeroAleatorio()

function gerarNumeroAleatorio() {
    return parseInt(Math.random() * maiorValor + 1)
}

console.log('Número Secreto:', numeroSecreto)

const elementoMenorValor = document.getElementById('menor-valor')
elementoMenorValor.innerHTML = menorValor

const elementoMaiorValor = document.getElementById('maior-valor')
elementoMaiorValor.innerHTML = maiorValor

Reconhecimento:

const elementoChute = document.getElementById('chute')

window.SpeechRecognition = window.SpeechRecognition || webkitSpeechRecognition;

const recognition = new SpeechRecognition();
recognition.lang = 'pt-Br'
recognition.start()

recognition.addEventListener('result', onSpeak)

function onSpeak(e) {
    chute = e.results[0][0].transcript
    exibeChuteNaTela(chute)
    verificaSeOChutePossuiUmValorValido(chute)
}

function exibeChuteNaTela(chute) {
    elementoChute.innerHTML = `
        <div>Você disse</div>
        <span class="box">${chute}</span>
     `
}

recognition.addEventListener('end', () => recognition.start())

Mas quanto ao bug que está acontecendo. Infelizmente é normal, porque a API ainda está em fase de testes e desenvolvimento, é como se ela ainda estivesse aprendendo outros idiomas.

Como ela foi criada para o inglês, ainda não reconhece todas as palavras em português e causa esses bugs. Mas acredito que com o tempo ela evolua cada vez mais.

Um abraço e bons estudos.

Sensacional....

Deu certo aqui. Vou começar estilizar a pagina... para ficar bem bacana, e postar o link no LinkedIn... e também tentar criar uma página responsiva, e testar no celular também.

Obrigado