贪吃蛇小游戏的核心代码在于如何让蛇吃一个食物身体就变长。在海龟作图中,有图章命令可以实现这个功能。相比在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
程序运行后视频演示:
发表评论