def _copy(subfieldids): for i in range(0, len(subfieldids)): org = coaches[subfieldids[i]] if i+1 >= len(subfieldids): j = 0 else: j = i+1 dst = coaches[subfieldids[j]] player = org.copy_rnd_player() geneid = player.get_geneid() if dst.has_player(geneid) == False: player.reset() dst.assign_player(player)
def _mutate_proc(player): idx = random.randint(0, len(range_list)-1) r = range_list[idx] i = iter(r) s = int(next(i)) e = int(next(i)) u = int(next(i)) cnt = (e-s)/u v = (random.randint(0, cnt)*u)+s genelist = player.get_genelist() genelist[idx] = v geneid = _genelist2id(genelist) return geneid