{"id":616142,"student_id":3760,"content":"// 初始化需要的背景圖片與遊戲背景音樂\nsetBackdrop('bg.jpg'); // 背景圖片\ncreateSound('bgm.mp3', true) // 背景音樂\n\n// 初始化各個需要的角色\nlet wall = createSprite('wall.png'); // 牆壁\nlet bar = createSprite('bar.png'); // 燃料條\nlet dashboard = createSprite('dashboard.png'); // 資訊版\nlet levels = createSprite(\n '0.png', '1.png', '2.png', '3.png',\n '4.png', '5.png', '6.png', '7.png',\n '8.png', '9.png'); // 關卡地形\nlet player = createSprite('player.png'); // 玩家\nlet target = createSprite('target.png'); // 目標\nlet text = createSprite(\n 'arrow.png', 'youwin.png', 'gameover.png'); // 文字圖\n\n// 設定玩家圖層到最上層\nplayer.layer = 1;\n\n// 初始化遊戲相關的數值設定\nlet vx = 0; // 水平的移動速度\nlet vy = 0; // 垂直的移動速度\nlet isStart = false; // 是否開始\nlet fuel = 1000; // 燃料值\n\n// 初始化目標於各關卡的位置,並使用陣列管理這些數值\nlet goalX = [1000, 1000, 200, 200, 1000, 1000, 1000, 600, 1100];\nlet goalY = [700, 200, 700, 200, 200, 700, 200, 450, 700];\n\n// 將燃料條的位置移動到 x:250, y:46\n/* 等同於\nbar.x = 250;\nbar.y = 46;\n*/\nbar.moveTo(250, 46);\n\n// 初始化文字圖造型\ntext.costumeId = 0;\ntext.hidden = false;\n\n\n// 創造火焰效果的函式\nfunction createFlame () {\n // 建立火焰角色\n let f = createSprite('flame.png');\n // 將火焰角色移動到玩家處\n f.moveTo(player);\n // 更新火焰角色\n f.direction = player.direction + 90 + Math.random()*30 - 15;\n // 火焰角色移動 50 點\n f.stepForward(50);\n\n // 火焰角色需要不斷執行的事項\n f.forever(function () {\n // 火焰角色移動 5 點\n f.stepForward(5);\n // 減少火焰角色的透明度(越來越透明)\n f.opacity -= 0.01;\n // 減少火焰角色尺寸(越來越小)\n f.scale -= 0.01;\n // 如果火焰角色透明度小於 0,則將目前火焰角色摧毀\n if (f.opacity \u003c 0) f.destroy();\n });\n}\n\n// 執行遊戲各動作功能的主迴圈函式\nfunction loop () {\n // 如果遊戲開始\n if (isStart) {\n // 【學習】增加垂直的移動速度\n vy += 0.07;\n // 以 vx 與 vy 更新玩家角色位置\n player.move(vx, vy);\n // 更新玩家角色角度\n player.direction = 90 + vx*2;\n // 隱藏文字圖\n text.hidden = true;\n }\n\n // 如果鍵盤上鍵被按下,而且燃料值還大於 0\n if (key.up \u0026\u0026 fuel \u003e 0) {\n // 【學習】減少垂直的移動速度\n vy -= 0.15;\n }\n // 如果鍵盤右鍵被按下,而且燃料值還大於 0\n if (key.right \u0026\u0026 fuel \u003e 0) {\n // 【學習】增加水平的移動速度\n vx += 0.1;\n }\n // 如果鍵盤左鍵被按下,而且燃料值還大於 0\n if (key.left \u0026\u0026 fuel \u003e 0) {\n // 【學習】減少水平的移動速度\n vx -= 0.1;\n }\n // 如果鍵盤右鍵、左鍵、上鍵其中之一被按下\n if (key.right || key.left || key.up) {\n // 設定 isStart 至 true,代表遊戲開始\n isStart = true;\n // 【學習】減少燃料值\n fuel -= 1;\n // 更新燃料條位置\n bar.x = (fuel/1000)*500 - 250;\n // 如果燃料值為偶數,則執行 createFlame 函式\n if (fuel % 2 === 0) createFlame();\n }\n\n // 根據關卡調整目標位置\n target.x = goalX[levels.costumeId];\n target.y = goalY[levels.costumeId];\n\n // 如果關卡為切換至造型 9\n if (levels.costumeId === 9) {\n // 停止遊戲\n stop();\n // 設定文字圖造型至 youwin.png 的索引值\n text.costumeId = 1;\n // 顯示文字圖\n text.hidden = false;\n }\n // 如果玩家碰觸到關卡中任一處\n if (player.touched(levels)) {\n // 停止遊戲\n stop();\n // 設定文字圖造型至 gameover.png 的索引值\n text.costumeId = 2;\n // 顯示文字圖\n text.hidden = false;\n }\n\n // 增加目標角度,用來產生旋轉效果\n target.direction += 1;\n // 如果玩家碰觸到目標\n if (player.touched(target)) {\n // 將關卡造型切換至下一個\n levels.costumeId++;\n // 初始化燃料值\n fuel = 1000;\n // 播放效果音\n createSound('effect.wav')\n }\n}\n\n// 使用 forever() 重複不斷執行遊戲各動作的功能\nforever(loop);\n","created_at":"2023-09-24T01:49:10.173+08:00","updated_at":"2023-12-05T13:16:38.235+08:00","name":"JS 太空人","language":"javascript","screenshot":{"url":"https://cdn5.koding.school/uploads/project/screenshot/616142/03fae596089ba9546d980cffe22a28fa.jpg"},"parent_id":2,"plugin":"Game.set({width: 1200, height: 900})","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":18,"hashid":"jzms99p9k","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":13860648,"file_name":"bgm.mp3","project_id":616142,"asset_id":686018,"created_at":"2023-09-24T01:49:41.041+08:00","updated_at":"2023-09-24T01:49:41.041+08:00"},{"id":13860649,"file_name":"coin.wav","project_id":616142,"asset_id":686019,"created_at":"2023-09-24T01:49:41.054+08:00","updated_at":"2023-09-24T01:49:41.054+08:00"},{"id":13860650,"file_name":"effect.wav","project_id":616142,"asset_id":686020,"created_at":"2023-09-24T01:49:41.070+08:00","updated_at":"2023-09-24T01:49:41.070+08:00"},{"id":13860651,"file_name":"youwin.png","project_id":616142,"asset_id":686021,"created_at":"2023-09-24T01:49:41.081+08:00","updated_at":"2023-09-24T01:49:41.081+08:00"},{"id":13860652,"file_name":"wall.png","project_id":616142,"asset_id":686022,"created_at":"2023-09-24T01:49:41.092+08:00","updated_at":"2023-09-24T01:49:41.092+08:00"},{"id":13860653,"file_name":"target.png","project_id":616142,"asset_id":686023,"created_at":"2023-09-24T01:49:41.102+08:00","updated_at":"2023-09-24T01:49:41.102+08:00"},{"id":13860654,"file_name":"player.png","project_id":616142,"asset_id":686024,"created_at":"2023-09-24T01:49:41.111+08:00","updated_at":"2023-09-24T01:49:41.111+08:00"},{"id":13860655,"file_name":"gameover.png","project_id":616142,"asset_id":686025,"created_at":"2023-09-24T01:49:41.124+08:00","updated_at":"2023-09-24T01:49:41.124+08:00"},{"id":13860656,"file_name":"flame.png","project_id":616142,"asset_id":686026,"created_at":"2023-09-24T01:49:41.136+08:00","updated_at":"2023-09-24T01:49:41.136+08:00"},{"id":13860657,"file_name":"dashboard.png","project_id":616142,"asset_id":686027,"created_at":"2023-09-24T01:49:41.146+08:00","updated_at":"2023-09-24T01:49:41.146+08:00"},{"id":13860658,"file_name":"bg.jpg","project_id":616142,"asset_id":686028,"created_at":"2023-09-24T01:49:41.157+08:00","updated_at":"2023-09-24T01:49:41.157+08:00"},{"id":13860659,"file_name":"bar.png","project_id":616142,"asset_id":686029,"created_at":"2023-09-24T01:49:41.168+08:00","updated_at":"2023-09-24T01:49:41.168+08:00"},{"id":13860660,"file_name":"arrow.png","project_id":616142,"asset_id":686030,"created_at":"2023-09-24T01:49:41.181+08:00","updated_at":"2023-09-24T01:49:41.181+08:00"},{"id":13860661,"file_name":"9.png","project_id":616142,"asset_id":686031,"created_at":"2023-09-24T01:49:41.187+08:00","updated_at":"2023-09-24T01:49:41.187+08:00"},{"id":13860662,"file_name":"8.png","project_id":616142,"asset_id":686032,"created_at":"2023-09-24T01:49:41.198+08:00","updated_at":"2023-09-24T01:49:41.198+08:00"},{"id":13860663,"file_name":"7.png","project_id":616142,"asset_id":686033,"created_at":"2023-09-24T01:49:41.209+08:00","updated_at":"2023-09-24T01:49:41.209+08:00"},{"id":13860664,"file_name":"6.png","project_id":616142,"asset_id":686034,"created_at":"2023-09-24T01:49:41.219+08:00","updated_at":"2023-09-24T01:49:41.219+08:00"},{"id":13860665,"file_name":"5.png","project_id":616142,"asset_id":686035,"created_at":"2023-09-24T01:49:41.228+08:00","updated_at":"2023-09-24T01:49:41.228+08:00"},{"id":13860666,"file_name":"4.png","project_id":616142,"asset_id":686036,"created_at":"2023-09-24T01:49:41.238+08:00","updated_at":"2023-09-24T01:49:41.238+08:00"},{"id":13860667,"file_name":"3.png","project_id":616142,"asset_id":686037,"created_at":"2023-09-24T01:49:41.247+08:00","updated_at":"2023-09-24T01:49:41.247+08:00"},{"id":13860668,"file_name":"2.png","project_id":616142,"asset_id":686038,"created_at":"2023-09-24T01:49:41.260+08:00","updated_at":"2023-09-24T01:49:41.260+08:00"},{"id":13860669,"file_name":"1.png","project_id":616142,"asset_id":686039,"created_at":"2023-09-24T01:49:41.271+08:00","updated_at":"2023-09-24T01:49:41.271+08:00"},{"id":13860670,"file_name":"0.png","project_id":616142,"asset_id":686040,"created_at":"2023-09-24T01:49:41.498+08:00","updated_at":"2023-09-24T01:49:41.498+08:00"},{"id":14607352,"file_name":"arrow.png","project_id":616142,"asset_id":230232,"created_at":"2023-11-28T23:36:43.576+08:00","updated_at":"2023-11-28T23:36:43.576+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
下載 Android APP (APK)
截圖
1:1:1
1:1
full
幫助
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦