{"id":559694,"student_id":10,"content":"let bg = createSprite('bg.png'); //背景圖\nlet player = createSprite('p_0.png', 'p_1.png', 'p_2.png', 'p_3.png'); //叩叮玩家\nlet monster = createSprite('monster_0.png', 'monster_1.png', 'monster_2.png'); //怪物\nlet gameover = createSprite('gameover.png'); //遊戲結束\nlet nums = ['0.png', '1.png', '2.png', '3.png', '4.png', '5.png', '6.png', '7.png', '8.png', '9.png'];\nlet num1 = createSprite(nums); //千位\nlet num2 = createSprite(nums); //百位\nlet num3 = createSprite(nums); //十位\nlet num4 = createSprite(nums); //個位\n\nlet speed = 10; //向上跳的速度\nlet score = 0; //完成的階梯數\nlet timer = 0; //道具作用剩餘時間\nlet blocks = []; // 存放階梯的陣列\n\n// 設定角色的圖層\nplayer.layer = 1;\ngameover.layer = 2;\nnum1.layer = num2.layer = num3.layer = num4.layer = 3;\nplayer.rotationStyle = 'flipped';\ngameover.hidden = true;\n\nnum1.moveTo(50, 50);\nnum2.moveTo(120, 50);\nnum3.moveTo(190, 50);\nnum4.moveTo(260, 50);\n\n// 使用迴圈創造 16 個階梯角色\nfor (let i = 0; i \u003c 16; i++) {\n let b = createSprite('b_0.png', 'b_1.png', 'b_22.png', 'b_3.png', 'b_4.png', 'b_5.png');\n blocks[i] = b; // 將階梯角色存入陣列\n}\n\nrestart();\ngameover.on('click', restart);\n\n// 重新開始遊戲\nfunction restart () {\n speed = 0; //重置速度\n score = 0; //重置分數\n timer = 0; //重置計時器\n player.moveTo(600, 450); //重置玩家位置\n player.costumeId = 0; //重置玩家造型\n monster.y = -3000; //重置怪物位置\n\n for (let i = 0; i \u003c 16; i++) {\n //重置階梯\n blocks[i].x = Math.random() * 1200; //隨機水平位置\n blocks[i].y = i * 60; //垂直相隔 60\n blocks[i].hidden = false;\n }\n}\n\n// //遊戲迴圈\nforever(function () {\n updatePlayer(); //更新玩家\n blocks.forEach(updateBlock); //更新階梯\n scroll(); // 捲動所有角色\n updateMonster(); //更新怪物\n updateScore(); //更新遊戲分數\n if (bg.y \u003e 900) bg.y -= 1800;\n})\n\n// 更新玩家位置\nfunction updatePlayer() {\n if (key.right) {\n player.x += 10; //向右移動 10\n player.direction = 90; //圖片水平翻轉向右\n }\n if (key.left) {\n player.x -= 10; //左右移動 10\n player.direction = 270; //圖片水平翻轉向左\n }\n if (player.x \u003c 0) player.x += 1200;\n if (player.x \u003e 1200) player.x -= 1200;\n\n speed -= 0.5;\n player.y -= speed;\n\n timer -= 1; //減少效果時間\n if (timer == 0) player.costumeId = 0; //解除效果\n if (player.costumeId == 1) speed = 30; //氣球飛行\n if (player.costumeId == 2) speed = 60; //老鷹衝刺\n\n}\n\n// 相對移動\nfunction scroll () {\n let offset = 450 - player.y;\n if (offset \u003e 0) {\n bg.y += offset; //移動背景\n player.y += offset; //移動叩叮\n monster.y += offset; //移動怪物\n for (let i = 0; i \u003c 16; i++) {\n blocks[i].y += offset; //移動階梯\n }\n }\n \n gameover.hidden = player.y \u003c 1000;\n}\n\n// 更新階梯位置\nfunction updateBlock (block) {\n if (block.y \u003e 930) {\n block.y -= 60 * 16 + score; //根據分數拉開階梯距離\n block.x = Math.random() * 1200; //隨機水平位置\n block.hidden = false; // 重新顯示\n\n let rand = Math.random() * 100;\n if (rand \u003c 70) block.costumeId = 0; //70% 機率一般石階\n else if (rand \u003c 85) block.costumeId = 1; //15% 機率草叢石階\n else if (rand \u003c 90) block.costumeId = 2; //5% 飛鶴\n else if (rand \u003c 95) block.costumeId = 3; //5% 雲朵\n else if (rand \u003c 99) block.costumeId = 4; //4% 氣球\n else block.costumeId = 5; //1% 老鷹\n\n score += 1;\n }\n\n if (block.costumeId == 2) block.x += 5; //如果是白鶴就向右移動\n if (block.x \u003e 1300) block.x -= 1400; //如果移動超出邊界就重置到左側\n if (block.scale \u003e 1) block.scale -= 0.03; //如果被放大就持續縮小\n\n if (block.touched(player) \u0026\u0026 player.y \u003c block.y \u0026\u0026 speed \u003c 0) {\n block.scale = 1.3; // 放大階梯\n speed = 20; // 跳起速度設為 20\n let id = block.costumeId //用變數簡短造型編號\n if (id == 1) speed = 30;\n if (id == 3 || id == 4 || id == 5) block.hidden = true;\n \n if (id == 4) {\n player.costumeId = 1;\n timer = 60;\n }\n if (id == 5) {\n player.costumeId = 2;\n timer = 120;\n }\n }\n}\n\n// 更新怪物\nfunction updateMonster () {\n // 如果怪物超出下方邊界就重置到上方\n if (monster.y \u003e 1000) {\n monster.y -= 5000;\n monster.x = Math.random() * 1200;\n monster.costumeId = Math.floor(Math.random() * 3);\n }\n}\n\n// 更新分數\nfunction updateScore () {\n num1.costumeId = Math.floor(score / 1000) % 10; //更新千位造型\n num2.costumeId = Math.floor(score / 100) % 10; //更新百位造型\n num3.costumeId = Math.floor(score / 10) % 10; //更新十位造型\n num4.costumeId = Math.floor(score / 1) % 10; //更新個位造型\n}","created_at":"2023-07-07T11:50:19.068+08:00","updated_at":"2023-07-07T11:50:19.068+08:00","name":"攀岩高手(延伸版) 副本","language":"javascript","screenshot":{"url":null},"parent_id":503450,"plugin":"Game.set({width: 1200, height: 900})","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":413,"hashid":"qmds36rw3","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":12745919,"file_name":"fail.mp3","project_id":559694,"asset_id":611927,"created_at":"2023-07-07T11:50:19.075+08:00","updated_at":"2023-07-07T11:50:19.075+08:00"},{"id":12745920,"file_name":"8.png","project_id":559694,"asset_id":611928,"created_at":"2023-07-07T11:50:19.076+08:00","updated_at":"2023-07-07T11:50:19.076+08:00"},{"id":12745921,"file_name":"9.png","project_id":559694,"asset_id":611929,"created_at":"2023-07-07T11:50:19.078+08:00","updated_at":"2023-07-07T11:50:19.078+08:00"},{"id":12745922,"file_name":"3.png","project_id":559694,"asset_id":611930,"created_at":"2023-07-07T11:50:19.079+08:00","updated_at":"2023-07-07T11:50:19.079+08:00"},{"id":12745923,"file_name":"7.png","project_id":559694,"asset_id":611931,"created_at":"2023-07-07T11:50:19.081+08:00","updated_at":"2023-07-07T11:50:19.081+08:00"},{"id":12745924,"file_name":"0.png","project_id":559694,"asset_id":611932,"created_at":"2023-07-07T11:50:19.083+08:00","updated_at":"2023-07-07T11:50:19.083+08:00"},{"id":12745925,"file_name":"6.png","project_id":559694,"asset_id":611933,"created_at":"2023-07-07T11:50:19.084+08:00","updated_at":"2023-07-07T11:50:19.084+08:00"},{"id":12745926,"file_name":"2.png","project_id":559694,"asset_id":611934,"created_at":"2023-07-07T11:50:19.085+08:00","updated_at":"2023-07-07T11:50:19.085+08:00"},{"id":12745927,"file_name":"1.png","project_id":559694,"asset_id":611935,"created_at":"2023-07-07T11:50:19.087+08:00","updated_at":"2023-07-07T11:50:19.087+08:00"},{"id":12745928,"file_name":"5.png","project_id":559694,"asset_id":611936,"created_at":"2023-07-07T11:50:19.089+08:00","updated_at":"2023-07-07T11:50:19.089+08:00"},{"id":12745929,"file_name":"4.png","project_id":559694,"asset_id":611937,"created_at":"2023-07-07T11:50:19.090+08:00","updated_at":"2023-07-07T11:50:19.090+08:00"},{"id":12745930,"file_name":"gameover.png","project_id":559694,"asset_id":611938,"created_at":"2023-07-07T11:50:19.092+08:00","updated_at":"2023-07-07T11:50:19.092+08:00"},{"id":12745931,"file_name":"monster_1.png","project_id":559694,"asset_id":611939,"created_at":"2023-07-07T11:50:19.093+08:00","updated_at":"2023-07-07T11:50:19.093+08:00"},{"id":12745932,"file_name":"p_0.png","project_id":559694,"asset_id":611940,"created_at":"2023-07-07T11:50:19.095+08:00","updated_at":"2023-07-07T11:50:19.095+08:00"},{"id":12745933,"file_name":"p_1.png","project_id":559694,"asset_id":611941,"created_at":"2023-07-07T11:50:19.097+08:00","updated_at":"2023-07-07T11:50:19.097+08:00"},{"id":12745934,"file_name":"p_2.png","project_id":559694,"asset_id":611942,"created_at":"2023-07-07T11:50:19.098+08:00","updated_at":"2023-07-07T11:50:19.098+08:00"},{"id":12745935,"file_name":"monster_0.png","project_id":559694,"asset_id":611943,"created_at":"2023-07-07T11:50:19.099+08:00","updated_at":"2023-07-07T11:50:19.099+08:00"},{"id":12745936,"file_name":"p_3.png","project_id":559694,"asset_id":611944,"created_at":"2023-07-07T11:50:19.101+08:00","updated_at":"2023-07-07T11:50:19.101+08:00"},{"id":12745937,"file_name":"monster_2.png","project_id":559694,"asset_id":611945,"created_at":"2023-07-07T11:50:19.103+08:00","updated_at":"2023-07-07T11:50:19.103+08:00"},{"id":12745938,"file_name":"item_2.png","project_id":559694,"asset_id":611946,"created_at":"2023-07-07T11:50:19.104+08:00","updated_at":"2023-07-07T11:50:19.104+08:00"},{"id":12745939,"file_name":"bg.png","project_id":559694,"asset_id":611947,"created_at":"2023-07-07T11:50:19.106+08:00","updated_at":"2023-07-07T11:50:19.106+08:00"},{"id":12745940,"file_name":"b_22.png","project_id":559694,"asset_id":611948,"created_at":"2023-07-07T11:50:19.107+08:00","updated_at":"2023-07-07T11:50:19.107+08:00"},{"id":12745941,"file_name":"b_3.png","project_id":559694,"asset_id":611949,"created_at":"2023-07-07T11:50:19.109+08:00","updated_at":"2023-07-07T11:50:19.109+08:00"},{"id":12745942,"file_name":"b_4.png","project_id":559694,"asset_id":611950,"created_at":"2023-07-07T11:50:19.111+08:00","updated_at":"2023-07-07T11:50:19.111+08:00"},{"id":12745943,"file_name":"b_5.png","project_id":559694,"asset_id":611951,"created_at":"2023-07-07T11:50:19.112+08:00","updated_at":"2023-07-07T11:50:19.112+08:00"},{"id":12745944,"file_name":"b_0.png","project_id":559694,"asset_id":611952,"created_at":"2023-07-07T11:50:19.113+08:00","updated_at":"2023-07-07T11:50:19.113+08:00"},{"id":12745945,"file_name":"b_1.png","project_id":559694,"asset_id":611953,"created_at":"2023-07-07T11:50:19.114+08:00","updated_at":"2023-07-07T11:50:19.114+08:00"}]
Orange Apple Learning Platform
My Projects
View Project Page
Export
Remix
Import
Delete
Download Android APP (APK)
Screenshot
繁中
简中
English
日本語
1:1:1
1:1
Full Width
Scan the QRCode below with your phone to install
Or you can
download APK
to this computer
Scan the QRCode below with your phone to install
Or you can
download APK
to this computer