Pygame-从外部类产生多个游戏实例

时间:2018-08-09 02:16:20

标签: python pygame

目前,我正在创建一种用于玩俄罗斯方块的遗传算法,我正在破解的俄罗斯方块应用程序使用Pygame作为其主要引擎。

通过启动单个线程在生成单个游戏时运行遗传算法时,它运行良好。一旦运行该类的副本(正在创建多个线程),就会收到“分段错误”错误。

我将如何解决此问题?我以前从未使用过Pygame,但是它非常需要我制定一个线程,每个线程都在其中运行自己的Pygame。

随时询问更多信息,这是我到目前为止要展示的内容。

get_fitness方法

def get_fitness(participant, pool, index):
    import tetris
    app = tetris.TetrisApp()
    app.run()
    participant.Fitness = 0
    pool[index] = participant

create_children

def create_children(players, evaluation_length, geneset):
participants = [Chromosome([0 for x in range(evaluation_length)], 0) for i in range(players)]
threads = [None] * players
pool = [None] * players
for index, participant in enumerate(participants):
    genes = participant.Genes
    for gene in range(len(genes)):
        genes[gene] = geneset[random.randrange(0, len(geneset))]
    participant.Genes = genes
    threads[index] = Thread(target=get_fitness, args=(participant, pool, index))
    threads[index].start()
for thread in threads:
    thread.join()
return pool

Python版本3.5.2

0 个答案:

没有答案