带坏苹果的PyGame wormy线程

2024-09-30 20:22:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用PyGame开发一个小wormy程序。我有一只虫子在吃苹果,每次吃苹果都会长大。当它遇到自己的尾巴,或者一扇窗户,它就会“游戏结束”。 我想在随机的时间里加上毒苹果。这些苹果出现在屏幕上的任何地方,一些还没有被苹果占据的地方。相反,好的苹果一次出现一个。当虫子吃了一个苹果,它就会一个一个地长出来,屏幕上就会出现另一个苹果。所以,我想我应该把坏苹果的生产分开来。不过,我想有机会获得职位等。。。在主线中的坏苹果,所以当遇到坏苹果时,虫子就会死。在

你知道怎么写吗?在

我想把这个放在主要位置()

# Start bad apples thread
threading.Thread(target=badApples).start()

因此main()的结果如下:

^{pr2}$

(代码大多来自http://inventwithpython.com/

一个目标方法从

def badApples():
    time.sleep(random.randint(200,500))
    badApple = getRandomLocation()

但如何在主线程中恢复坏苹果的位置,以删除蠕虫?在

谢谢和问候


Tags: 程序苹果游戏屏幕地方时间pygame主线
1条回答
网友
1楼 · 发布于 2024-09-30 20:22:31

你绝对不必为此使用线程。当你在控制你的游戏循环时,你可以安排一个坏苹果的创建(使用某种倒计时)。在

创建一个变量,该变量将存储一个值,该值指示新的坏苹果何时出现,以及已创建坏苹果的列表。在

def get_bad_apple_time():
    # create a bad apple every 5 to 15 seconds
    # assuming your FPS is 60 
    return random.randrange(5, 16) * 60 

#  all bad apple coordinates go here
bad_apples = []  

# timeout until the next bad apple shows up
next_bad_apple = get_bad_apple_time()

在主循环中,减少next_bad_apple的值。如果它达到0,那么创建一个坏苹果,然后重新开始。在

^{pr2}$

相关问题 更多 >