Skip to content

Instantly share code, notes, and snippets.

@miketamis
Created August 9, 2012 07:10
Show Gist options
  • Save miketamis/3301869 to your computer and use it in GitHub Desktop.
Save miketamis/3301869 to your computer and use it in GitHub Desktop.
package net.minecraft.src;
import java.util.Random;
public class TreeGeneStore {
boolean Genes[] = new boolean[2];
Random rnd = new Random();
AetherTreeGeneStore()
{
for(int i = 0; i < Genes.length;i++)
Genes[i] = true;
}
AetherTreeGeneStore mixGenes(AetherTreeGeneStore g)
{
AetherTreeGeneStore newGene = new AetherTreeGeneStore();
for(int i = 1;i < Genes.length/2; i++)
{
newGene.Genes[i*2] = rnd.nextBoolean() ? Genes[i*2]:Genes[(i*2) + 1];
newGene.Genes[(i*2) + 1] = rnd.nextBoolean() ? g.Genes[i*2]:g.Genes[(i*2) + 1];
}
return newGene;
}
boolean getTrait(int number)
{
return (Genes[number*2] ||Genes[(number*2) + 1]);
}
int CoDominanteTrait(int number)
{
if(Genes[number*2]&&Genes[(number*2) + 1])
return 2;
return Genes[number*2] ? 0:1;
}
int getGeneComboNumber() //for saving
{
int derp = 0;
for (int index=0; index<Genes.length; index++) {
derp |= (Genes[index] ? 1:0) << index;
}
SetGenes(derp);
return derp;
}
void SetGenes(int derp) { //for loading
String s = Integer.toBinaryString(derp);
for (int index=0; index<s.length(); index++)
Genes[index] = s.charAt(index) =='1';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment