Files
recombinator/Creature.gd
T
2019-10-26 17:14:35 +02:00

65 lines
1.5 KiB
GDScript

extends Node
var naampje = "je moeder"
var dna = []
# const DNA_SIZE = 173;
const TRAITS = {
"Arm": [1, 4, 5],
"Leg": [2, 1, 2],
"Head": [1, 2, 2, 2, 1],
"Skin": [3, 3, 3, 3],
"Penis": [2]
}
const TIERS_STRING = "12 3 1 23 12 3 4 51 2 3 4 1 "
const TRAIT_STRING = "Arm Leg Head Skin Penis"
func initialize():
# Make one boolean per thing we need
for i in range(TRAITS.size()):
for j in range(TRAITS.values()[i].size()):
for x in range(TRAITS.values()[i][j]):
if randf() > 0.1:
dna.append(false)
else:
dna.append(true)
func sum(a):
var sum = 0
for i in range(a.size()):
sum += a[i]
return sum
func describe():
var TRAIT_DESC = "Has a %s trait of tier %d."
var LATENT_DESC = " latent tier %d trait."
var d = 0
var found_trait = false
for i in range(TRAITS.size()):
found_trait = false
for j in range(TRAITS.values()[i].size()):
for x in range(TRAITS.values()[i][j]):
if !found_trait && dna[d]:
print(TRAIT_DESC % [TRAITS.keys()[i], j+1])
found_trait = true
elif found_trait && dna[d]:
print(LATENT_DESC % [j+1])
d += 1
var strand = ""
for i in range(dna.size()):
if dna[i]:
strand += "1"
else:
strand += "0"
print(strand)
print(TIERS_STRING)
print(TRAIT_STRING)
get_node("InfoScreen/Viewport/Control/Description").text = (strand)
func _ready():
initialize()
# print(dna.size())
describe()
#Register the selection event
get_node("Area").connect('input_event', get_parent(), 'select_a_bitch', [get_index()])
pass