Reorg to use dict length as parameters
parent
40ad3f64ed
commit
718f64f90d
119
botany.py
119
botany.py
|
@ -48,58 +48,6 @@ import threading
|
|||
|
||||
|
||||
class Plant:
|
||||
def __init__(self):
|
||||
self.stage = 0
|
||||
self.mutation = 0
|
||||
self.species = random.randint(0,5)
|
||||
self.color = random.randint(0,10)
|
||||
self.rarity = self.rarity_check()
|
||||
|
||||
def rarity_check(self):
|
||||
# todo: split this by math not literals
|
||||
CONST_RARITY_MAX = 256.0
|
||||
rare_seed = random.randint(1,CONST_RARITY_MAX)
|
||||
common_range = round((2/3)*CONST_RARITY_MAX)
|
||||
uncommon_range = round((2/3)*(CONST_RARITY_MAX-common_range))
|
||||
rare_range = round((2/3)*(CONST_RARITY_MAX-common_range-uncommon_range))
|
||||
legendary_range = round((2/3)*(CONST_RARITY_MAX-common_range-uncommon_range-rare_range))
|
||||
godly_range = round((2/3)*(CONST_RARITY_MAX-common_range-uncommon_range-rare_range-legendary_range))
|
||||
|
||||
# print common_range, uncommon_range, rare_range, legendary_range, godly_range
|
||||
|
||||
common_max = common_range
|
||||
uncommon_max = common_max + uncommon_range
|
||||
rare_max = uncommon_max + rare_range
|
||||
legendary_max = rare_max + legendary_range
|
||||
godly_max = legendary_max + godly_range
|
||||
|
||||
# print common_max, uncommon_max, rare_max, legendary_max, godly_max
|
||||
if 0 <= rare_seed <= common_max:
|
||||
rarity = 0
|
||||
elif common_max < rare_seed <= uncommon_max:
|
||||
rarity = 1
|
||||
elif uncommon_max < rare_seed <= rare_max:
|
||||
rarity = 2
|
||||
elif rare_max < rare_seed <= legendary_max:
|
||||
rarity = 3
|
||||
elif legendary_max < rare_seed <= CONST_RARITY_MAX:
|
||||
rarity = 4
|
||||
return rarity
|
||||
|
||||
def growth(self):
|
||||
if self.stage < 6:
|
||||
self.stage += 1
|
||||
# do stage growth stuff
|
||||
CONST_MUTATION_RARITY = 9
|
||||
mutation_seed = random.randint(0,CONST_MUTATION_RARITY)
|
||||
if mutation_seed == CONST_MUTATION_RARITY:
|
||||
mutation = random.randint(0,3)
|
||||
if self.mutation == 0:
|
||||
self.mutation = mutation
|
||||
else:
|
||||
# do stage 5 stuff (after fruiting)
|
||||
1==1
|
||||
def parse_plant(self):
|
||||
stage_dict = {
|
||||
0: 'seed',
|
||||
1: 'seedling',
|
||||
|
@ -136,7 +84,7 @@ class Plant:
|
|||
0: 'poppy',
|
||||
1: 'cactus',
|
||||
2: 'aloe',
|
||||
3: 'rose',
|
||||
3: 'venus flytrap',
|
||||
4: 'cherry tree',
|
||||
5: 'fern',
|
||||
}
|
||||
|
@ -144,21 +92,72 @@ class Plant:
|
|||
mutation_dict = {
|
||||
0: '',
|
||||
1: 'humming',
|
||||
2: 'poisonous',
|
||||
2: 'noxious',
|
||||
3: 'vorpal',
|
||||
4: 'glowing'
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
self.stage = 0
|
||||
self.mutation = 0
|
||||
self.species = random.randint(0,len(self.species_dict)-1)
|
||||
self.color = random.randint(0,len(self.mutation_dict)-1)
|
||||
self.rarity = self.rarity_check()
|
||||
|
||||
def rarity_check(self):
|
||||
CONST_RARITY_MAX = 256.0
|
||||
rare_seed = random.randint(1,CONST_RARITY_MAX)
|
||||
common_range = round((2/3)*CONST_RARITY_MAX)
|
||||
uncommon_range = round((2/3)*(CONST_RARITY_MAX-common_range))
|
||||
rare_range = round((2/3)*(CONST_RARITY_MAX-common_range-uncommon_range))
|
||||
legendary_range = round((2/3)*(CONST_RARITY_MAX-common_range-uncommon_range-rare_range))
|
||||
godly_range = round((2/3)*(CONST_RARITY_MAX-common_range-uncommon_range-rare_range-legendary_range))
|
||||
|
||||
# print common_range, uncommon_range, rare_range, legendary_range, godly_range
|
||||
|
||||
common_max = common_range
|
||||
uncommon_max = common_max + uncommon_range
|
||||
rare_max = uncommon_max + rare_range
|
||||
legendary_max = rare_max + legendary_range
|
||||
godly_max = legendary_max + godly_range
|
||||
|
||||
# print common_max, uncommon_max, rare_max, legendary_max, godly_max
|
||||
if 0 <= rare_seed <= common_max:
|
||||
rarity = 0
|
||||
elif common_max < rare_seed <= uncommon_max:
|
||||
rarity = 1
|
||||
elif uncommon_max < rare_seed <= rare_max:
|
||||
rarity = 2
|
||||
elif rare_max < rare_seed <= legendary_max:
|
||||
rarity = 3
|
||||
elif legendary_max < rare_seed <= CONST_RARITY_MAX:
|
||||
rarity = 4
|
||||
return rarity
|
||||
|
||||
def growth(self):
|
||||
if self.stage < 7:
|
||||
self.stage += 1
|
||||
# do stage growth stuff
|
||||
CONST_MUTATION_RARITY = 9 # Increase this # to make mutation rarer (chance 1 out of x)
|
||||
mutation_seed = random.randint(0,CONST_MUTATION_RARITY)
|
||||
if mutation_seed == CONST_MUTATION_RARITY:
|
||||
mutation = random.randint(0,len(self.mutation_dict)-1)
|
||||
if self.mutation == 0:
|
||||
print rarity_dict[self.rarity] +" "+ color_dict[self.color] +" "+ stage_dict[self.stage] +" "+ species_dict[self.species]
|
||||
self.mutation = mutation
|
||||
else:
|
||||
print rarity_dict[self.rarity] +" "+ mutation_dict[self.mutation] +" "+ color_dict[self.color] +" "+ stage_dict[self.stage] +" "+ species_dict[self.species]
|
||||
# do stage 5 stuff (after fruiting)
|
||||
1==1
|
||||
def parse_plant(self):
|
||||
if self.mutation == 0:
|
||||
print self.rarity_dict[self.rarity] +" "+ self.color_dict[self.color] +" "+ self.stage_dict[self.stage] +" "+ self.species_dict[self.species]
|
||||
else:
|
||||
print self.rarity_dict[self.rarity] +" "+ self.mutation_dict[self.mutation] +" "+ self.color_dict[self.color] +" "+ self.stage_dict[self.stage] +" "+ self.species_dict[self.species]
|
||||
|
||||
if __name__ == '__main__':
|
||||
my_plant = Plant()
|
||||
print my_plant.stage, my_plant.species, my_plant.color, my_plant.rarity
|
||||
while my_plant.stage < 6:
|
||||
print my_plant.stage, my_plant.species, my_plant.color, my_plant.rarity, my_plant.mutation
|
||||
while my_plant.stage < 7:
|
||||
raw_input("...")
|
||||
my_plant.growth()
|
||||
my_plant.parse_plant()
|
||||
|
||||
my_plant.growth()
|
||||
print "end"
|
||||
|
|
Loading…
Reference in New Issue