Игры VSС

Здравствуйте, написал примитивного динозаврика из google hrome но при просмотре когда нажимаешь на клавишу прыжок не происходит помогите исправить.
sqript.js

const mario = document.getElementById("mario");

const truba = document.getElementById("truba");

document.addEventListener("keydown", function(event) {

    jump();

});

function jump() {

    if (mario.classList != "jump") {

        mario.classList.add("jump")

    }

    serTimeout(function() { mario.classList.remove("jump") }, 300)

}

let isAlive = setInterval(function() {

    let

        marioTop = parseInt(window.getComputedStyle(mario).getPropertyValue("top"))

    let marioTop = parseInt(window.getComputedStyle(truba).getPropertyValue("left"))

    if (trubaleft < 50 && trubaleft > 0 && marioTop >= 140) {

        alert("GAME OVER")

    }

}, 10)

style.css

.game {

                                    width: 800px;

                                    height: 200px;

                                    border-bottom: 2px solid rgb(179, 31, 31);

                                    margin: auto;

                                }

                                

                                #mario {

                                    width: 50px;

                                    height: 50px;

                                    background-image: url(img/mario.png);

                                    background-size: 50px 50px;

                                    position: relative;

                                    top: 150px;

                                }

                                

                                #truba {

                                    width: 40px;

                                    height: 40px;

                                    background-image: url(img/truba.png);

                                    background-size: 40px 40px;

                                    position: relative;

                                    top: 110px;

                                    left: 580px;

                                    animation: trubaMov 1s infinite linear;

                                }

                                

                                @keyframes trubaMov {

                                    0% {

                                        left: 580px;

                                    }

                                    100% {

                                        left: -20px;

                                    }

                                }

                                

                                .jump {

                                    animation: jump 0.3s linear;

                                }

                                

                                @keyframes jump {

                                    0% {

                                        top: 150px;

                                    }

                                    30% {

                                        top: 130px;

                                    }

                                    50% {

                                        top: 80px;

                                    }

                                    80% {

                                        top: 130px;

                                    }

                                    100% {

                                        top: 150px;

                                    }

                                }

index.html

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <titel> Document</titel>

    <link rel="stylesheet" href="style.css">

</head>

<body>

    <div class="game">

        <div id="mario"></div>

        <div id="truba"></div>

    </div>

    <sqript src="script.js">

    </sqript>

</body>

</html>

А что происходит?

В консоли ошибок нет?

Добавьте отладочную печать или брекпоинты.
https://learn.javascript.ru/devtools
https://learn.javascript.ru/debugging-chrome

Типа такого:

function jump() {
    console.log('Jump triggered')

    if (mario.classList != "jump") {
        console.log('Started jump')

        mario.classList.add("jump")
    }

    serTimeout(function() { console.log('Ended jump'); mario.classList.remove("jump") }, 300)
}

Если всё выводится как задумано, то видимо что-то не так с анимацией в CSS.


И еще в setTimeout тут опечатка.


И причем тут VSC? :slight_smile: Хоть в блокноте пишите, текстовый редактор не влияет на работу кода.

по задумке это должен был получится динозаврик из хрома , и при нажатии на клавишу должен был происходить прыжок но в результате ничего. все под кариктировал но ничего не изменилось в консоле ошибок нет (((

Так а если вывод добавить как в примере выше, то что?

Добавлял и еще раз переправерил правильность написания и ничего не изменилось

Так оно не работоспособность поменять должно, а дать больше инфы для отладки )
см. отладочный вывод Как отлаживать маленькие программы – Блог Петра Калинина

Если не выводит даже Jump triggered отсюда

то видимо функция вообще не вызывается и проблема где-то тут

но вроде бы выглядит норм и работает: https://jsfiddle.net/AlexP11223/9sbd0r2a/

увы опять ничего не произошло ((

https://www.youtube.com/watch?v=Av53VJI-UiE
я полностью переписовал с этого видео.
Спасибо большое вам за помощь но похоже у меня еще очень мало знаний почитаю еще разные сайты и форумы и попозже вернусь к ней

это неверно.
если у тебя скрипт лежит в файлике с именем sqript.js

тогда в index.html нужно так указать файл со скриптом

<script type="text/javascript" src="sqript.js"></script>

хотя, ты с именем скрипта ошибся. в указанном тобой видео скрипт лежит в файле с именем
script.js

Ты пойми, в программировании важна каждая буковка. Неправильное имя и всё - ничего не вызывается, ничего не работает. Тщательнее надо, тщательнее!

Основная ошибка скорее в имени тега <script> )
Если б он был правильным, то тогда бы в консоль вывелась ошибка о имени файла (если указанное тут имя не совпадает с реальным), и было бы проще понять.

Странно, что VSC не ругается на это.
Более продвинутые IDE (PhpStorm/WebStorm, …) выдают предупреждения:

так я же на это указал выше.

Так тут вроде только про имя в src, я про сам тег, <sqript> —> <script>

нет, я не зря же полностью привёл. с правильным тегом , да ещё и type прописал (хотя он и не обязателен)

впрочем, это не важно. Главное, чтобы автор темы понял, как важна каждая буковка, каждая запятая и точка.

Да, я про описание в тексте, а то вдруг автор заменил бы только имя, а тег бы так и не заметил )

Спасибо большое, что откликнулись я и правда не заметил этой простой ошибки. Я только начал этим увлекаться и впредь буду повнимательнее.

Спасибо большое что помогли теперь буду максимально внимателен при написании программ))