{"id":163281,"student_id":1404,"content":"import random #載入產生隨機數套件\nimport game\n\nbg = createSprite('bg_0.jpg', 'bg_1.jpg') #背景圖\nceiling = createSprite('w.png') #天花板的針刺\nleft_wall = createSprite('wall.png') #左邊牆壁\nright_wall = createSprite('wall.png') #右邊牆壁\nplayer = createSprite('p1.png', 'p2.png', 'p3.png', 'p4.png', 'p5.png') #玩家\n\n# 初始化角色位置\u0026圖層\nplayer.y = 100\nleft_wall.x -= 450\nright_wall.x += 450\nceiling.moveTo(600, 18)\nceiling.layer = 1\n\nlife = 10 #玩家血量\nfloor = 0 #階梯數\nstairs = [] #存放階梯角色\nvy = 0 #玩家墜落的速度\ntouchOn = None #當前踩著的階梯 id\nflash = False #是否閃爍背景\nclock = 0 #計時器\n\ngame.create_sound('bgm.mp3', True)\n\n# # 遊戲主迴圈\ndef loop ():\n updateInfo()\n updateStairs()\n updatePlayer()\n gameoverCheck()\n updateCostume()\n updateBackground()\n \n#初始化階梯\nstairs = []\nfor i in range(9):\n s = game.create_sprite('s1.png', 's2.png', 's3.png', 's4.png', 's5.png', 's6.png') #創造角色\n s.x = random.randint(350, 850)\n s.y = 550 + 150 * i\n s.costume_id = 3\n s.id = i\n stairs.append(s)\n\n# # 偵測玩家操控並更新角色位置\ndef updatePlayer ():\n global vy\n player.y = player.y + vy\n vy = vy + 0.6\n \n if key.left and not player.touched(left_wall):\n player.x -= 12\n if key.right and not player.touched(right_wall):\n player.x += 12\n\n# # 讓所有階梯向上捲動\ndef updateStairs():\n global floor\n for stair in stairs:\n stair.y -= 3\n if stair.y \u003c 0: #跑出上邊界\n stair.y = 1350\n stair.costume_id = random.randint(0, 5)\n stair.x = random.randint(350, 850)\n stair.hidden = False\n floor += 1\n\n# # 玩家踩到階梯時執行階梯對應的功能\ndef onTouchStair (s):\n global touchOn, life, vy, flash\n vy = 0\n player.y = s.y - 50\n \n if s.costume_id == 0: #左傳輸帶\n player.x = player.x - 6\n elif s.costume_id == 1: #右傳輸帶\n player.x = player.x + 6\n elif s.costume_id == 2: #彈簧\n vy = -16\n elif s.costume_id == 3 and s.id != touchOn: #正常藍色階梯\n life = life + 1\n elif s.costume_id == 4 and s.id != touchOn: #尖刺\n life = life - 1\n flash = True\n elif s.costume_id == 5: #假階梯\n s.hidden = True\n \n touchOn = s.id\n \n \n\n# # 更新遊戲分數\ndef updateInfo ():\n game.drawText(\"分數:\"+str(floor), 10, 10, 'white', 30)\n game.drawText(\"生命:\"+str(life), 10, 40, 'white', 30)\n\n# # 判斷遊戲是否結束\ndef gameoverCheck ():\n if player.touched(ceiling) or player.y \u003e 1000 or life \u003c= 0:\n bg.costume_id = 1\n game.stop()\n \n# # 捲動更新背景圖\ncnt = 0\ndef updateBackground ():\n global flash, cnt\n bg.y = bg.y - 1\n if bg.y \u003c 400:\n bg.y += 100\n \n cnt += 1\n if cnt % 5 == 0:\n if flash == True:\n bg.costume_id = 1 #紅背景\n flash = False\n else:\n bg.costume_id = 0 #黑背景\n \n\n# # 玩家走路動畫\ndef updateCostume ():\n global clock\n if key.right:\n if player.costume_id == 1:\n player.costume_id = 2\n else: \n player.costume_id = 1\n elif key.left:\n if player.costume_id == 3:\n player.costume_id = 4\n else: \n player.costume_id = 3\n else:\n player.costume_id = 0\n\nplayer.on('touch', stairs, onTouchStair)\nforever(loop) #重複不斷執行遊戲迴圈\n\n# import random #載入產生隨機數套件\n\n# bg = createSprite('bg_0.jpg', 'bg_1.jpg') #背景圖\n# ceiling = createSprite('w.png') #天花板的針刺\n# left_wall = createSprite('wall.png') #左邊牆壁\n# right_wall = createSprite('wall.png') #右邊牆壁\n# player = createSprite('p1.png', 'p2.png', 'p3.png', 'p4.png', 'p5.png') #玩家\n\n# # 初始化角色位置\u0026圖層\n# player.y = 100\n# left_wall.x -= 450\n# right_wall.x += 450\n# ceiling.moveTo(600, 18)\n# ceiling.layer = 1\n\n# life = 10 #玩家血量\n# floor = 0 #階梯數\n# stairs = [] #存放階梯角色\n# vy = 0 #玩家墜落的速度\n# touchOn = None #當前踩著的階梯 id\n# flash = False #是否閃爍背景\n# clock = 0 #計時器\n\n# createSound('bgm.mp3', True)\n\n# #遊戲主迴圈\n# def loop ():\n# updatePlayer() #偵測玩家操控並更新角色位置\n# updateStairs() #讓所有階梯向上捲動\n# updateCostume() #玩家走路動畫\n# updateInfo() #更新遊戲分數\n# updateBackground() #捲動更新背景圖\n# gameoverCheck() #判斷遊戲是否結束\n\n\n# #初始化階梯\n# for i in range(9):\n# s = createSprite('s1.png', 's2.png', 's3.png', 's4.png', 's5.png', 's6.png')\n# s.costumeId = random.randrange(6)\n# s.x = random.randrange(350, 850)\n# s.y = i*150 + 550\n# s.id = i\n# stairs.append(s)\n\n# #偵測玩家操控並更新角色位置\n# def updatePlayer ():\n# global vy\n \n# if key.left and not player.touched(left_wall):\n# player.x -= 12\n \n# if key.right and not player.touched(right_wall):\n# player.x += 12\n \n# vy += 0.6\n# player.y += vy\n\n\n# #讓所有階梯向上捲動\n# def updateStairs ():\n# global floor\n \n# for s in stairs:\n# s.y -= 3\n# if s.y \u003c -30:\n# s.x = random.randrange(350, 850)\n# s.y += 1350\n# s.costumeId = random.randrange(6)\n# s.hidden = False\n# floor += 1\n\n\n# #玩家踩到階梯時執行階梯對應的功能\n# def onTouchStair (s):\n# global touchOn, life, vy, flash\n \n# vy = 0\n# player.y = s.y - 50\n\n# if s.costumeId == 0:\n# player.x -= 6\n \n# if s.costumeId == 1:\n# player.x += 6\n \n# if s.costumeId == 2:\n# vy = -16\n# createSound('jump.mp3')\n \n# if s.costumeId == 3 and s.id != touchOn:\n# life += 1\n \n# if s.costumeId == 4 and s.id != touchOn:\n# life -= 3\n# flash = True\n \n# if s.costumeId == 5:\n# s.hidden = True\n \n# touchOn = s.id\n\n\n# #更新遊戲分數\n# def updateInfo ():\n# drawText('分數:' + str(floor), 10, 10, 'white', 30)\n# drawText('生命:' + str(life), 10, 40, 'white', 30)\n\n\n# #判斷遊戲是否結束\n# def gameoverCheck ():\n# if life \u003c= 0 or player.y \u003e 1000 or player.touched(ceiling):\n# bg.costumeId = 1\n# stop()\n# createSound('gg.mp3')\n\n\n# #捲動更新背景圖\n# def updateBackground ():\n# global flash\n\n# bg.y -= 1\n# if bg.y \u003c 400:\n# bg.y += 100\n \n# bg.costumeId = 0\n# if flash:\n# bg.costumeId = 1\n# flash = False\n# createSound('hit.mp3')\n\n# #玩家走路動畫\n# def updateCostume ():\n# global clock\n\n# clock += 1\n# if clock%4 == 0:\n# if key.right:\n# if player.costumeId == 1:\n# player.costumeId = 2\n# else:\n# player.costumeId = 1\n \n# elif key.left:\n# if player.costumeId == 3:\n# player.costumeId = 4\n# else:\n# player.costumeId = 3\n# else:\n# player.costumeId = 0\n\n\n# player.on('touch', stairs, onTouchStair)\n# forever(loop) #重複不斷執行遊戲迴圈\n\n\n","created_at":"2020-07-09T11:36:20.381+08:00","updated_at":"2020-07-23T16:51:12.365+08:00","name":"小朋友下樓梯_S 副本","language":"python","screenshot":{"url":"https://cdn4.koding.school/uploads/project/screenshot/163281/672aa0444c3f43a68fcade6b8e8711e7.jpg"},"parent_id":162856,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":1402,"hashid":"wdksrjp3","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":2836658,"file_name":"bg_0.jpg","project_id":163281,"asset_id":218307,"created_at":"2020-07-09T11:36:20.386+08:00","updated_at":"2020-07-09T11:36:20.386+08:00"},{"id":2836659,"file_name":"bg_1.jpg","project_id":163281,"asset_id":218308,"created_at":"2020-07-09T11:36:20.387+08:00","updated_at":"2020-07-09T11:36:20.387+08:00"},{"id":2836660,"file_name":"bgm.mp3","project_id":163281,"asset_id":36477,"created_at":"2020-07-09T11:36:20.388+08:00","updated_at":"2020-07-09T11:36:20.388+08:00"},{"id":2836661,"file_name":"gg.mp3","project_id":163281,"asset_id":36479,"created_at":"2020-07-09T11:36:20.389+08:00","updated_at":"2020-07-09T11:36:20.389+08:00"},{"id":2836662,"file_name":"hit.mp3","project_id":163281,"asset_id":36476,"created_at":"2020-07-09T11:36:20.390+08:00","updated_at":"2020-07-09T11:36:20.390+08:00"},{"id":2836663,"file_name":"jump.mp3","project_id":163281,"asset_id":36478,"created_at":"2020-07-09T11:36:20.391+08:00","updated_at":"2020-07-09T11:36:20.391+08:00"},{"id":2836664,"file_name":"p1.png","project_id":163281,"asset_id":218309,"created_at":"2020-07-09T11:36:20.392+08:00","updated_at":"2020-07-09T11:36:20.392+08:00"},{"id":2836665,"file_name":"p2.png","project_id":163281,"asset_id":218310,"created_at":"2020-07-09T11:36:20.393+08:00","updated_at":"2020-07-09T11:36:20.393+08:00"},{"id":2836666,"file_name":"p3.png","project_id":163281,"asset_id":218311,"created_at":"2020-07-09T11:36:20.393+08:00","updated_at":"2020-07-09T11:36:20.393+08:00"},{"id":2836667,"file_name":"p4.png","project_id":163281,"asset_id":218312,"created_at":"2020-07-09T11:36:20.394+08:00","updated_at":"2020-07-09T11:36:20.394+08:00"},{"id":2836668,"file_name":"p5.png","project_id":163281,"asset_id":218313,"created_at":"2020-07-09T11:36:20.395+08:00","updated_at":"2020-07-09T11:36:20.395+08:00"},{"id":2836669,"file_name":"s1.png","project_id":163281,"asset_id":218300,"created_at":"2020-07-09T11:36:20.396+08:00","updated_at":"2020-07-09T11:36:20.396+08:00"},{"id":2836670,"file_name":"s2.png","project_id":163281,"asset_id":218301,"created_at":"2020-07-09T11:36:20.397+08:00","updated_at":"2020-07-09T11:36:20.397+08:00"},{"id":2836671,"file_name":"s3.png","project_id":163281,"asset_id":218302,"created_at":"2020-07-09T11:36:20.397+08:00","updated_at":"2020-07-09T11:36:20.397+08:00"},{"id":2836672,"file_name":"s4.png","project_id":163281,"asset_id":218303,"created_at":"2020-07-09T11:36:20.398+08:00","updated_at":"2020-07-09T11:36:20.398+08:00"},{"id":2836673,"file_name":"s5.png","project_id":163281,"asset_id":218304,"created_at":"2020-07-09T11:36:20.399+08:00","updated_at":"2020-07-09T11:36:20.399+08:00"},{"id":2836674,"file_name":"s6.png","project_id":163281,"asset_id":218305,"created_at":"2020-07-09T11:36:20.400+08:00","updated_at":"2020-07-09T11:36:20.400+08:00"},{"id":2836675,"file_name":"w.png","project_id":163281,"asset_id":218294,"created_at":"2020-07-09T11:36:20.401+08:00","updated_at":"2020-07-09T11:36:20.401+08:00"},{"id":2836676,"file_name":"wall.png","project_id":163281,"asset_id":218306,"created_at":"2020-07-09T11:36:20.401+08:00","updated_at":"2020-07-09T11:36:20.401+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
截圖
幫助
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦