欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python倒计时代码turtle,Python乌龟:开始倒计时得到斯图

发布时间:2024/1/1 python 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python倒计时代码turtle,Python乌龟:开始倒计时得到斯图 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我正在做一个躲避游戏,在这个游戏中,乌龟(形状像乌龟)必须避开其他海龟(形状像鳄鱼)。我得到了游戏工作,但正在尝试添加一个倒计时游戏开始前,去3,2,1,去!在

我的想法是,自从倒数计时后,我的数字变为3,2,1,然后走!,我可以让它在游戏的其余部分之前出现,方法是让所有其他内容都依赖于倒数计时的值“GO!”。在

然而,现在,当我启动程序时,它会被卡在3,更新间隔之后会重新开始,而不是继续执行2、1和GO!所以比赛不能开始。在

我见过很多关于堆栈溢出的问题,这些问题都与运行计时器和与游戏并发的东西有关,但我需要在游戏开始之前发生。在import turtle

import random

import pygame

window_height = 600

window_width = 600

update_interval = 25

countdown_number = 3

river_width = 400

minimum_river_width = 200

border_height = 600

river_width_update = 0.5

safe_distance_from_border = border_height / 2 + 3

number_of_enemies = 10

enemies = []

enemy_speeds = []

enemy_width = 100

enemy_height = 40

enemy_speed_min, enemy_speed_max = 10, 20

safe_distance_from_enemy = 15

def startgame():

global countdown_number

if countdown_number >= 1:

turtle.home()

turtle.left(270)

turtle.clear()

turtle.speed(0)

for _ in range(0,100,5):

turtle.forward(1)

turtle.color("grey"+str(_))

turtle.write(countdown_number, align="center", font=("Arial", 200, "normal"))

if countdown_number == 0:

countdown_number = "GO!"

turtle.home()

turtle.left(270)

turtle.clear()

turtle.speed(0)

for _ in range(0,100,5):

turtle.forward(1)

turtle.color("grey"+str(_))

turtle.write(countdown_number, align="center", font=("Arial", 200, "normal"))

turtle.clear()

#print(number)

def gameover(msg):

print(msg) # Probably comment this out later

turtle.home()

turtle.write(msg, align="center", font=("Arial", 24, "normal"))

def moveplayerturtle(x, y):

if x > -window_width / 2 and x < window_width / 2:

turtle.goto(x, y)

def updatescreen():

global river_width

global countdown_number

if countdown_number != "GO!":

startgame()

if countdown_number == "GO!":

if upper_river_border.ycor() >= window_height-200:

upper_river_border.sety(upper_river_border.ycor() - river_width_update)

if lower_river_border.ycor() <= -window_height+200:

lower_river_border.sety(lower_river_border.ycor() + river_width_update)

if upper_river_border.ycor() - turtle.ycor() < safe_distance_from_border:

gameover("Game over!")

return

if turtle.ycor() - lower_river_border.ycor() < safe_distance_from_border:

gameover("Game over!")

return

for i in range(number_of_enemies):

enemies[i].forward(enemy_speeds[i])

if enemies[i].xcor() > (window_width+enemy_width)/2:

x = -(window_width+enemy_width)/2

y = int(turtle.ycor())

enemies[i].goto(x, y)

s=1

enemy_speeds[i]=int(random.randrange(10+s, 20+s))

if turtle.distance(enemies[i]) < safe_distance_from_enemy:

gameover("You lose!")

return

turtle.ontimer(updatescreen, update_interval)

turtle.update()

turtle.setup(window_width, window_height) # Set the window size

turtle.bgcolor("DarkBlue")

turtle.tracer(False)

upper_river_border = turtle.Turtle()

upper_river_border.up()

lower_river_border = turtle.Turtle()

lower_river_border.up()

upper_river_border.shape("square")

lower_river_border.shape("square")

upper_river_border.color("DarkOrange4")

lower_river_border.color("DarkOrange4")

upper_river_border.shapesize(30, 40)

lower_river_border.shapesize(30, 40)

upper_river_border.sety((border_height + river_width) / 2)

lower_river_border.sety(-(border_height + river_width) / 2)

turtle.addshape("crocodile.gif")

for _ in range(number_of_enemies):

enemy = turtle.Turtle()

turtle.addshape("crocodile.gif")

enemy.shape("crocodile.gif")

enemy.up()

x = -(window_width + enemy_width) / 2

y = random.randint(-(river_width-enemy_height)/2, (river_width-enemy_height)/2)

enemy.goto(x, y)

enemies.append(enemy)

enemy_speeds.append(random.randint(enemy_speed_min, enemy_speed_max))

turtle.shape("turtle")

turtle.left(180)

turtle.color("GreenYellow")

turtle.up()

turtle.ondrag(moveplayerturtle)

turtle.ontimer(updatescreen, update_interval)

turtle.done()

当我把倒计时写成自己的程序时,倒计时本身就可以很好地工作了,所以我想它一定是从倒计时序列过渡到游戏循环本身,这才是问题所在。在

任何帮助都将不胜感激。在

总结

以上是生活随笔为你收集整理的python倒计时代码turtle,Python乌龟:开始倒计时得到斯图的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。