{"id":788759,"student_id":93459,"content":"{\"html\":\"\u003c!DOCTYPE html\u003e\\r\\n\u003chtml lang=\\\"zh-TW\\\"\u003e\\r\\n\u003chead\u003e\\r\\n \u003cmeta charset=\\\"UTF-8\\\"\u003e\\r\\n \u003cmeta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\"\u003e\\r\\n \u003ctitle\u003e簡單賽車遊戲\u003c/title\u003e\\r\\n \u003clink rel=\\\"stylesheet\\\" href=\\\"styles.css\\\"\u003e\\r\\n\u003c/head\u003e\\r\\n\u003cbody\u003e\\r\\n \u003cdiv class=\\\"game-container\\\" id=\\\"game-container\\\"\u003e\\r\\n \u003cdiv class=\\\"car\\\" id=\\\"car\\\"\u003e\u003c/div\u003e\\r\\n \u003cdiv class=\\\"road-line\\\" id=\\\"road-line\\\"\u003e\u003c/div\u003e\\r\\n \u003c/div\u003e\\r\\n \u003cscript src=\\\"script.js\\\"\u003e\u003c/script\u003e\\r\\n\u003c/body\u003e\\r\\n\u003c/html\u003e\\r\\n\",\"css\":\"body {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 100vh;\\r\\n background-color: #282c34;\\r\\n margin: 0;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.game-container {\\r\\n position: relative;\\r\\n width: 400px;\\r\\n height: 600px;\\r\\n background-color: #333;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.car {\\r\\n position: absolute;\\r\\n bottom: 20px;\\r\\n left: 180px;\\r\\n width: 40px;\\r\\n height: 80px;\\r\\n background-color: red;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.enemy-car {\\r\\n position: absolute;\\r\\n width: 40px;\\r\\n height: 80px;\\r\\n background-color: blue;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.road-line {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 50%;\\r\\n width: 10px;\\r\\n height: 100%;\\r\\n background: repeating-linear-gradient(\\r\\n white,\\r\\n white 20px,\\r\\n transparent 20px,\\r\\n transparent 40px\\r\\n );\\r\\n transform: translateX(-50%);\\r\\n animation: moveRoadLine 1s linear infinite;\\r\\n}\\r\\n\\r\\n@keyframes moveRoadLine {\\r\\n from {\\r\\n top: -100%;\\r\\n }\\r\\n to {\\r\\n top: 100%;\\r\\n }\\r\\n}\\r\\n\",\"js\":\"document.addEventListener('keydown', moveCar);\\n\\nconst gameContainer = document.getElementById('game-container');\\nconst car = document.getElementById('car');\\nlet gameInterval;\\nlet enemyCars = [];\\nlet speed = 5;\\nlet speedIncreaseInterval;\\nlet timer = 600; // 一分鐘倒計時\\n\\nfunction moveCar(event) {\\n const carRect = car.getBoundingClientRect();\\n const containerRect = gameContainer.getBoundingClientRect();\\n\\n switch (event.key) {\\n case 'ArrowLeft':\\n if (carRect.left \u003e containerRect.left) {\\n car.style.left = `${carRect.left - 10 - containerRect.left}px`;\\n }\\n break;\\n case 'ArrowRight':\\n if (carRect.right \u003c containerRect.right) {\\n car.style.left = `${carRect.left + 10 - containerRect.left}px`;\\n }\\n break;\\n }\\n\\n // 檢查撞牆\\n if (carRect.left \u003c= containerRect.left || carRect.right \u003e= containerRect.right) {\\n endGame();\\n }\\n}\\n\\nfunction createEnemyCar() {\\n const enemyCar = document.createElement('div');\\n enemyCar.classList.add('enemy-car');\\n enemyCar.style.top = '0px';\\n enemyCar.style.left = `${Math.random() * 360}px`;\\n gameContainer.appendChild(enemyCar);\\n enemyCars.push(enemyCar);\\n}\\n\\nfunction moveEnemyCars() {\\n enemyCars.forEach((car, index) =\u003e {\\n const carRect = car.getBoundingClientRect();\\n if (carRect.top \u003e= gameContainer.offsetHeight) {\\n car.remove();\\n enemyCars.splice(index, 1);\\n } else {\\n car.style.top = `${carRect.top + speed}px`;\\n checkCollision(car);\\n }\\n});\\n}\\n\\nfunction checkCollision(enemyCar) {\\nconst carRect = car.getBoundingClientRect();\\nconst enemyRect = enemyCar.getBoundingClientRect();\\n\\nif (!(carRect.right \u003c enemyRect.left ||\\ncarRect.left \u003e enemyRect.right ||\\ncarRect.bottom \u003c enemyRect.top ||\\ncarRect.top \u003e enemyRect.bottom)) {\\nloseGame();\\n}\\n}\\n\\nfunction endGame() {\\nclearInterval(gameInterval);\\nclearInterval(speedIncreaseInterval);\\nalert('恭喜通關!');\\nlocation.reload();\\n}\\n\\nfunction loseGame() {\\nclearInterval(gameInterval);\\nclearInterval(speedIncreaseInterval);\\nalert('輸了');\\nlocation.reload();\\n}\\n\\nfunction startGame() {\\nfor (let i = 0; i \u003c 3; i++) {\\ncreateEnemyCar();\\n}\\ngameInterval = setInterval(() =\u003e {\\nmoveEnemyCars();\\nif (enemyCars.length \u003c 3) {\\ncreateEnemyCar();\\n}\\n// 倒計時\\ntimer--;\\nif (timer \u003c= 0) {\\nendGame();\\n}\\n}, 100);\\n\\n// 每隔一段時間增加速度\\nspeedIncreaseInterval = setInterval(() =\u003e {\\nspeed += 1;\\n}, 2000); // 每2秒增加1的速度\\n}\\n\\nstartGame();\"}","created_at":"2024-07-11T14:58:09.652+08:00","updated_at":"2024-07-11T15:49:33.276+08:00","name":"遊戲","language":"web","screenshot":{"url":null},"parent_id":3,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":17,"hashid":"yeys4vg3e","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":17526334,"file_name":"koding.png","project_id":788759,"asset_id":302342,"created_at":"2024-07-11T14:58:09.657+08:00","updated_at":"2024-07-11T14:58:09.657+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
前往網站頁面
繁中
简中
English
日本語
1:1:1
1:1
全寬
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦