Exemplo n.º 1
0
func (i Ingredient) genome(materials material.MaterialSlice) string {
	materialIndex := materials.Index(i.Material)
	gradeS := fmt.Sprintf("%d", i.Grade.Index())
	amountS := fmt.Sprintf("%d", i.Quantity)
	numLength := strconv.FormatInt(int64(len(strconv.FormatInt(int64(len(materials)), 10))), 10)
	materialIndexS := fmt.Sprintf("%0"+numLength+"d", materialIndex)

	useIndex := 0
	for k, use := range i.Material.Uses {
		if use == i.Use {
			useIndex = k
			break
		}
	}

	useIndexS := fmt.Sprintf("%02d", useIndex)

	return materialIndexS + gradeS + amountS + useIndexS
}