Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # /usr/bin/python
- # coding: utf-8
- # Bademus Arcarius. В помощь графоману
- # "Карманный компьютер фантаста" Станислава Лема
- import random
- def addtoout(output, add):
- output = output + add
- return output
- def flip_coin():
- return random.choice([True, False])
- main_flag = True
- print(
- "Генератор сюжетов научной фантастики, которую не одобряет Станислав Лем.")
- while main_flag:
- output = ""
- end_flag = False
- while end_flag == False:
- beginning = random.choice(
- ["Земля ", "Учёные ", "Земля подвергается нашествию "])
- output = addtoout(output, beginning)
- if beginning == "Земля ":
- fast_death = random.choice([
- "сгорает ", "замерзает ", "падает на Солнце ",
- "сталкивается с огромной кометой "
- ])
- output = addtoout(output, fast_death)
- fast_death_end = random.choice(
- ["и все гибнут. КОНЕЦ", "и почти все гибнут. КОНЕЦ"])
- output = addtoout(output, fast_death_end)
- end_flag = True
- break
- elif beginning == "Учёные ":
- discover = random.choice(["открывают ", "создают "])
- output = addtoout(output, discover)
- #учёные или нашествие (общий путь) ->
- invader = random.choice([
- "инопланетян ", "насекомых ", "роботов ", "рептилий ",
- "множества различных странных вещей "
- ])
- output = addtoout(output, invader)
- size = random.choice(["маленького размера", "огромного размера"])
- output = addtoout(output, size)
- output = addtoout(output, ", которые ")
- if flip_coin():
- first_div_end_good = "ведут себя дружелюбно. КОНЕЦ"
- output = addtoout(output, first_div_end_good)
- end_flag = True
- break
- #не ведут себя дружелюбно ->
- first_div = random.choice([
- "воспринимают нас как пищу, ", "желают наших женщин, ",
- "ведут себя дружелюбно, но никто их не понимает, ",
- "отлично понимают нас, ", "не понимают нас, "
- ])
- output = addtoout(output, first_div)
- if first_div == "воспринимают нас как пищу, ":
- if flip_coin():
- first_div_end_death = "и съедают нас. КОНЕЦ"
- output = addtoout(output, first_div_end_death)
- end_flag = True
- break
- elif first_div == "желают наших женщин, ":
- if flip_coin():
- first_div_end_women = "похищают их и исчезают. КОНЕЦ"
- output = addtoout(output, first_div_end_women)
- end_flag = True
- break
- #не съедают и не похищают ->
- #радиоактивны или нет
- if flip_coin():
- output = addtoout(output, "и ещё к тому же радиоактивны, ")
- second_div = random.choice([
- "при этом они могут быть уничтожены ",
- "при этом они не могут быть уничтожены "
- ])
- output = addtoout(output, second_div)
- if second_div == "при этом они могут быть уничтожены ":
- deliverance = random.choice([
- "атомной бомбой, ", "армией, флотом или авиацией, ",
- "толпой с вилами и факелами, "
- ])
- output = addtoout(output, deliverance)
- output = addtoout(output,
- "и сим уничтожаются ко всеобщей радости. КОНЕЦ")
- end_flag = True
- break
- #не могут быть уничтожены ->
- deliverance = random.choice([
- "атомной бомбой, ", "армией, флотом или авиацией, ",
- "толпой с вилами и факелами, "
- ])
- output = addtoout(output, deliverance)
- death = flip_coin()
- if death:
- final_death = random.choice([
- "и поэтому они съедают нас. КОНЕЦ",
- "и поэтому они убивают нас. КОНЕЦ",
- "и поэтому они устанавливают диктатуру. КОНЕЦ",
- "но они умирают от чёрной оспы. КОНЕЦ"
- ])
- output = addtoout(output, final_death)
- end_flag = True
- break
- else:
- science = flip_coin()
- if science:
- output = addtoout(output,
- "но учёные изобретают новое оружие, ")
- science_works = flip_coin()
- if science_works:
- science_good_end = random.choice([
- "которое их убивает. КОНЕЦ",
- "которое превращает их в мерзкие глыбы. КОНЕЦ"
- ])
- output = addtoout(output, science_good_end)
- end_flag = True
- break
- else:
- final_death = random.choice([
- "и поэтому они съедают нас. КОНЕЦ",
- "и поэтому они убивают нас. КОНЕЦ",
- "и поэтому они устанавливают диктатуру. КОНЕЦ",
- "но они умирают от чёрной оспы. КОНЕЦ"
- ])
- output = addtoout(output, final_death)
- end_flag = True
- break
- else:
- femme_fatale = flip_coin()
- if femme_fatale:
- femme_fatale_end = "но влюбляются в красивую девушку, женятся и живут долго и счастливо. КОНЕЦ"
- output = addtoout(output, femme_fatale_end)
- end_flag = True
- break
- else:
- final_good_choice = random.choice([
- "но один хитрый парень убеждает их, что люди ОК ",
- "но священник рассказывает им о Боге "
- ])
- final_good_end = random.choice([
- "и они улетают. КОНЕЦ", "и они умирают. КОНЕЦ",
- "и они превращаются в мерзкие глыбы. КОНЕЦ"
- ])
- output = addtoout(output, final_good_choice)
- output = addtoout(output, final_good_end)
- end_flag = True
- break
- end_flag = True
- print(output)
- input_flag = input(
- "Нажмите ENTER для генерации ещё одного сюжета или введите 1 для выхода: "
- )
- if input_flag == "1":
- main_flag = False
Advertisement
Add Comment
Please, Sign In to add comment