life cycle and mutations complete
commit
c843c28fe4
|
@ -0,0 +1,147 @@
|
|||
import pickle
|
||||
import time
|
||||
import curses
|
||||
import json
|
||||
import math
|
||||
import os.path
|
||||
import random
|
||||
import threading
|
||||
|
||||
# ideas go here
|
||||
# lifecycle of a plant
|
||||
# seed -> seedling -> sprout -> young plant -> mature plant -> flower ->
|
||||
# pollination -> fruit -> seeds
|
||||
|
||||
# mutations over time to yield different things? idk
|
||||
# neighboring plants can cross pollinate for different plants
|
||||
# health based on checkups and watering
|
||||
|
||||
# development plan
|
||||
# build plant lifecycle just stepping through
|
||||
# What else should it do during life? growth alone is not all that
|
||||
# interesting.
|
||||
# how long should each stage last ? thinking realistic lmao
|
||||
|
||||
# build time system
|
||||
# build persistence across sessions
|
||||
# build ascii trees
|
||||
# build gui?
|
||||
|
||||
# build multiplayer
|
||||
|
||||
# def display_update:
|
||||
# myscreen = curses.initscr()
|
||||
#
|
||||
# myscreen.border(0)
|
||||
# myscreen.addstr(1, 2, "you've planted a seed")
|
||||
# myscreen.refresh()
|
||||
#
|
||||
# for i in range(1,20):
|
||||
# myscreen.addstr(i, 2, str(i))
|
||||
# time.sleep(1)
|
||||
# myscreen.refresh()
|
||||
#
|
||||
# myscreen.getch()
|
||||
#
|
||||
# curses.endwin()
|
||||
|
||||
|
||||
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
|
||||
rare_seed = random.randint(0,127)
|
||||
if 0<= rare_seed <= 63:
|
||||
rarity = 0
|
||||
elif 64 <= rare_seed <= 95:
|
||||
rarity = 1
|
||||
elif 96 <= rare_seed <= 111:
|
||||
rarity = 2
|
||||
elif 112 <= rare_seed <= 123:
|
||||
rarity = 3
|
||||
elif 124 <= rare_seed <= 127:
|
||||
rarity = 4
|
||||
return rarity
|
||||
|
||||
def growth(self):
|
||||
if self.stage < 6:
|
||||
self.stage += 1
|
||||
# do stage growth stuff
|
||||
MUTATION_RARITY = 9
|
||||
mutation_seed = random.randint(0,MUTATION_RARITY)
|
||||
if mutation_seed == 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',
|
||||
2: 'young',
|
||||
3: 'grown',
|
||||
4: 'mature',
|
||||
5: 'flowering',
|
||||
6: 'fruiting',
|
||||
}
|
||||
|
||||
color_dict = {
|
||||
0: 'red',
|
||||
1: 'orange',
|
||||
2: 'yellow',
|
||||
3: 'green',
|
||||
4: 'blue',
|
||||
5: 'indigo',
|
||||
6: 'violet',
|
||||
7: 'white',
|
||||
8: 'black',
|
||||
9: 'gold',
|
||||
10: 'rainbow',
|
||||
}
|
||||
|
||||
rarity_dict = {
|
||||
0: 'common',
|
||||
1: 'uncommon',
|
||||
2: 'rare',
|
||||
3: 'legendary',
|
||||
4: 'godly',
|
||||
}
|
||||
|
||||
species_dict = {
|
||||
0: 'poppy',
|
||||
1: 'cactus',
|
||||
2: 'aloe',
|
||||
3: 'rose',
|
||||
4: 'cherry tree',
|
||||
5: 'fern',
|
||||
}
|
||||
|
||||
mutation_dict = {
|
||||
0: '',
|
||||
1: 'humming',
|
||||
2: 'poisonous',
|
||||
3: 'vorpal',
|
||||
4: 'glowing'
|
||||
}
|
||||
if self.mutation == 0:
|
||||
print rarity_dict[self.rarity] +" "+ color_dict[self.color] +" "+ stage_dict[self.stage] +" "+ species_dict[self.species]
|
||||
else:
|
||||
print rarity_dict[self.rarity] +" "+ mutation_dict[self.mutation] +" "+ color_dict[self.color] +" "+ stage_dict[self.stage] +" "+ 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:
|
||||
raw_input("...")
|
||||
my_plant.growth()
|
||||
my_plant.parse_plant()
|
||||
|
||||
print "end"
|
Loading…
Reference in New Issue