{"id":819280,"student_id":93459,"content":"import 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('p1_0.png', 'p1_1.png', 'p1_2.png', 'p1_3.png', 'p1_4.png') #玩家\np2 = create_sprite('p2_0.png', 'p2_1.png', 'p2_2.png', 'p2_3.png', 'p2_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\nfor y in range(7):\n stair = game.create_sprite(\"s_0.png\", \"s_1.png\", \"s_2.png\", \"s_3.png\", \"s_4.png\", \"s_5.png\") \n stair.y = y * 130\n stair.hidden = True\n stair.id = y\n\n\n\n\n stairs.append(stair)\n\np1.layer = 99\np2.layer = 99\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 pass\n \n\n#讓所有階梯向上捲動\ndef update_stairs():\n global floor\n\n for s in stairs:\n s.y -= 5\n if s.y \u003c 0:\n s.y += 900\n s.x = random.randrange(250, 951)\n s.costume_id = random.randrange(6)\n \n if random.randrange(100) \u003c 50:\n s.hidden = True\n else: \n s.hidden = False\n \n \n\n\n\n\n#偵測玩家操控並更新角色位置\ndef update_position():\n global p1_vy, p2_vy\n \n #p1\n if key.a: p1.x -= 13\n if key.b: p1.x += 13\n \n p1.y += p1_vy\n p1_vy += 0.25\n \n \n \n if key.j: p2.x -= 13\n if key.l: p2.x += 13\n \n \n p2.y += p2_vy\n p2_vy += 0.25\n \n \n \n \n \n\n \n for s in stairs:\n p1_touch_stair(s)\n p2_touch_stair(s) \n \n\n#玩家踩到階梯時執行階梯對應的功能\ndef p1_touch_stair(s):\n global p1_touch_on, p1_life, p1_vy\n\n if s.touched(p1) and s.y - 10 \u003e p1.y:\n p1_vy = 0\n p1.y = s.y - 55\n \n if s.costume_id == 0:\n p1.x += 10\n if s.costume_id == 1:\n p1.x -= 10\n \n if s.costume_id == 2:\n p1.y = s.y - 60\n p1_vy -= 10\n \n if s.costume_id == 3:\n s.opacity -= 0.1\n if s.opacity == 0:\n s.hidden = True\n s.opacity = 1\n \n if s.costume_id == 4: \n pass\n \n if s.costume_id == 5 and p1_touch_on != s.id:\n p1_life -= 3\n \n p1_touch_on = s.id\n \n \n\n#玩家踩到階梯時執行階梯對應的功能\ndef p2_touch_stair(s):\n global p2_touch_on, p2_life, p2_vy\n\n if s.touched(p2) and s.y - 10 \u003e p2.y:\n p2_vy = 0\n p2.y = s.y - 55\n \n if s.costume_id == 0:\n p2.x += 10\n if s.costume_id == 1:\n p2.x -= 10\n \n if s.costume_id == 2:\n p2.y = s.y - 60\n p2_vy -= 10\n \n if s.costume_id == 3:\n s.opacity -= 0.1\n if s.opacity == 0:\n s.hidden = True\n s.opacity = 1\n \n if s.costume_id == 4: \n pass\n \n if s.costume_id == 5 and p2_touch_on != s.id:\n p2_life -= 3\n \n p2_touch_on = s.id\n \n \n \n \n \n \n \n\n\n\n#玩家走路動畫\ndef update_costume():\n if key.right:\n p1.costume_id = #根據 x 座標切換 1, 2 造型圖\n elif key.left:\n p1.costume_id = #根據 x 座標切換 3, 4 造型圖\n else:\n p1.costume_id = #恢復 0 造型圖\n\n if key.right:\n p2.costume_id = #根據 x 座標切換 1, 2 造型圖\n elif key.left:\n p2.costume_id = #根據 x 座標切換 3, 4 造型圖\n else:\n p2.costume_id = #恢復 0 造型圖\n\n#判斷遊戲是否結束\ndef gameover_check():\n if p1.y \u003e 900 or 0 \u003e p1.y or p1_life \u003c= 0:\n draw_text(\"p1掛了TAT\", 20, 200, 'red', 500)\n stop()\n\n if 0 \u003e p2.y or p2.y \u003e 900 or p2_life \u003c= 0:\n draw_text(\"p2掛了TAT\", 20, 200, 'red', 500)\n stop()\n \n\n# 雙方玩家推擠程式,記得移動的距離必須一樣!\ndef p1p2_interaction():\n if p1.touched(p2):\n pass\n \n \n\nforever(loop) #重複不斷執行遊戲迴圈\n","created_at":"2024-08-16T09:11:52.836+08:00","updated_at":"2024-08-16T16:33:59.253+08:00","name":"小朋友下樓梯(預設版)","language":"python","screenshot":{"url":"https://cdn6.koding.school/uploads/project/screenshot/819280/1a8751143ccad470d05353353d0c5c28.jpg"},"parent_id":4,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":25,"hashid":"p93s33q2m","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":18063685,"file_name":"tower_1.png","project_id":819280,"asset_id":766169,"created_at":"2024-08-16T11:13:33.005+08:00","updated_at":"2024-08-16T11:13:33.005+08:00"},{"id":18063686,"file_name":"tower_0.png","project_id":819280,"asset_id":766170,"created_at":"2024-08-16T11:13:33.011+08:00","updated_at":"2024-08-16T11:13:33.011+08:00"},{"id":18063687,"file_name":"sky_1.png","project_id":819280,"asset_id":766171,"created_at":"2024-08-16T11:13:33.017+08:00","updated_at":"2024-08-16T11:13:33.017+08:00"},{"id":18063688,"file_name":"sky_0.png","project_id":819280,"asset_id":766172,"created_at":"2024-08-16T11:13:33.021+08:00","updated_at":"2024-08-16T11:13:33.021+08:00"},{"id":18063689,"file_name":"s_3.png","project_id":819280,"asset_id":766173,"created_at":"2024-08-16T11:13:33.025+08:00","updated_at":"2024-08-16T11:13:33.025+08:00"},{"id":18063690,"file_name":"s_5.png","project_id":819280,"asset_id":766174,"created_at":"2024-08-16T11:13:33.030+08:00","updated_at":"2024-08-16T11:13:33.030+08:00"},{"id":18063691,"file_name":"s_4.png","project_id":819280,"asset_id":766175,"created_at":"2024-08-16T11:13:33.034+08:00","updated_at":"2024-08-16T11:13:33.034+08:00"},{"id":18063692,"file_name":"s_2.png","project_id":819280,"asset_id":766176,"created_at":"2024-08-16T11:13:33.038+08:00","updated_at":"2024-08-16T11:13:33.038+08:00"},{"id":18063693,"file_name":"s_1.png","project_id":819280,"asset_id":766177,"created_at":"2024-08-16T11:13:33.042+08:00","updated_at":"2024-08-16T11:13:33.042+08:00"},{"id":18063694,"file_name":"s_0.png","project_id":819280,"asset_id":766178,"created_at":"2024-08-16T11:13:33.045+08:00","updated_at":"2024-08-16T11:13:33.045+08:00"},{"id":18063695,"file_name":"p1_4.png","project_id":819280,"asset_id":766179,"created_at":"2024-08-16T11:13:33.049+08:00","updated_at":"2024-08-16T11:13:33.049+08:00"},{"id":18063696,"file_name":"p1_3.png","project_id":819280,"asset_id":766180,"created_at":"2024-08-16T11:13:33.053+08:00","updated_at":"2024-08-16T11:13:33.053+08:00"},{"id":18063697,"file_name":"p1_1.png","project_id":819280,"asset_id":766181,"created_at":"2024-08-16T11:13:33.057+08:00","updated_at":"2024-08-16T11:13:33.057+08:00"},{"id":18063698,"file_name":"ceiling.png","project_id":819280,"asset_id":766182,"created_at":"2024-08-16T11:13:33.060+08:00","updated_at":"2024-08-16T11:13:33.060+08:00"},{"id":18063699,"file_name":"bgm.mp3","project_id":819280,"asset_id":766183,"created_at":"2024-08-16T11:13:33.089+08:00","updated_at":"2024-08-16T11:13:33.089+08:00"},{"id":18063700,"file_name":"gg.mp3","project_id":819280,"asset_id":766184,"created_at":"2024-08-16T11:13:33.093+08:00","updated_at":"2024-08-16T11:13:33.093+08:00"},{"id":18063701,"file_name":"hit.mp3","project_id":819280,"asset_id":766185,"created_at":"2024-08-16T11:13:33.097+08:00","updated_at":"2024-08-16T11:13:33.097+08:00"},{"id":18063702,"file_name":"jump.mp3","project_id":819280,"asset_id":766186,"created_at":"2024-08-16T11:13:33.101+08:00","updated_at":"2024-08-16T11:13:33.101+08:00"},{"id":18063703,"file_name":"p1_0.png","project_id":819280,"asset_id":766187,"created_at":"2024-08-16T11:13:33.105+08:00","updated_at":"2024-08-16T11:13:33.105+08:00"},{"id":18063704,"file_name":"p1_2.png","project_id":819280,"asset_id":766188,"created_at":"2024-08-16T11:13:33.108+08:00","updated_at":"2024-08-16T11:13:33.108+08:00"},{"id":18063705,"file_name":"p2_0.png","project_id":819280,"asset_id":766189,"created_at":"2024-08-16T11:13:33.112+08:00","updated_at":"2024-08-16T11:13:33.112+08:00"},{"id":18063706,"file_name":"p2_1.png","project_id":819280,"asset_id":766190,"created_at":"2024-08-16T11:13:33.116+08:00","updated_at":"2024-08-16T11:13:33.116+08:00"},{"id":18063707,"file_name":"p2_2.png","project_id":819280,"asset_id":766191,"created_at":"2024-08-16T11:13:33.120+08:00","updated_at":"2024-08-16T11:13:33.120+08:00"},{"id":18063708,"file_name":"p2_3.png","project_id":819280,"asset_id":766192,"created_at":"2024-08-16T11:13:33.123+08:00","updated_at":"2024-08-16T11:13:33.123+08:00"},{"id":18063709,"file_name":"p2_4.png","project_id":819280,"asset_id":766193,"created_at":"2024-08-16T11:13:33.127+08:00","updated_at":"2024-08-16T11:13:33.127+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
截圖
繁中
简中
English
日本語
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦