贪吃蛇游戏python代码_不敢相信,60⾏python代码就写出了
贪吃蛇游戏
通过写游戏玩编程是⼀个⾮常有趣的事,⽹上⽤Python写贪吃蛇的代码很多,⼤部分都⽤类来写的,⽐较复杂。今天看到⼀个⾮常简洁的贪吃蛇游戏代码,只有60⼏⾏,⾮常适合⼩⽩上⼿,⽽且思路极其清晰,赶紧分享给⼤家!
我们先来看⼀下游戏的效果图:
mysql创建视图的作用
⼀般来说⼀个贪吃蛇游戏需要考虑下⾯⼏点:
⾸先:画出food和snack
接着:控制snack上下左右的移动
然后:计算snack和food的碰撞,然后snack变长
最后:当snack碰到四周的墙壁或者蛇头碰到⾝体,则游戏结束
看起来需要写的东西还蛮多的,怎么就能60⼏⾏代码搞定呢了!⼤家还记不记得Python有内置的海龟库t
urtle.这个库可以画出很多好玩有趣的图案和⼩动画。没错,这个代码就是⽤turtle这个库完成了!源码⾮常简单,我⼀⼀给⼤家说⼀下:
python代码画图案
第⼀步
引⽤turtle库,⾥⾯有⼀堆简单好玩的函数,⽅便我们来制作动画的
capitalist的引⽤random库,主要是为了让⾷物随机出现
openssl补丁怎么打引⽤freegames库,这个库把⼀些元素封装好了,⽐如⽅形,⼆维向量vector.这个⼆维向量⾮常重要,因为snack的move,坐标的变换,上升下降等等,我们只需要简单的调⽤vector⾥⾯封装函数就可以搞定。当然这是第三⽅的库pip install ⼀下即可!其实看它的源码也是⽤的turtle.
接着我们初始化出food和snack。注意为啥snack要⽤list,这个地⽅⾮常巧妙我后⾯会讲到
aim是snack⾏⾛的⽅向Vector(0,10),第⼀个数字表⽰x轴,第⼆个数字表⽰y轴。10表⽰向上移动10,如果是-10表⽰向下移动10 change函数主要是来改变⽅向的
inside函数是⽤来判断snack有没有碰到墙壁
第⼆步
这部分的代码主要是处理动态交互的过程:
1).snack分head和body:
当没有碰到⾷物的时候,snack只有⼀个矩形框,既是头也是⾝体!
所以这⾥⽤的snack[-1].copy把head 拷贝⼀份出来,⽅便后⾯的move.
2).考虑游戏如果结束:
⼀种就是判断有⽆碰到墙体,或者头部碰到了⾝体!看这⾥的代码⾮常简洁⽤head in snack,就轻松搞定。
接着snack这⾥列表会把移动过的head放进来,也就是说snack这时有头和⾝体了(当前坐标和移动后的坐标)。
3).最难的碰到⾷物如何处理:
考如果snack碰到了food(蛇吃到⾷物),应该怎么办?⾷物会去画布上的随机另外⼀个坐标,snack会变长。
否则snack列表pop(0),也就是只保留移动后的坐标。
⾮常巧妙的解决了snack⾝体变成的问题.
matlab中peaks函数
4).接着把food画出来,把snack的整体⾝体和头都画出来
5).为了⽤动态移动的效果,需要⽤循环!这⾥⽤了⼀个递归循环调⽤move函数,并且设置为300ms的延迟
第三步
这⾥主要是初始化画布,已经绑定⼀些键盘的⽅向键,这样好让snack上下左右移动!然后⽤listen()来监听。
有同学问hideturtle()函数是⼲吗的,主要是隐藏海龟头,⽤过turtle的同学就懂的!
这个我⽬前为⽌见过的最简单的贪吃蛇的游戏源码,⾮常⽜逼!也⾮常适合⼩⽩上⼿玩,基本上没有复杂的概念。⼤家有兴趣可以去看Github上的源码,⼀定获益匪浅!
在idea中使用git教程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。