{"id":212471,"student_id":3760,"content":"# import math #載入數學工具包\n# import random #載入產生隨機數套件\n# from game import *\n\n# game.set_backdrop('#111111') #設定背景色碼\n# bg = create_sprite('tower_0.png', 'tower_1.png') #背景圖\n# ceiling = create_sprite('ceiling.png') #天花板的針刺\n# p1 = create_sprite('p_0.png', 'p_1.png', 'p_2.png', 'p_3.png', 'p_4.png') #玩家\n# p2 = create_sprite('p_0.png', 'p_1.png', 'p_2.png', 'p_3.png', 'p_4.png') #玩家\n\n# # 初始化角色位置\u0026圖層\n# p1.move_to(800, 100)\n# p2.move_to(400, 100)\n# ceiling.move_to(600, 18)\n# ceiling.layer = 1\n\n# # 共同變數\n# stairs = [] #存放階梯角色\n\n# # player 1 的變數\n# p1_life = 10 #血量\n# p1_vy = 0 #墜落的速度\n# p1_floor = 0 #階梯數\n# p1_touch_on = None #當前踩著的階梯 id\n\n# # player 2 的變數\n# p2_life = 10 #血量\n# p2_vy = 0 #墜落的速度\n# p2_floor = 0 #階梯數\n# p2_touch_on = None #當前踩著的階梯 id\n\n\n# #遊戲主迴圈\n# def loop ():\n# update_info() #捲動更新背景圖\n# update_stairs() #讓所有階梯向上捲動\n# update_position() #偵測玩家操控並更新角色位置\n# update_costume() #玩家走路動畫\n# update_background() #捲動更新背景圖\n# gameover_check() #判斷遊戲是否結束\n\n\n# #更新遊戲分數\n# def update_info():\n# draw_text('分數:' + str(p2_floor), 10, 30, 'white', 30)\n# draw_text('生命:' + str(p2_life), 10, 60, 'white', 30)\n# draw_text('分數:' + str(p1_floor), 1050, 30, 'white', 30)\n# draw_text('生命:' + str(p1_life), 1050, 60, 'white', 30)\n\n\n# #捲動更新背景圖\n# def update_background():\n# pass\n \n\n# #讓所有階梯向上捲動\n# def update_stairs():\n# global p1_floor\n\n\n# #偵測玩家操控並更新角色位置\n# def update_position():\n# global p1_vy, p2_vy\n \n\n# #玩家踩到階梯時執行階梯對應的功能\n# def p1_touch_stair(s):\n# global p1_touch_on, p1_life, p1_vy\n\n\n# #玩家踩到階梯時執行階梯對應的功能\n# def p2_touch_stair(s):\n# global p2_touch_on, p2_life, p2_vy\n\n\n# #玩家走路動畫\n# def update_costume():\n# pass\n\n\n# #判斷遊戲是否結束\n# def gameover_check():\n# pass\n\n\n# # 雙方玩家推擠程式,記得移動的距離必須一樣!\n# def p1p2_interaction():\n# if p1.touched(p2):\n# if p1.x \u003c p2.x:\n# if key.right and key.a == False: p2.x += 8\n# if key.right == False and key.a: p1.x -= 8\n# if key.right and key.a:\n# p1.x -= 8\n# p2.x += 8\n# else:\n# if key.left and key.d == False: p2.x -= 8\n# if key.left == False and key.d: p1.x += 8\n# if key.left and key.d:\n# p1.x += 8\n# p2.x -= 8\n\n# forever(loop) #重複不斷執行遊戲迴圈\n\nimport math #載入數學工具包\nimport random #載入產生隨機數套件\nfrom game import *\n\ngame.set_backdrop('#111111') #設定背景色碼\nbg = create_sprite('tower_0.png', 'tower_1.png') #背景圖\nceiling = create_sprite('ceiling.png') #天花板的針刺\np1 = create_sprite('p_0.png', 'p_1.png', 'p_2.png', 'p_3.png', 'p_4.png') #玩家\np2 = create_sprite('p_0.png', 'p_1.png', 'p_2.png', 'p_3.png', 'p_4.png') #玩家\n\n# 初始化角色位置\u0026圖層\np1.move_to(800, 100)\np2.move_to(400, 100)\nceiling.move_to(600, 18)\nceiling.layer = 1\n\n# 共同變數\nstairs = [] #存放階梯角色\nfloor = 0 #重置的階梯數\n\n# player 1 的變數\np1_vy = 0 #墜落的速度\np1_life = 10 #血量\np1_touch_on = None #當前踩著的階梯 id\n\n# player 2 的變數\np2_vy = 0 #墜落的速度\np2_life = 10 #血量\np2_touch_on = None #當前踩著的階梯 id\n\ncreate_sound('bgm.mp3', True)\n\n\n#初始化階梯\nfor i in range(7):\n s = create_sprite('s_0.png', 's_1.png', 's_2.png', 's_3.png', 's_4.png', 's_5.png')\n s.y = i*150 + 600\n s.x = random.randrange(200, 700)\n s.costume_id = random.randrange(6)\n stairs.append(s)\n s.id = i\n\n\n#遊戲主迴圈\ndef loop ():\n update_info() #捲動更新背景圖\n update_stairs() #讓所有階梯向上捲動\n update_position() #偵測玩家操控並更新角色位置\n update_costume() #玩家走路動畫\n update_background() #捲動更新背景圖\n gameover_check() #判斷遊戲是否結束\n p1p2_interaction() #雙方玩家推擠行為\n\n\n#更新遊戲分數\ndef update_info():\n draw_text('層數:' + str(floor), 10, 40, 'white', 30)\n draw_text('p1 生命:' + str(p1_life), 10, 70, 'white', 30)\n draw_text('p2 生命:' + str(p2_life), 10, 100, 'white', 30)\n\n\n#捲動更新背景圖\ndef update_background():\n bg.y -= 3\n if bg.y \u003c 0: bg.y += 2700\n \n\n#讓所有階梯向上捲動\ndef update_stairs():\n global floor\n \n for s in stairs:\n s.y -= 3\n if s.y \u003c -75:\n s.y += 1050 # 150 * 7\n s.x = random.randrange(100, 800)\n s.costume_id = random.randrange(6)\n s.hidden = False\n floor += 1\n \n if p1.y \u003c s.y and p1.touched(s): p1_touch_stair(s)\n if p2.y \u003c s.y and p2.touched(s): p2_touch_stair(s)\n\n\n#偵測玩家操控並更新角色位置\ndef update_position():\n global p1_vy, p2_vy\n \n p1_vy += 0.3\n p1.y += p1_vy\n if key.left: p1.x -= 6\n if key.right: p1.x += 6\n \n p2_vy += 0.3\n p2.y += p2_vy\n if key.a: p2.x -= 6\n if key.d: p2.x += 6\n \n\n#玩家踩到階梯時執行階梯對應的功能\ndef p1_touch_stair(s):\n global p1_touch_on, p1_life, p1_vy\n \n p1_vy = 0\n p1.y = s.y - 60\n\n if s.costume_id == 0: p1.x += 3\n if s.costume_id == 1: p1.x -= 3\n if s.costume_id == 2: p1_vy = -10\n if s.costume_id == 3: s.hidden = True\n if s.costume_id == 4 and s.id != p1_touch_on: p1_life += 1\n if s.costume_id == 5 and s.id != p1_touch_on: p1_life -= 3\n if p1_life \u003e 10: p1_life = 10\n p1_touch_on = s.id\n\n\n#玩家踩到階梯時執行階梯對應的功能\ndef p2_touch_stair(s):\n global p2_touch_on, p2_life, p2_vy\n \n p2_vy = 0\n p2.y = s.y - 60\n\n if s.costume_id == 0: p2.x += 3\n if s.costume_id == 1: p2.x -= 3\n if s.costume_id == 2: p2_vy = -10\n if s.costume_id == 3: s.hidden = True\n if s.costume_id == 4 and s.id != p2_touch_on: p2_life += 1\n if s.costume_id == 5 and s.id != p2_touch_on: p2_life -= 3\n if p2_life \u003e 10: p2_life = 10\n p2_touch_on = s.id\n\n\n#玩家走路動畫\ndef update_costume():\n if key.right:\n p1.costume_id = int(p1.x / 40) % 2 + 1\n elif key.left:\n p1.costume_id = int(p1.x / 40) % 2 + 3\n else:\n p1.costume_id = 0\n \n if key.d:\n p2.costume_id = int(p2.x / 40) % 2 + 1\n elif key.a:\n p2.costume_id = int(p2.x / 40) % 2 + 3\n else:\n p2.costume_id = 0\n\n#判斷遊戲是否結束\ndef gameover_check():\n if p1_life \u003c= 0 or p1.y \u003e 1000 or p1.y \u003c 0:\n stop()\n create_sound('gg.mp3')\n drawText('p1 死亡', 400, 400, 'white', 100)\n if p2_life \u003c= 0 or p2.y \u003e 1000 or p2.y \u003c 0:\n stop()\n create_sound('gg.mp3')\n drawText('p2 死亡', 400, 400, 'white', 100)\n\n\n# 雙方玩家推擠程式,記得移動的距離必須一樣!\ndef p1p2_interaction():\n if p1.touched(p2):\n if p1.x \u003c p2.x:\n if key.right and key.a == False: p2.x += 8\n if key.right == False and key.a: p1.x -= 8\n if key.right and key.a:\n p1.x -= 8\n p2.x += 8\n else:\n if key.left and key.d == False: p2.x -= 8\n if key.left == False and key.d: p1.x += 8\n if key.left and key.d:\n p1.x += 8\n p2.x -= 8\n\nforever(loop) #重複不斷執行遊戲迴圈\n","created_at":"2020-12-16T07:43:16.804+08:00","updated_at":"2020-12-16T12:07:11.943+08:00","name":"小朋友下樓梯(預設版) 副本","language":"python","screenshot":{"url":"https://cdn4.koding.school/uploads/project/screenshot/212471/4bb5872c94995833f76f5167056b3046.jpg"},"parent_id":210509,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":30,"hashid":"882sqq6gk","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":3720933,"file_name":"jump.mp3","project_id":212471,"asset_id":291407,"created_at":"2020-12-16T07:43:16.810+08:00","updated_at":"2020-12-16T07:43:16.810+08:00"},{"id":3720934,"file_name":"hit.mp3","project_id":212471,"asset_id":291406,"created_at":"2020-12-16T07:43:16.812+08:00","updated_at":"2020-12-16T07:43:16.812+08:00"},{"id":3720935,"file_name":"gg.mp3","project_id":212471,"asset_id":291405,"created_at":"2020-12-16T07:43:16.812+08:00","updated_at":"2020-12-16T07:43:16.812+08:00"},{"id":3720936,"file_name":"bgm.mp3","project_id":212471,"asset_id":291404,"created_at":"2020-12-16T07:43:16.813+08:00","updated_at":"2020-12-16T07:43:16.813+08:00"},{"id":3720937,"file_name":"ceiling.png","project_id":212471,"asset_id":291403,"created_at":"2020-12-16T07:43:16.814+08:00","updated_at":"2020-12-16T07:43:16.814+08:00"},{"id":3720938,"file_name":"p_0.png","project_id":212471,"asset_id":291402,"created_at":"2020-12-16T07:43:16.815+08:00","updated_at":"2020-12-16T07:43:16.815+08:00"},{"id":3720939,"file_name":"p_1.png","project_id":212471,"asset_id":291401,"created_at":"2020-12-16T07:43:16.816+08:00","updated_at":"2020-12-16T07:43:16.816+08:00"},{"id":3720940,"file_name":"p_2.png","project_id":212471,"asset_id":291400,"created_at":"2020-12-16T07:43:16.817+08:00","updated_at":"2020-12-16T07:43:16.817+08:00"},{"id":3720941,"file_name":"p_3.png","project_id":212471,"asset_id":291399,"created_at":"2020-12-16T07:43:16.818+08:00","updated_at":"2020-12-16T07:43:16.818+08:00"},{"id":3720942,"file_name":"p_4.png","project_id":212471,"asset_id":291398,"created_at":"2020-12-16T07:43:16.819+08:00","updated_at":"2020-12-16T07:43:16.819+08:00"},{"id":3720943,"file_name":"s_0.png","project_id":212471,"asset_id":291397,"created_at":"2020-12-16T07:43:16.820+08:00","updated_at":"2020-12-16T07:43:16.820+08:00"},{"id":3720944,"file_name":"s_1.png","project_id":212471,"asset_id":291396,"created_at":"2020-12-16T07:43:16.820+08:00","updated_at":"2020-12-16T07:43:16.820+08:00"},{"id":3720945,"file_name":"s_2.png","project_id":212471,"asset_id":291395,"created_at":"2020-12-16T07:43:16.821+08:00","updated_at":"2020-12-16T07:43:16.821+08:00"},{"id":3720946,"file_name":"s_4.png","project_id":212471,"asset_id":291394,"created_at":"2020-12-16T07:43:16.822+08:00","updated_at":"2020-12-16T07:43:16.822+08:00"},{"id":3720947,"file_name":"s_5.png","project_id":212471,"asset_id":291393,"created_at":"2020-12-16T07:43:16.823+08:00","updated_at":"2020-12-16T07:43:16.823+08:00"},{"id":3720948,"file_name":"s_3.png","project_id":212471,"asset_id":291392,"created_at":"2020-12-16T07:43:16.824+08:00","updated_at":"2020-12-16T07:43:16.824+08:00"},{"id":3720949,"file_name":"sky_0.png","project_id":212471,"asset_id":291391,"created_at":"2020-12-16T07:43:16.825+08:00","updated_at":"2020-12-16T07:43:16.825+08:00"},{"id":3720950,"file_name":"sky_1.png","project_id":212471,"asset_id":291390,"created_at":"2020-12-16T07:43:16.826+08:00","updated_at":"2020-12-16T07:43:16.826+08:00"},{"id":3720951,"file_name":"tower_0.png","project_id":212471,"asset_id":291389,"created_at":"2020-12-16T07:43:16.827+08:00","updated_at":"2020-12-16T07:43:16.827+08:00"},{"id":3720952,"file_name":"tower_1.png","project_id":212471,"asset_id":291388,"created_at":"2020-12-16T07:43:16.827+08:00","updated_at":"2020-12-16T07:43:16.827+08:00"}]
橘蘋學習平台
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
截圖
幫助
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦