{"id":368092,"student_id":3544,"content":"import random #載入產生隨機數的套件\nfrom game import (\n set_backdrop, #設定背景\n create_sprite, #創造角色\n create_sound, #創造音效\n draw_text, #繪製文字\n key, #鍵盤狀態\n forever, #重複不斷執行\n stop, #遊戲結束\n)\n\nset_backdrop('bg_grid.jpg') #設定背景圖\nfood = create_sprite('apple.png', 'orange.png') #食物\nhead = create_sprite('head.png') #蛇頭\nhint = create_sprite('hint.png') #遊戲開始示意圖\ngameover = create_sprite('gameover.png') #遊戲結束示意圖\ntail=create_sprite('body.png', 'body_left.png', 'body_right.png', 'tail.png')\ntail.costume_id=3\n# 設定蛇頭、食物、遊戲結束示意圖的圖層順序\nfood.layer = 1\nhead.layer = 2\ngameover.layer = 3\n#level=len(bodies)/5\ngameover.hidden = True #預設隱藏遊戲結束示意圖\nhint.hidden = False #預設隱藏遊戲示意圖\n\nclock = 0 #紀錄遊戲迴圈次數\nnext_direction = 90 #蛇下次移動的方向\nbodies = [tail] # 用來存放蛇的身體\nis_start = False #是否開始遊戲\nlevel = 0 #分數等級用來計算移動速度\n\nfood.move_to(930, 450) #初始化食物位置\nhead.move_to(270, 450) #初始化蛇頭位置\ntail.move_to(210 , 450)\nhint.move_to(270,450)\n\n# 遊戲主迴圈\ndef loop ():\n global clock, next_direction, is_start, level, bodies,level\n \n # 按下上鍵且原方向不朝下\n if key.up and head.direction != 180 :\n next_direction = 0 #下次移動轉向上\n hint.hidden = True\n is_start=True\n # 按下右鍵且原方向不朝左\n if key.right and head.direction != 270 :\n next_direction = 90\n hint.hidden = True#\n is_start=True\n if level\u003e10 :\n level=10\n # 按下下鍵且原方向不朝上\n if key.down and head.direction != 0 :\n next_direction = 180\n hint.hidden = True#下次移動轉向下\n is_start=True\n # 按下左鍵且原方向不朝右\n if key.left and head.direction != 90 :\n next_direction = 270\n hint.hidden = True\n is_start=True#下次移動轉向左\n if head.touched(bodies) :\n stop()\n gameover.hidden=False\n draw_text(len(bodies)-1, 550, 430, 'white', 80)\n hint.hidden=is_start\n if head.x\u003e1200 :\n head.x-=1200\n if head.y\u003e900 :\n head.y-=900 \n if head.x\u003c0 :\n head.x+=1200\n if head.y\u003c0 :\n head.y+=900\n clock += 1\n if clock%20==0 :\n if food.scale==1 :\n food.scale=0.8\n hint.scale=0.8\n else :\n \n food.scale=1\n hint.scale=1\n #level=(len(bodies-1))/5\n if clock % (15-level) == 0 and is_start==True: #遊戲迴圈每執行 10 次\n if head.touched(food): #如果吃到食物\n food.x = random.randrange(20) * 60 + 30\n food.y = random.randrange(15) * 60 + 30\n #b = bodies.pop()\n b=create_sprite('body.png', 'body_left.png', 'body_right.png', 'tail.png') #創造角色\n bodies.append(b)\n b.move_to(head)\n draw_text(len(bodies)-1, 10, 10, 'white', 40)\n if len(bodies)\u003e0 :\n b=bodies.pop()\n b.move_to(head)\n #b=bodies.pop()\n #b.move_to(head)\n bodies=[b]+bodies\n \n head.direction = next_direction #轉向\n head.step_forward(60) #前進一個格子的距離\n update_bodies_costume()\n #level=(len(bodies)-1)//5\nforever(loop) #不斷執行遊戲迴圈\n\n\n#更新蛇的造型\ndef update_bodies_costume():\n \n diff = next_direction - head.direction\n \n if diff == 0: #蛇向前移動\n bodies[0].costume_id = 0\n \n if diff == -90 or diff == 270: #蛇左轉移動\n bodies[0].costume_id = 1\n \n if diff == 90 or diff == -270: #蛇右轉移動\n bodies[0].costume_id = 2\n \n bodies[0].direction = next_direction #旋轉更新的身體\n \n bodies[-1].costume_id = 3 # 蛇身體最後的部分設為尾巴\n\n\n\n\n","created_at":"2022-04-16T14:02:18.006+08:00","updated_at":"2022-04-16T15:08:34.402+08:00","name":"貪食蛇(預設版) 副本","language":"python","screenshot":{"url":"https://cdn6.koding.school/uploads/project/screenshot/368092/d5d8d90c50346241ad10934a3bdaf682.jpg"},"parent_id":183421,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":52,"hashid":"p93skg863","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":8132517,"file_name":"bg_grid.jpg","project_id":368092,"asset_id":251902,"created_at":"2022-04-16T14:02:18.012+08:00","updated_at":"2022-04-16T14:02:18.012+08:00"},{"id":8132518,"file_name":"bg.jpg","project_id":368092,"asset_id":251903,"created_at":"2022-04-16T14:02:18.013+08:00","updated_at":"2022-04-16T14:02:18.013+08:00"},{"id":8132519,"file_name":"body_left.png","project_id":368092,"asset_id":251904,"created_at":"2022-04-16T14:02:18.014+08:00","updated_at":"2022-04-16T14:02:18.014+08:00"},{"id":8132520,"file_name":"body.png","project_id":368092,"asset_id":251905,"created_at":"2022-04-16T14:02:18.015+08:00","updated_at":"2022-04-16T14:02:18.015+08:00"},{"id":8132522,"file_name":"apple.png","project_id":368092,"asset_id":251906,"created_at":"2022-04-16T14:02:18.016+08:00","updated_at":"2022-04-16T14:02:18.016+08:00"},{"id":8132523,"file_name":"gameover.png","project_id":368092,"asset_id":251907,"created_at":"2022-04-16T14:02:18.017+08:00","updated_at":"2022-04-16T14:02:18.017+08:00"},{"id":8132525,"file_name":"head.png","project_id":368092,"asset_id":251908,"created_at":"2022-04-16T14:02:18.018+08:00","updated_at":"2022-04-16T14:02:18.018+08:00"},{"id":8132526,"file_name":"hint.png","project_id":368092,"asset_id":251909,"created_at":"2022-04-16T14:02:18.019+08:00","updated_at":"2022-04-16T14:02:18.019+08:00"},{"id":8132527,"file_name":"tail.png","project_id":368092,"asset_id":251910,"created_at":"2022-04-16T14:02:18.020+08:00","updated_at":"2022-04-16T14:02:18.020+08:00"},{"id":8132528,"file_name":"orange.png","project_id":368092,"asset_id":251911,"created_at":"2022-04-16T14:02:18.021+08:00","updated_at":"2022-04-16T14:02:18.021+08:00"},{"id":8132529,"file_name":"bling.ogg","project_id":368092,"asset_id":251912,"created_at":"2022-04-16T14:02:18.022+08:00","updated_at":"2022-04-16T14:02:18.022+08:00"},{"id":8132530,"file_name":"bgm.mp3","project_id":368092,"asset_id":251913,"created_at":"2022-04-16T14:02:18.023+08:00","updated_at":"2022-04-16T14:02:18.023+08:00"},{"id":8132531,"file_name":"body_right.png","project_id":368092,"asset_id":251914,"created_at":"2022-04-16T14:02:18.024+08:00","updated_at":"2022-04-16T14:02:18.024+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
截圖
繁中
简中
English
日本語
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦