编译器:VSCODE python 版本: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 – 列、for 循环。
list,顾名思义,就是发明一列可供咱们调用列表,同时,列表是可变的——咱们能够扭转列表的内容。
snake=[[0,0],[10,0],[20,0],[30,0],[40,0],[50,0]]
这样,咱们就建设了一个名为 snake 的序列。接下来就是调用它了!
for n in range(len(snake)): #for 循环
square(snake[n][0],snake[n][1],10,"black") #当 n = 0 时,阐明调用 snake 函数的第一个参数,即[0],[0], 当 n = 1 时,阐明调用第二个参数,即[10],[0]
试试看!是不是和刚刚的截然不同。这就是循环的弱小之处。
当初,你可能还没发现 list 的长处所在,等到前期开发的时候,你会发现它的弱小之处的!
然而,一条带着箭头的蛇,总是怪怪的,有没有什么办法能让箭头隐没呢?还有咱们该如何让蛇从程序启动一开始就画好,而不是程序关上后再画呢?
这就波及 turtle 库的问题了,咱们关上 document python:https://docs.python.org/zh-cn…,找到了两个对于此的函数
一个是 hideturtle() – 让海龟暗藏起来(实际上就是箭头)
一个是 tracer(False) – 禁用海龟动画并设置刷新图形的延迟时间
运行起来!果然箭头不在了,一条残缺的蛇出现在屏幕两头。
2 – 设计一个会动的苹果
到这里了,你必定不会再困惑于如何设计一个苹果。
咱们当然心愿苹果不是在变化无穷的地位,而是可能随即的产生。这就要援用到 random 的 randrange 函数。
https://docs.python.org/zh-cn…
apple_x=randrange(-20,20)*10
apple_y=randrange(-20,20)*10
square(apple_x,apple_y,10,'red')
这样,一个会动的苹果(每一次关上,苹果的地位都会随即调配)就搞定了!
3 – 第二期残缺代码
from turtle import *
from gamebase import square
from random import randrange
hideturtle()
tracer(False)
snake=[[0,0],[10,0],[20,0],[30,0],[40,0],[50,0]]
apple_x=randrange(-20,20)*10
apple_y=randrange(-20,20)*10
for n in range(len(snake)):
square(snake[n][0],snake[n][1],10,"black")
square(apple_x,apple_y,10,'red')
done()
4 – 如何让小蛇动起来?(下期)
聪慧的你可能曾经想到了,让小蛇动起来,让屏幕外面的小方块添头去尾,一个动态的蛇就会变成一个动静的蛇,如何用代码实现?
5 – 集体总结
1 编写一个程序之前要先设计它的流程,并以代码的模式思考设计的可行性。
2 for 循环、list(列)
3 当困惑时,要长于借助互联网、书籍查找材料
4 本人入手打代码,哪怕照着打。