edge if 蟲長度[頭]['x'] == -1 or 蟲長度[頭]['x'] == 寬度 or 蟲長度[頭]['y'] == -1 or 蟲長度[頭]['y'] == 高度: return # game over for wormBody in 蟲長度[1:]: if wormBody['x'] == 蟲長度[頭]['x'] and wormBody['y'] == 蟲長度[頭]['y']: return # game over # check if worm has eaten an apply if 蟲長度[頭]['x'] == 食物['x'] and 蟲長度[頭]['y'] == 食物['y']: # don't remove worm's tail segment 食物 = 食物位置() # set a new 食物 somewhere else: del 蟲長度[-1] # remove worm's tail segment elif event.type == KEYDOWN: if (event.key == K_LEFT or event.key == K_a) and 方向 != 大右: 方向 = 大左 elif (event.key == K_RIGHT or event.key == K_d) and 方向 != 大左: 方向 = 大右 elif (event.key == K_UP or event.key == K_w) and 方向 != 大下: 方向 = 大上 elif (event.key == K_DOWN or event.key == K_s) and 方向 != 大上: 方向 = 大下 elif event.key == K_ESCAPE: 停止()