少儿python编程之贪吃蛇小游戏

少儿python编程之贪吃蛇小游戏

贪吃蛇小游戏的核心代码在于如何让蛇吃一个食物身体就变长。在海龟作图中,有图章命令可以实现这个功能。相比在scratch语言中简单的图章命令。

python中的图章功能功能更丰富,可以实现更佳的动画效果。基本原因就是蛇碰到食物就多盖一个章,并清除最开始盖的第一个章,这样看起来就有种蛇越来越长的效果。

#下面是python贪吃蛇小游戏源代码示例:

  
""" 067_贪吃蛇小游戏4_得分与结束游戏.py
   本节课制作一个完整的贪吃蛇小游戏。
   
"""
from turtle import *
from time import sleep
from random import randint
from winsound import PlaySound,SND_ASYNC
背景音乐="欢快女唱电音歌曲超嗨.wav"
碰撞声="碰撞声.wav"
小蛇=Turtle()
小蛇.penup()
小蛇.speed(0)                    #让小蛇的速度最快
小蛇.pencolor("white")
小蛇.fillcolor("cyan")
游戏结束=False                   #增加了游戏结束的逻辑变量
得分=0
屏幕=小蛇.getscreen()
屏幕.title("贪吃蛇小游戏")

屏幕宽度=800
屏幕高度=600
屏幕.setup(屏幕宽度,屏幕高度)
屏幕.bgcolor("black")

#设定让贪吃蛇不断地移动的函数。
def 移动小蛇():
    global 游戏结束
    小蛇.clearstamps(1)     #清除最开始盖的第一个章
    小蛇.stamp()            #马上又盖一个章
    小蛇.fd(20)
    #这里是游戏结束的核心代码,以小蛇超出边界做为小蛇死亡。
    if 小蛇.xcor()<(屏幕宽度/2) and 小蛇.xcor()>(-屏幕宽度/2) and 小蛇.ycor()<(屏幕高度/2) and 小蛇.ycor()>(-屏幕高度/2):
        屏幕.ontimer(移动小蛇,10)
    else:
        PlaySound(碰撞声, SND_ASYNC) #异步播放音效
        游戏结束=True
        endGame()


#增加边框代码段
小边=Turtle(visible=False)
小边.pensize(30)
小边.pencolor('red')
小边.fillcolor('red')
小边.setheading(90)
小边.speed(0)
小边.penup()
小边.goto(-屏幕宽度/2,屏幕高度/2)
小边.pendown()
for i in range(2):
    小边.fd(屏幕宽度)
    小边.right(90)
    小边.fd(屏幕高度)
    小边.right(90)

    
#以下是主要增加的代码段
食物=Turtle(visible=False)
食物.penup()
食物.speed(0)
食物.goto(randint(50-屏幕宽度/2,屏幕宽度/2-50),randint(50-屏幕高度/2,屏幕高度/2-50))
食物.pencolor("yellow")
食物.fillcolor("green")
食物.shape("circle")
食物.showturtle()
def 等待小蛇():
    global 得分                      #增加全局变量统计所吃到的食物数量
    if 食物.distance(小蛇.pos())

上面的程序运行后,出现的界面是这样的,中间一个按钮在闪动,单击开始按钮就会有小蛇出来,你需要马上操作它去吃食物,否则小蛇碰到边缘就会死掉。

少儿python编程培训预订开始,单击链接享受优惠:https://item.taobao.com/item.htm?id=544061935133

程序运行后视频演示:

李兴球

李兴球的博客是Python创意编程原创博客