{"id":788758,"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);\\r\\n\\r\\nconst gameContainer = document.getElementById('game-container');\\r\\nconst car = document.getElementById('car');\\r\\nlet gameInterval;\\r\\nlet enemyCars = [];\\r\\n\\r\\nfunction moveCar(event) {\\r\\n const carRect = car.getBoundingClientRect();\\r\\n const containerRect = gameContainer.getBoundingClientRect();\\r\\n \\r\\n switch (event.key) {\\r\\n case 'ArrowLeft':\\r\\n if (carRect.left \u003e containerRect.left) {\\r\\n car.style.left = `${carRect.left - 10 - containerRect.left}px`;\\r\\n }\\r\\n break;\\r\\n case 'ArrowRight':\\r\\n if (carRect.right \u003c containerRect.right) {\\r\\n car.style.left = `${carRect.left + 10 - containerRect.left}px`;\\r\\n }\\r\\n break;\\r\\n }\\r\\n}\\r\\n\\r\\nfunction createEnemyCar() {\\r\\n const enemyCar = document.createElement('div');\\r\\n enemyCar.classList.add('enemy-car');\\r\\n enemyCar.style.top = '0px';\\r\\n enemyCar.style.left = `${Math.random() * 360}px`;\\r\\n gameContainer.appendChild(enemyCar);\\r\\n enemyCars.push(enemyCar);\\r\\n}\\r\\n\\r\\nfunction moveEnemyCars() {\\r\\n enemyCars.forEach((car, index) =\u003e {\\r\\n const carRect = car.getBoundingClientRect();\\r\\n if (carRect.top \u003e= gameContainer.offsetHeight) {\\r\\n car.remove();\\r\\n enemyCars.splice(index, 1);\\r\\n } else {\\r\\n car.style.top = `${carRect.top + 5}px`;\\r\\n checkCollision(car);\\r\\n }\\r\\n });\\r\\n}\\r\\n\\r\\nfunction checkCollision(enemyCar) {\\r\\n const carRect = car.getBoundingClientRect();\\r\\n const enemyRect = enemyCar.getBoundingClientRect();\\r\\n \\r\\n if (!(carRect.right \u003c enemyRect.left ||\\r\\n carRect.left \u003e enemyRect.right ||\\r\\n carRect.bottom \u003c enemyRect.top ||\\r\\n carRect.top \u003e enemyRect.bottom)) {\\r\\n endGame();\\r\\n }\\r\\n}\\r\\n\\r\\nfunction endGame() {\\r\\n clearInterval(gameInterval);\\r\\n alert('Game Over');\\r\\n location.reload();\\r\\n}\\r\\n\\r\\nfunction startGame() {\\r\\n for (let i = 0; i \u003c 3; i++) {\\r\\n createEnemyCar();\\r\\n }\\r\\n gameInterval = setInterval(() =\u003e {\\r\\n moveEnemyCars();\\r\\n if (enemyCars.length \u003c 3) {\\r\\n createEnemyCar();\\r\\n }\\r\\n }, 100);\\r\\n}\\r\\n\\r\\nstartGame();\\r\\n\"}","created_at":"2024-07-11T14:56:32.331+08:00","updated_at":"2024-07-11T14:57:08.239+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":"4y3s3gk54","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":17526331,"file_name":"koding.png","project_id":788758,"asset_id":302342,"created_at":"2024-07-11T14:56:32.336+08:00","updated_at":"2024-07-11T14:56:32.336+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
前往網站頁面
繁中
简中
English
日本語
1:1:1
1:1
全寬
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦