{"id":326933,"student_id":3525,"content":"import random #載入產生隨機數套件\nfrom game import (\n set_backdrop, #設定背景圖\n create_sprite, #創造角色\n create_sound, #創造音效\n draw_text, #繪製文字\n forever, #重複不斷執行\n stop, #遊戲暫停\n)\n\nset_backdrop('bg.jpg') #設定背景圖\nplayer = create_sprite('p0.png', 'p1.png') #玩家擋板\nball = create_sprite('ball.png') #球\nbar = create_sprite('bar0.png', 'bar1.png') #下方橘色長條\nhint = create_sprite('hint.png') #遊戲說明\ngameover_text = create_sprite('gameover.png') #遊戲結束文字\n\nblocks = [] #存放磚塊\nspeed = 10 #移動速度\nscore = 0 #遊戲分數\nlife = 3 #生命\nactive = False #是否卷動磚塊\ncombo = 0 #連擊個數\n\nplayer.y = 800\nball.y = 700\nball.layer = 1\nhint.layer = 1\ngameover_text.layer = 1\ngameover_text.hidden = True\nhint.hidden = False\n\nball.direction = random.randrange(30) - 15\ncreate_sprite(\"bgm.mp3\", True)\n#遊戲主迴圈\nfor y in range(5):\n for x in range(10):\n brick = create_sprite(\"b0.png\", \"b1.png\", \"b2.png\", \"b3.png\", \"b4.png\", \"b5.png\", \"b6.png\", \"b7.png\")\n brick.x = x * 120 + 60\n brick.y = y * 60 + 30\n brick.costume_id = int(random.randrange(8))\n blocks.append(brick)\n \ndef loop ():\n global speed, score, life, active, combo, blocks\n \n player.x = cursor.x\n \n if cursor.is_down:\n active = True\n hint.hidden = True\n \n if active == False: \n ball.x = cursor.x\n ball.y = 700\n else:\n speed += 0.01\n if speed \u003e 20:\n speed = 20\n ball.step_forward(speed)\n ball.bounce_edge()\n\n if ball.touched(player):\n ball.direction = (ball.x - player.x) * 45 / 100\n combo = int(combo/2)\n create_sound(\"hit.wav\")\n \n if ball.y \u003e 820:\n speed = 10\n active = False\n ball.direction = random.randrange(30) - 15\n life -= 1\n combo = 0\n \n for brick in blocks:\n if active:\n brick.y += 0.1\n if blocks[0].y \u003e 30:\n for x in range(10):\n brick = create_sprite(\"b0.png\", \"b1.png\", \"b2.png\", \"b3.png\", \"b4.png\", \"b5.png\", \"b6.png\", \"b7.png\")\n brick.x = x * 120 + 60\n brick.y = -30\n brick.costume_id = int(random.randrange(8))\n blocks = [brick] + blocks\n \n if ball.touched(brick):\n brick.hidden = True\n ball.direction = -ball.direction + 160 + random.randrange(40) \n combo += 1\n score += combo\n create_sound(str(combo % 7 + 1) + \".mp3\")\n \n if brick.y \u003e 800:\n gameover()\n brick.hidden = False\n \n if life \u003c 0:\n gameover()\n life = 0\n \n \n draw_text(\"life:\" + str(life), 200, 850, \"white\", 30)\n draw_text(\"combo:\" + str(combo), 600, 870, \"white\", 40)\n draw_text(\"score:\" + str(score, 900, 870, \"white\", 40)\n\ndef gameover():\n stop()\n for brick in blocks: brick.costume_id = 7\n player.costume_id = 1\n bar.costume_id = 1\n gameover_text.hidden = False\n\n\nforever(loop) #重複不斷執行遊戲迴圈\n\n\n","created_at":"2021-12-18T10:12:14.368+08:00","updated_at":"2021-12-18T12:12:28.396+08:00","name":"打磚塊(預設版) 副本","language":"python","screenshot":{"url":"https://cdn5.koding.school/uploads/project/screenshot/326933/d5d8d90c50346241ad10934a3bdaf682.jpg"},"parent_id":183413,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":69,"hashid":"npms3vr5e","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":6875367,"file_name":"b0.png","project_id":326933,"asset_id":251763,"created_at":"2021-12-18T10:12:14.378+08:00","updated_at":"2021-12-18T10:12:14.378+08:00"},{"id":6875368,"file_name":"b1.png","project_id":326933,"asset_id":251764,"created_at":"2021-12-18T10:12:14.380+08:00","updated_at":"2021-12-18T10:12:14.380+08:00"},{"id":6875369,"file_name":"b2.png","project_id":326933,"asset_id":251765,"created_at":"2021-12-18T10:12:14.382+08:00","updated_at":"2021-12-18T10:12:14.382+08:00"},{"id":6875370,"file_name":"b3.png","project_id":326933,"asset_id":251766,"created_at":"2021-12-18T10:12:14.384+08:00","updated_at":"2021-12-18T10:12:14.384+08:00"},{"id":6875371,"file_name":"b4.png","project_id":326933,"asset_id":251767,"created_at":"2021-12-18T10:12:14.386+08:00","updated_at":"2021-12-18T10:12:14.386+08:00"},{"id":6875372,"file_name":"b5.png","project_id":326933,"asset_id":251768,"created_at":"2021-12-18T10:12:14.387+08:00","updated_at":"2021-12-18T10:12:14.387+08:00"},{"id":6875373,"file_name":"b6.png","project_id":326933,"asset_id":251769,"created_at":"2021-12-18T10:12:14.389+08:00","updated_at":"2021-12-18T10:12:14.389+08:00"},{"id":6875374,"file_name":"b7.png","project_id":326933,"asset_id":251770,"created_at":"2021-12-18T10:12:14.391+08:00","updated_at":"2021-12-18T10:12:14.391+08:00"},{"id":6875375,"file_name":"ball.png","project_id":326933,"asset_id":251771,"created_at":"2021-12-18T10:12:14.393+08:00","updated_at":"2021-12-18T10:12:14.393+08:00"},{"id":6875376,"file_name":"bar1.png","project_id":326933,"asset_id":251772,"created_at":"2021-12-18T10:12:14.395+08:00","updated_at":"2021-12-18T10:12:14.395+08:00"},{"id":6875377,"file_name":"bg.jpg","project_id":326933,"asset_id":251773,"created_at":"2021-12-18T10:12:14.396+08:00","updated_at":"2021-12-18T10:12:14.396+08:00"},{"id":6875378,"file_name":"bar0.png","project_id":326933,"asset_id":251774,"created_at":"2021-12-18T10:12:14.397+08:00","updated_at":"2021-12-18T10:12:14.397+08:00"},{"id":6875379,"file_name":"gameover.png","project_id":326933,"asset_id":251775,"created_at":"2021-12-18T10:12:14.398+08:00","updated_at":"2021-12-18T10:12:14.398+08:00"},{"id":6875380,"file_name":"hint.png","project_id":326933,"asset_id":251776,"created_at":"2021-12-18T10:12:14.399+08:00","updated_at":"2021-12-18T10:12:14.399+08:00"},{"id":6875381,"file_name":"p0.png","project_id":326933,"asset_id":251777,"created_at":"2021-12-18T10:12:14.400+08:00","updated_at":"2021-12-18T10:12:14.400+08:00"},{"id":6875382,"file_name":"p1.png","project_id":326933,"asset_id":251778,"created_at":"2021-12-18T10:12:14.401+08:00","updated_at":"2021-12-18T10:12:14.401+08:00"},{"id":6875383,"file_name":"1.mp3","project_id":326933,"asset_id":251779,"created_at":"2021-12-18T10:12:14.402+08:00","updated_at":"2021-12-18T10:12:14.402+08:00"},{"id":6875384,"file_name":"2.mp3","project_id":326933,"asset_id":251780,"created_at":"2021-12-18T10:12:14.403+08:00","updated_at":"2021-12-18T10:12:14.403+08:00"},{"id":6875385,"file_name":"3.mp3","project_id":326933,"asset_id":251781,"created_at":"2021-12-18T10:12:14.404+08:00","updated_at":"2021-12-18T10:12:14.404+08:00"},{"id":6875386,"file_name":"4.mp3","project_id":326933,"asset_id":251782,"created_at":"2021-12-18T10:12:14.405+08:00","updated_at":"2021-12-18T10:12:14.405+08:00"},{"id":6875387,"file_name":"5.mp3","project_id":326933,"asset_id":251783,"created_at":"2021-12-18T10:12:14.406+08:00","updated_at":"2021-12-18T10:12:14.406+08:00"},{"id":6875388,"file_name":"6.mp3","project_id":326933,"asset_id":251784,"created_at":"2021-12-18T10:12:14.407+08:00","updated_at":"2021-12-18T10:12:14.407+08:00"},{"id":6875389,"file_name":"7.mp3","project_id":326933,"asset_id":251785,"created_at":"2021-12-18T10:12:14.408+08:00","updated_at":"2021-12-18T10:12:14.408+08:00"},{"id":6875390,"file_name":"bgm.mp3","project_id":326933,"asset_id":251786,"created_at":"2021-12-18T10:12:14.409+08:00","updated_at":"2021-12-18T10:12:14.409+08:00"},{"id":6875391,"file_name":"hit.wav","project_id":326933,"asset_id":251787,"created_at":"2021-12-18T10:12:14.410+08:00","updated_at":"2021-12-18T10:12:14.410+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
截圖
繁中
简中
English
日本語
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦