意外执行MPI

2024-05-16 02:34:57 发布

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

我正在尝试用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中定义?当我运行游戏时,我的主角并没有像它应该做的那样移动。但是,当我把d从任何地方移走幸存者移动()在最后一行中,它按预期工作。有人能帮我吗?你知道吗


Tags: 代码noneifdisplayrootscreenpygamejpg
1条回答
网友
1楼 · 发布于 2024-05-16 02:34:57
d = survivor.movement

删除大括号。当您编写d=movement()时,实际上是将d赋给movement返回的任何对象,而不是函数本身。你知道吗

相关问题 更多 >