RingGenerator Py
RingGenerator Py
color_tex_shown = False
shape_tex_shown = False
segment_list = []
state = 0
while True:
if state == 0:
part_type = input("Part_type (fuel tank/fairing): ").lower()
if part_type == "fuel tank":
state = 1
elif part_type == "fairing":
state = 1
else:
print("Input must be 'fuel tank' or 'fairing'!")
state = 0
elif state == 1:
try:
ring_x = float(input("Ring X: "))
state = 2
except ValueError:
print("Input must be a number!")
elif state == 2:
try:
ring_y = float(input("Ring Y: "))
state = 3
except ValueError:
print("Input must be a number!")
elif state == 3:
try:
inner_diameter = float(input("Diameter: "))
inner_radius = inner_diameter / 2
state = 4
except ValueError:
print("Input must be a number!")
elif state == 4:
try:
segment_w = float(input("Ring width: "))
state = 5
except ValueError:
print("Input must be a number!")
elif state == 5:
try:
color_tex = color_textures[input("Color texture: ").lower()]
state = 6
except KeyError:
if not color_tex_shown:
for i in color_textures:
print(" ", color_textures[i])
color_tex_shown = True
else:
print("Input must be valid texture")
elif state == 6:
try:
shape_tex = shape_textures[input("Shape texture: ").lower()]
state = 7
except KeyError:
if not shape_tex_shown:
for i in shape_textures:
print(" ", shape_textures[i])
shape_tex_shown = True
else:
print("Input must be a valid texture")
elif state == 7:
try:
segment_angle_increment = float(input("Segment angle increments
(degrees): "))
if 360 % segment_angle_increment == 0:
state = 8
else:
print("Number must be a divisor of 360!")
state = 7
except ValueError:
print("Input must be a number!")
elif state == 8:
reverse_texture = input("Reverse ring shading (yes/no)? ")
if reverse_texture == "yes":
reverse_texture = True
state = 9
elif reverse_texture == "no":
reverse_texture = False
state = 9
else:
print("Input must be 'yes' or 'no'!")
state = 8
elif state == 9:
write_blueprint = input("Write blueprint file (yes/no)? ")
if write_blueprint == "yes":
write_blueprint = True
break
elif write_blueprint == "no":
write_blueprint = False
break
else:
print("Input must be 'yes' or 'no'!")
state = 9
if segment == 0:
segment += 1
segment_angle_1 = 0
segment_angle_1 = segment_angle_2
root_segment_x = part_x
root_segment_y = part_y
if not write_blueprint:
for i in segment_list:
print_part(i[0], i[1], i[2], i[3], i[4])
elif write_blueprint:
blueprint_file = open("Blueprint.txt", "w+")
blueprint_file.write("""{
"center": 9.0,
"offset": {
"x": 0.0,
"y": 0.0
},
"parts": [
""")
for i in segment_list:
write_part(i[0], i[1], i[2], i[3], i[4], blueprint_file)
blueprint_file.write(""" ],
"stages": []
}""")
blueprint_file.close()