<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Squirrel Finder</title>
    <style>
        body {
            margin: 0;
            overflow: hidden;
            background-color: #000000;
            color: #FFFFFF;
            font-family: 'Courier New', Courier, monospace;
        }
        #gameCanvas {
            display: block;
            margin: 0 auto;
            background-color: #000000;
            border: 1px solid #FFFFFF;
            touch-action: none;
        }
        #instructions {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: #000000;
            padding: 20px;
            border: 1px solid #FFFFFF;
            text-align: center;
        }
        #instructions button {
            margin-top: 10px;
            padding: 5px 10px;
            background-color: #FFFFFF;
            color: #000000;
            border: none;
            cursor: pointer;
        }
        #instructions button:hover {
            background-color: #CCCCCC;
        }
        /* Сенсорные кнопки */
        #touchControls {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            justify-content: center;
            width: 100%;
            max-width: 400px;
        }
        .touch-button {
            background-color: rgba(255, 255, 255, 0.2);
            color: #FFFFFF;
            border: 1px solid #FFFFFF;
            width: 60px;
            height: 60px;
            margin: 5px;
            font-size: 30px;
            text-align: center;
            line-height: 60px;
            user-select: none;
            touch-action: none;
        }
        /* Адаптивность */
        @media screen and (max-width: 600px) {
            #gameCanvas {
                width: 100%;
                height: auto;
            }
        }
    </style>
</head>
<body>
    <canvas id="gameCanvas" width="600" height="400"></canvas>
    <div id="instructions">
        <h1>Squirrel Finder</h1>
        <p>Вы - коала. Используйте клавиши со стрелками или сенсорные кнопки для быстрого перемещения.</p>
        <p>Каждую секунду появляется клубника, которая движется по экрану.</p>
        <p>Если клубника коснется вас, вы проиграете.</p>
        <p>Через три секунды появится белка, которая также будет двигаться по экрану.</p>
        <p>Если вы коснетесь белки, вы выиграете!</p>
        <button onclick="startGame()">Начать игру</button>
    </div>
    <!-- Сенсорные кнопки -->
    <div id="touchControls" style="display: none;">
        <div class="touch-button" id="leftBtn">◄</div>
        <div class="touch-button" id="upBtn">▲</div>
        <div class="touch-button" id="downBtn">▼</div>
        <div class="touch-button" id="rightBtn">►</div>
    </div>
    <script>
        // Получаем холст и контекст
        const canvas = document.getElementById('gameCanvas');
        const ctx = canvas.getContext('2d');

        // Переменные игры
        let koala = { x: 280, y: 180, width: 40, height: 40, speed: 5 };
        let strawberries = [];
        let squirrel = null;
        let keysPressed = {};
        let gameOver = false;
        let gameWon = false;
        let gameStart = false;
        let timer = 0;
        let gameTime = 0;

        // Цвета
        const colors = {
            background: '#000000',
            koala: '#00FF00',
            strawberry: '#FF0000',
            squirrel: '#FFFF00',
            text: '#FFFFFF'
        };

        // Обработчики клавиатуры
        document.addEventListener('keydown', function(e) {
            keysPressed[e.key] = true;
        });
        document.addEventListener('keyup', function(e) {
            keysPressed[e.key] = false;
        });

        // Обработчики сенсорных кнопок
        const touchControls = document.getElementById('touchControls');
        const upBtn = document.getElementById('upBtn');
        const downBtn = document.getElementById('downBtn');
        const leftBtn = document.getElementById('leftBtn');
        const rightBtn = document.getElementById('rightBtn');

        function startGame() {
            document.getElementById('instructions').style.display = 'none';
            touchControls.style.display = 'flex';
            gameStart = true;
            gameOver = false;
            gameWon = false;
            timer = 0;
            gameTime = 0;
            koala.x = 280;
            koala.y = 180;
            strawberries = [];
            squirrel = null;
            requestAnimationFrame(gameLoop);
        }

        function gameLoop(timestamp) {
            if (!gameStart) return;

            update();
            draw();

            if (gameOver || gameWon) {
                setTimeout(startGame, 2000); // Перезапуск после 2 секунд
                return;
            }

            requestAnimationFrame(gameLoop);
        }

        function update() {
            // Обновление таймера
            timer += 1/60;
            gameTime += 1/60;

            // Движение коалы
            if (keysPressed['ArrowUp'] || keysPressed['Up']) {
                if (koala.y > 0) koala.y -= koala.speed;
            }
            if (keysPressed['ArrowDown'] || keysPressed['Down']) {
                if (koala.y + koala.height < canvas.height) koala.y += koala.speed;
            }
            if (keysPressed['ArrowLeft'] || keysPressed['Left']) {
                if (koala.x > 0) koala.x -= koala.speed;
            }
            if (keysPressed['ArrowRight'] || keysPressed['Right']) {
                if (koala.x + koala.width < canvas.width) koala.x += koala.speed;
            }

            // Движение с помощью сенсорных кнопок
            if (touchKeys['up']) {
                if (koala.y > 0) koala.y -= koala.speed;
            }
            if (touchKeys['down']) {
                if (koala.y + koala.height < canvas.height) koala.y += koala.speed;
            }
            if (touchKeys['left']) {
                if (koala.x > 0) koala.x -= koala.speed;
            }
            if (touchKeys['right']) {
                if (koala.x + koala.width < canvas.width) koala.x += koala.speed;
            }

            // Появление клубники каждую секунду
            if (Math.floor(timer) >= 1) {
                spawnStrawberry();
                timer = 0;
            }

            // Обновление клубники
            strawberries.forEach(strawberry => {
                strawberry.x += strawberry.vx;
                strawberry.y += strawberry.vy;

                // Отскок от стен
                if (strawberry.x <= 0 || strawberry.x + strawberry.width >= canvas.width) {
                    strawberry.vx *= -1;
                }
                if (strawberry.y <= 0 || strawberry.y + strawberry.height >= canvas.height) {
                    strawberry.vy *= -1;
                }

                // Проверка столкновений с коалой
                if (checkCollision(koala, strawberry)) {
                    gameOver = true;
                }
            });

            // Появление белки через 3 секунды
            if (!squirrel && gameTime >= 3) {
                spawnSquirrel();
            }

            // Обновление белки
            if (squirrel) {
                squirrel.x += squirrel.vx;
                squirrel.y += squirrel.vy;

                // Отскок от стен
                if (squirrel.x <= 0 || squirrel.x + squirrel.width >= canvas.width) {
                    squirrel.vx *= -1;
                }
                if (squirrel.y <= 0 || squirrel.y + squirrel.height >= canvas.height) {
                    squirrel.vy *= -1;
                }

                // Проверка столкновений с коалой
                if (checkCollision(koala, squirrel)) {
                    gameWon = true;
                }
            }
        }

        function draw() {
            // Очистка холста
            ctx.fillStyle = colors.background;
            ctx.fillRect(0, 0, canvas.width, canvas.height);

            // Текст "openai"
            ctx.fillStyle = colors.text;
            ctx.font = '20px Courier New';
            ctx.fillText('openai', canvas.width / 2 - 30, 30);

            // Таймер
            ctx.fillText('Время: ' + Math.floor(gameTime) + 'с', 10, 30);

            // Отрисовка коалы
            drawKoala(koala.x, koala.y);

            // Отрисовка клубники
            strawberries.forEach(strawberry => {
                drawStrawberry(strawberry.x, strawberry.y);
            });

            // Отрисовка белки
            if (squirrel) {
                drawSquirrel(squirrel.x, squirrel.y);
            }

            // Сообщения о выигрыше или проигрыше
            if (gameOver) {
                ctx.fillStyle = colors.text;
                ctx.font = '40px Courier New';
                ctx.fillText('Вы проиграли!', canvas.width / 2 - 110, canvas.height / 2);
            }

            if (gameWon) {
                ctx.fillStyle = colors.text;
                ctx.font = '40px Courier New';
                ctx.fillText('Вы выиграли!', canvas.width / 2 - 110, canvas.height / 2);
            }
        }

        function spawnStrawberry() {
            let strawberry = {
                x: Math.random() * (canvas.width - 40),
                y: Math.random() * (canvas.height - 40),
                width: 40,
                height: 40,
                vx: (Math.random() < 0.5 ? -1 : 1) * 2,
                vy: (Math.random() < 0.5 ? -1 : 1) * 2
            };
            strawberries.push(strawberry);
        }

        function spawnSquirrel() {
            squirrel = {
                x: Math.random() * (canvas.width - 40),
                y: Math.random() * (canvas.height - 40),
                width: 40,
                height: 40,
                vx: (Math.random() < 0.5 ? -1 : 1) * 3,
                vy: (Math.random() < 0.5 ? -1 : 1) * 3
            };
        }

        function checkCollision(a, b) {
            return a.x < b.x + b.width &&
                   a.x + a.width > b.x &&
                   a.y < b.y + b.height &&
                   a.y + a.height > b.y;
        }

        function drawKoala(x, y) {
            ctx.fillStyle = colors.koala;
            ctx.fillRect(x, y, 40, 40);
            // Лицо коалы
            ctx.fillStyle = colors.background;
            ctx.fillRect(x + 10, y + 10, 5, 5);
            ctx.fillRect(x + 25, y + 10, 5, 5);
            ctx.fillRect(x + 15, y + 25, 10, 5);
        }

        function drawStrawberry(x, y) {
            ctx.fillStyle = colors.strawberry;
            ctx.beginPath();
            ctx.moveTo(x + 20, y);
            ctx.lineTo(x + 40, y + 20);
            ctx.lineTo(x + 20, y + 40);
            ctx.lineTo(x, y + 20);
            ctx.closePath();
            ctx.fill();
        }

        function drawSquirrel(x, y) {
            ctx.fillStyle = colors.squirrel;
            ctx.fillRect(x, y, 40, 40);
            // Хвост белки
            ctx.fillStyle = colors.background;
            ctx.fillRect(x + 25, y + 10, 5, 20);
        }

        // Переменные для сенсорного управления
        let touchKeys = {
            up: false,
            down: false,
            left: false,
            right: false
        };

        // Обработчики событий для сенсорных кнопок
        upBtn.addEventListener('touchstart', function(e) {
            e.preventDefault();
            touchKeys.up = true;
        });
        upBtn.addEventListener('touchend', function(e) {
            e.preventDefault();
            touchKeys.up = false;
        });

        downBtn.addEventListener('touchstart', function(e) {
            e.preventDefault();
            touchKeys.down = true;
        });
        downBtn.addEventListener('touchend', function(e) {
            e.preventDefault();
            touchKeys.down = false;
        });

        leftBtn.addEventListener('touchstart', function(e) {
            e.preventDefault();
            touchKeys.left = true;
        });
        leftBtn.addEventListener('touchend', function(e) {
            e.preventDefault();
            touchKeys.left = false;
        });

        rightBtn.addEventListener('touchstart', function(e) {
            e.preventDefault();
            touchKeys.right = true;
        });
        rightBtn.addEventListener('touchend', function(e) {
            e.preventDefault();
            touchKeys.right = false;
        });

        // Свайп-управление
        let touchStartX = null;
        let touchStartY = null;

        canvas.addEventListener('touchstart', function(e) {
            const touch = e.touches[0];
            touchStartX = touch.clientX;
            touchStartY = touch.clientY;
        });

        canvas.addEventListener('touchmove', function(e) {
            if (!touchStartX || !touchStartY) return;

            const touch = e.touches[0];
            let touchEndX = touch.clientX;
            let touchEndY = touch.clientY;

            let diffX = touchEndX - touchStartX;
            let diffY = touchEndY - touchStartY;

            if (Math.abs(diffX) > Math.abs(diffY)) {
                // Горизонтальный свайп
                if (diffX > 30) {
                    // Свайп вправо
                    touchKeys.right = true;
                    touchKeys.left = false;
                } else if (diffX < -30) {
                    // Свайп влево
                    touchKeys.left = true;
                    touchKeys.right = false;
                }
            } else {
                // Вертикальный свайп
                if (diffY > 30) {
                    // Свайп вниз
                    touchKeys.down = true;
                    touchKeys.up = false;
                } else if (diffY < -30) {
                    // Свайп вверх
                    touchKeys.up = true;
                    touchKeys.down = false;
                }
            }
            // Сбрасываем начальные координаты, чтобы не было бесконечного движения
            touchStartX = null;
            touchStartY = null;
        });

        canvas.addEventListener('touchend', function(e) {
            touchKeys.up = false;
            touchKeys.down = false;
            touchKeys.left = false;
            touchKeys.right = false;
        });

        // Предотвращаем прокрутку страницы при свайпе в игре
        document.body.addEventListener('touchmove', function(e) { e.preventDefault(); }, { passive: false });

    </script>
</body>
</html> Улучши логику и проверку данной игры.