当前位置: 首页>>代码示例>>Java>>正文


Java IGenome.getChromosomes方法代码示例

本文整理汇总了Java中forestry.api.genetics.IGenome.getChromosomes方法的典型用法代码示例。如果您正苦于以下问题:Java IGenome.getChromosomes方法的具体用法?Java IGenome.getChromosomes怎么用?Java IGenome.getChromosomes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在forestry.api.genetics.IGenome的用法示例。


在下文中一共展示了IGenome.getChromosomes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isGeneticEqual

import forestry.api.genetics.IGenome; //导入方法依赖的package包/类
@Override
public boolean isGeneticEqual(IGenome other) {
	IChromosome[] genetics = other.getChromosomes();
	if(chromosomes.length != genetics.length)
		return false;
	
	for(int i = 0; i < chromosomes.length; i++) {
		IChromosome chromosome = chromosomes[i];
		if(chromosome == null && genetics[i] != null)
			return false;
		if(chromosome != null && genetics[i] == null)
			return false;
		if(chromosome == null && genetics[i] == null)
			continue;
		
		if(!chromosome.getPrimaryAllele().getUID().equals(genetics[i].getPrimaryAllele().getUID()))
			return false;
		if(!chromosome.getSecondaryAllele().getUID().equals(genetics[i].getSecondaryAllele().getUID()))
			return false;
	}
	
	return true;
}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:24,代码来源:Genome.java

示例2: mutateSpecies

import forestry.api.genetics.IGenome; //导入方法依赖的package包/类
private IChromosome[] mutateSpecies(IBeeHousing housing, IGenome genomeOne, IGenome genomeTwo) {

		World world = housing.getWorld();

		IChromosome[] parent1 = genomeOne.getChromosomes();
		IChromosome[] parent2 = genomeTwo.getChromosomes();

		IGenome genome0;
		IGenome genome1;
		IAllele allele0;
		IAllele allele1;

		if (world.rand.nextBoolean()) {
			allele0 = parent1[EnumBeeChromosome.SPECIES.ordinal()].getPrimaryAllele();
			allele1 = parent2[EnumBeeChromosome.SPECIES.ordinal()].getSecondaryAllele();

			genome0 = genomeOne;
			genome1 = genomeTwo;
		} else {
			allele0 = parent2[EnumBeeChromosome.SPECIES.ordinal()].getPrimaryAllele();
			allele1 = parent1[EnumBeeChromosome.SPECIES.ordinal()].getSecondaryAllele();

			genome0 = genomeTwo;
			genome1 = genomeOne;
		}

		for (IBeeMutation mutation : BeeManager.breedingManager.getMutations(true)) {
			int chance = 0;

			if ((chance = mutation.getChance(housing, allele0, allele1, genome0, genome1)) > 0)
				if (world.rand.nextInt(100) < chance) {
					IApiaristTracker breedingTracker = BeeManager.breedingManager.getApiaristTracker(world, housing.getOwnerName());
					breedingTracker.registerMutation(mutation);
					return BeeManager.beeInterface.templateAsChromosomes(mutation.getTemplate());
				}
		}

		return null;
	}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:40,代码来源:Bee.java

示例3: mutateSpecies

import forestry.api.genetics.IGenome; //导入方法依赖的package包/类
private IChromosome[] mutateSpecies(World world, int x, int y, int z, IGenome genomeOne, IGenome genomeTwo) {

		IChromosome[] parent1 = genomeOne.getChromosomes();
		IChromosome[] parent2 = genomeTwo.getChromosomes();

		IGenome genome0;
		IGenome genome1;
		IAllele allele0;
		IAllele allele1;

		if (world.rand.nextBoolean()) {
			allele0 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele();
			allele1 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele();

			genome0 = genomeOne;
			genome1 = genomeTwo;
		} else {
			allele0 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele();
			allele1 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele();

			genome0 = genomeTwo;
			genome1 = genomeOne;
		}

		Collections.shuffle(TreeManager.treeMutations);
		for (ITreeMutation mutation : TreeManager.treeMutations) {
			int chance = 0;

			// Stop blacklisted species.
			//if (BeeManager.breedingManager.isBlacklisted(mutation.getTemplate()[0].getUID())) {
			//	continue;
			//}

			if ((chance = mutation.getChance(world, x, y, z, allele0, allele1, genome0, genome1)) > 0)
				if (world.rand.nextInt(100) < chance) {
					//IApiaristTracker breedingTracker = BeeManager.breedingManager.getApiaristTracker(world);
					//breedingTracker.registerMutation(mutation);
					return TreeManager.treeInterface.templateAsChromosomes(mutation.getTemplate());
				}
		}

		return null;
	}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:44,代码来源:Tree.java


注:本文中的forestry.api.genetics.IGenome.getChromosomes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。