gpt4 book ai didi

python - MPI 意外执行

转载 作者:行者123 更新时间:2023-12-01 04:37:47 25 4
gpt4 key购买 nike

我正在尝试并行化 Python 中的代码,但遇到了一些问题。这是代码的一部分:

survivor = Survivor(32*2, 32*4)   
if rank == 1:
a = 'audio/zombie_theme.ogg'
b = 'images/dungeon.jpg'
c = 'images/dead.jpg'
d = survivor.movement()
else:
a = None
b = None
c = None
d = None

a = comm.bcast(a, root=1)
b = comm.bcast(b, root=1)
c = comm.bcast(c, root=1)
d = comm.bcast(d, root=1)

if rank == 0:
pygame.mixer.music.load(a)
pygame.mixer.music.play(-1)
pygame.display.set_caption('Zombie Game')
screen = pygame.display.set_mode((display_width,display_height))
Tile.pre_init(screen)
clock = pygame.time.Clock()
dungeon = pygame.image.load(b)

keepPlaying = True
while keepPlaying:

screen.blit(dungeon, (0,0))
Zombie.spawn(total_frames, FPS)
Zombie.update(screen, survivor)
d

当我在最后一行调用d时,它不应该调用进程1中定义的survivor.movement()吗?当我运行游戏时,我的主角没有按照预期移动。但是,当我从任何地方删除 d 并将 Survivor.movement() 放在最后一行时,它会按预期工作。有人可以帮助我吗?

最佳答案

d = survivor.movement

删除花括号。当您编写 d = moving() 时,您实际上将 d 分配给任何运动返回的值,而不是函数本身。

关于python - MPI 意外执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31438189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com