J'essaye de paralléliser un code en Python mais j'ai quelques problèmes. Ceci est la partie du code:Exécution inattendue de MPI
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
Quand j'appelle d la dernière ligne, il ne devrait pas appeler survivor.movement() définie dans le processus 1? Quand je lance le jeu, mon personnage principal ne bouge pas, comme il est supposé le faire. Mais, quand je supprime d de partout et que je place survivor.movement() dans la dernière ligne, cela fonctionne comme prévu. Quelqu'un pourrait-il m'aider?