当前位置:   article > 正文

python实现贪吃蛇小游戏(附源码 简单易上手)_python贪吃蛇代码复制

python贪吃蛇代码复制

觉得有帮助请点赞关注收藏~~~

 贪吃蛇小游戏相信大家都不陌生,接下来我们用python实现一个简单版的贪吃蛇小游戏  效果如下

 

 

 游戏界面如下 随着吃的变多蛇会变长

控制台会显示得分数目

 

源码如下

  1. from random import randrange # 导入随机函数
  2. from freegames import vector,square # 导入向量函数与绘图函数
  3. import turtle # 导入绘图海龟模块
  4. food = vector(0,0) # 食物
  5. snake = [vector(10, 0)] # 蛇
  6. position = vector(0, -10) # 移动位置,一步的距离为10
  7. def change(x, y): # 改变蛇的移动方向
  8. position.x = x
  9. position.y = y
  10. def is_inside(head): # 判断蛇头是否在窗体内
  11. return -200 < head.x < 190 and -200 < head.y < 190
  12. def move(): # 可以让蛇移动的方法
  13. head = snake[-1].copy() # 确定蛇头的位置
  14. head.move(position) # 移动一步
  15. if not is_inside(head) or head in snake: # 如果蛇的头部位于边界外或者蛇头在蛇的身体中
  16. square(head.x, head.y, 9, 'red') # 绘制红色蛇头,说明游戏结束
  17. turtle.update() # 更新
  18. return
  19. snake.append(head) # 更新蛇的位置
  20. if head == food: # 如果蛇吃到食物
  21. print('Snake:', len(snake)) # 根据蛇的长度进行加分
  22. food.x = randrange(-15, 15) * 10 # 随机生成食物x坐标
  23. food.y = randrange(-15, 15) * 10 # 随机生成食物y坐标
  24. else:
  25. snake.pop(0) # 移除蛇走过的坐标
  26. turtle.clear() # 清空蛇走过的位置
  27. for body in snake: # 循环遍历蛇的坐标
  28. square(body.x, body.y, 9, 'black') # 绘制黑色蛇
  29. square(food.x, food.y, 9, 'green') # 绘制绿色食物
  30. turtle.update()
  31. turtle.ontimer(move, 100) # 定时执行move函数
  32. if __name__ == '__main__': # 程序入口
  33. turtle.setup(420, 420, 370, 0) # 创建窗体大小
  34. turtle.hideturtle() # 隐藏箭头显示
  35. turtle.tracer(False) # 关闭绘画效果
  36. move() # 调用让蛇移动的方法
  37. turtle.listen() # 事件监听器
  38. turtle.onkey(lambda: change(10, 0), 'Right') # 按键盘右键,蛇向右走
  39. turtle.onkey(lambda: change(-10, 0), 'Left') # 按键盘左键,蛇向左走
  40. turtle.onkey(lambda: change(0, 10), 'Up') # 按键盘上键,蛇向上走
  41. turtle.onkey(lambda: change(0, -10), 'Down') # 按键盘下键,蛇向下走
  42. turtle.done() # 停止画笔绘制,但绘图窗体不关闭

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/80994
推荐阅读
相关标签
  

闽ICP备14008679号