当前位置: 首页 > 后端技术 > Python

#python初学者个人笔记01-用python做一个简单的贪吃蛇游戏(二)贪吃蛇和苹果

时间:2023-03-25 19:41:35 Python

编译器:VSCODEpython版本:3.8上面我们已经熟悉了python中的turtle库,现在我们要思考:如何画图游戏中的蛇?如何画一个苹果?1-设计一条小蛇不要考虑太多。我们现在需要做的只是画一条简单的小蛇,而不考虑它的操纵和移动。在上一章的最后,我们成功地画出了一个带箭头的红色小方块。你有没有想过我们可以创建多个小方块,然后将它们连接起来形成一条完整的蛇?向上?参考我们上次跑的程序,我们已经画了一个带箭头的红色正方形,那么如果我们在不同的点上画一个正方形,就会形成一个长方形,然后改变颜色,有没有发现创建一个小的蛇其实很简单?您可能在代码中输入了以下内容:square(0,0,10,"black")square(10,0,10,"black")square(20,0,10,"black")square(30,0,10,"black")square(40,0,10,"black")done()有效!确实是画了五个连续的方块,但是代码不够“好”,画五个太麻烦了,但是画1000个呢?有没有什么办法可以用更简单的形式来呈现他,我们认为这个黑色的小方块在后期的游戏开发中可能会被多次引用和修改。我们将使用list-column,for循环。list,顾名思义,就是创建一个列表,我们可以称之为列表。同时,列表是可变的——我们可以改变列表的内容。snake=[[0,0],[10,0],[20,0],[30,0],[40,0],[50,0]]这样,我们就创建了一个命名的蛇序列.下一步就是调用它了!forninrange(len(snake)):#forloopsquare(snake[n][0],snake[n][1],10,"black")#当n=0时,表示调用snake函数第一个参数,即[0],[0],当n=1时,表示调用第二个参数,即[10],[0]试试吧!是不是和之前一模一样。这就是循环的力量。现在,你可能还没有发现list的好处,等你以后开发的时候,你就会发现它的强大!然而,带箭的蛇总是古怪的。有没有办法让箭头消失?而我们如何让蛇在程序启动时就开始绘制,而不是在程序打开后才绘制呢?这就涉及到turtle库的问题了。我们打开python文档:https://docs.python.org/zh-cn...,发现有两个函数是关于这个的。一种是hideturtle()——让海龟隐藏起来(其实就是箭头)一种是tracer(False)——禁用海龟动画,设置延迟时间刷新图形运行!果然,箭没了,屏幕正中出现了一条完整的蛇。2-设计一个会动的苹果既然你已经来到这里,你将永远不会对如何设计一个苹果感到困惑。当然,我们希望苹果不是静止不动的,而是可以马上生产出来的。这个会参考random的randrange函数。https://docs.python.org/zh-cn...apple_x=randrange(-20,20)*10apple_y=randrange(-20,20)*10square(apple_x,apple_y,10,'red')喜欢至此,一个移动的苹果(每次打开,苹果的位置都会立即分配)就完成了!3-第二期的完整代码fromturtleimport*fromgamebaseimportsquarefromrandomimportrandrangehideturtle()tracer(False)snake=[[0,0],[10,0],[20,0],[30,0],[40,0],[50,0]]apple_x=randrange(-20,20)*10apple_y=randrange(-20,20)*10forninrange(len(snake)):square(snake[n][0],snake[n][1],10,"black")square(apple_x,apple_y,10,'red')done()4-如何让蛇移动?(下期)聪明的你可能想到了,让蛇动起来,让画面中的小方块加上头和尾,一条静态的蛇就会变成动态的蛇。如何用代码实现呢?5-个人总结1在写程序之前,首先要设计它的流程,以代码的形式思考设计的可行性。2for循环,列表(列)3迷茫的时候,要善于借助网络和书籍查找资料4代码自己敲,敲就算了。