Untitled

 avatar
unknown
python
a month ago
11 kB
3
Indexable
info = {}

intro = 'Год 2147. Ты живёшь в Городе Будущего — высокотехнологичном мегаполисе, полностью контролируемом Искусственным Интеллектом «Синтез». Здесь нет преступности, хаоса или ошибок… но и свободы тоже нет. Каждый твой шаг отслеживается, эмоции подавляются, а мысли предопределены алгоритмами. Ты мечтаешь о побеге. Говорят, за пределами города есть мир, где люди живут по собственным правилам. Но выбраться отсюда практически невозможно: стены города охраняются дронами, выходы контролируются биометрическими сканерами, а любой подозрительный человек может быть мгновенно «перепрограммирован». Сегодня твой шанс. У тебя есть план, но какой путь выбрать?'

print(intro)
info[f'(event {len(info) + 1}) system'] = intro

first_choice = 'Как ты будешь пытаться сбежать? (Введите число от 1 до 3)\n1.	Через канализацию – незаметный путь, но неизвестно, куда он ведёт.\n2.	Взломать систему и получить фальшивый пропуск – опасный, но умный ход.\n3.	Попробовать угнать дрон и перелететь стену – быстро, но рискованно.'

print(first_choice)
info[f'(event {len(info) + 1}) system'] = first_choice

choices_info_2 = 'Что будешь делать дальше? (Введите 1 или 2)'
warning_info_2 = 'Нужно ввести число 1 или 2'
warning_info_5 = 'Нужно ввести число от 1 до 5'

a_choice = 'Ты пробираешься в нижние уровни города, где давно забытые трубы ведут в неизвестность.'
a_choices = '1.	Следовать по карте, найденной в старых архивах\n2.	Двигаться наугад, доверяя интуиции'

a_finish_1 = 'Ты точно следуешь карте, находишь секретный тоннель и выходишь за пределы города.\n(Лучшая концовка: ты на свободе и находишь поселение выживших за городом.)'
a_finish_2 = 'Ты теряешься в бесконечных туннелях и случайно активируешь старую систему защиты. Стены смыкаются…\n(Плохая концовка: ты погибаешь в ловушке.)'

b_uids = {
    'Саша': '25 лет, программист',
    'Дима': '30 лет, слесарь',
    'Никита': '42 года, учитель',
    'Максим': '28 лет, дизайнер',
    'Ярослав': '37 лет, уборщик'
}

b_uid = 'Твоя новая личность: '

b_choice1 = 'Ты находишь старый терминал, взламываешь его и теперь тебе нужно создать фальшивую личность. Выбери одну из следующих'
b_choice2 = 'Теперь у тебя есть пропуск для выхода из города.'
b_choices = '1.	Попробовать пройти через главный контрольно-пропускной пункт\n2.	Использовать поддельные данные, чтобы прокрасться на грузовой поезд'

b_finish_1 = 'Охранники замечают несоответствие в данных. Автоматическая система объявляет тревогу. Тебя задерживают и отправляют на «перепрограммирование»…\n(Плохая концовка: тебя превращают в послушного гражданина.)'
b_finish_2 = 'Твой пропуск срабатывает, и ты пробираешься в поезд. Через несколько часов ты выходишь за пределы города, оказавшись в пустоши.\n(Нейтральная концовка: ты сбежал, но не знаешь, что тебя ждёт дальше.)'

с_arr = [42, 132, 85, 99, 16, 7]

c_err_1 = 'Ты был невнимателен и написал число, которого не было в списке. Придется заново вводить'
c_err_2 = 'Ты ввел неверное количество чисел. Придется заново вводить'
c_err_3 = 'Ты ввел какое-то число более одного раза. Придется заново вводить'
c_choice1 = 'Ты взбираешься на крышу небоскрёба и взламываешь систему управления дронами. Для этого нужно из списка чисел ниже оставить лишь три на твое усмотрение. Введи через запятую без пробелов три числа из списка, которые оставить' 
c_choice2 = 'Взлом удался! Один из дронов теперь под твоим контролем!'
c_choices = '1.	Лететь низко, чтобы остаться незамеченным\n2.	Быстро взлететь и попытаться проскочить через воздушное пространство'

c_finish_1 = 'Ты ловко обманываешь радары и незаметно покидаешь город. Тебе удаётся приземлиться в лесу за пределами стены.\n(Лучшая концовка: ты свободен и готов начать новую жизнь.)'
c_finish_2 = 'Ты быстро взмываешь в небо, но автоматическая система защиты сбивает дрон. Ты падаешь…\n(Плохая концовка: попытка побега провалилась.)'

choice = 0
while choice not in (1, 2, 3):
    choice = int(input())
    info[f'(event {len(info) + 1}) player'] = str(choice)
    if choice not in (1, 2, 3):
        print('Нужно ввести число 1, 2 или 3')
        info[f'(event {len(info) + 1}) system'] = 'Нужно ввести число 1, 2 или 3'

if choice == 1:
    print(a_choice)
    info[f'(event {len(info) + 1}) system'] = a_choice
    print(choices_info_2)
    info[f'(event {len(info) + 1}) system'] = choices_info_2
    print(a_choices)
    info[f'(event {len(info) + 1}) system'] = a_choices
    second_choice = 0
    while second_choice not in (1, 2):
        second_choice = int(input())
        info[f'(event {len(info) + 1}) player'] = str(second_choice)
        if second_choice not in (1, 2):
            print(warning_info_2)
            info[f'(event {len(info) + 1}) system'] = warning_info_2
    
    if second_choice == 1:
        print(a_finish_1)
        info[f'(event {len(info) + 1}) system'] = a_finish_1
    elif second_choice == 2:
        print(a_finish_2)
        info[f'(event {len(info) + 1}) system'] = a_finish_2
elif choice == 2:
    print(b_choice1)
    info[f'(event {len(info) + 1}) system'] = b_choice1
    uids = ''
    i = 1
    for key, item in b_uids.items():
        uids += f'{i}.  {key}: {item}\n'
        i += 1
    print(uids[:-1])
    info[f'(event {len(info) + 1}) system'] = uids[:-1]
    id = 0
    while id not in list(range(1, 6)):
        id = int(input())
        info[f'(event {len(info) + 1}) player'] = str(id)
        if id not in list(range(1, 6)):
            print(warning_info_5)
            info[f'(event {len(info) + 1}) system'] = warning_info_5
    print(b_uid + list(b_uids.items())[id - 1][0])
    info[f'(event {len(info) + 1}) system'] = b_uid + list(b_uids.items())[id - 1][0]
    print(b_choice2)
    info[f'(event {len(info) + 1}) system'] = b_choice2
    print(choices_info_2)
    info[f'(event {len(info) + 1}) system'] = choices_info_2
    print(b_choices)
    info[f'(event {len(info) + 1}) system'] = b_choices
    second_choice = 0
    while second_choice not in (1, 2):
        second_choice = int(input())
        info[f'(event {len(info) + 1}) player'] = str(second_choice)
        if second_choice not in (1, 2):
            print(warning_info_2)
            info[f'(event {len(info) + 1}) system'] = warning_info_2
    
    if second_choice == 1:
        print(b_finish_1)
        info[f'(event {len(info) + 1}) system'] = b_finish_1
    elif second_choice == 2:
        print(b_finish_2)
        info[f'(event {len(info) + 1}) system'] = b_finish_2
elif choice == 3:
    print(c_choice1)
    items = ''
    for item in с_arr:
        items += f'{item} '
    items = items[:-1]
    print(items)
    info[f'(event {len(info) + 1}) system'] = items
    selected = []
    good = False
    while not good:
        has_wrong_number = False
        has_duplicates = False
        for item in list(map(int, input().split(','))):
            if с_arr.count(item) == 0:
                print(c_err_1)
                info[f'(event {len(info) + 1}) system'] = c_err_1
                has_wrong_number = True
                break
            elif selected.count(item) != 0:
                print(c_err_3)
                info[f'(event {len(info) + 1}) system'] = c_err_3
                has_duplicates = True
                break

            selected.append(item)
        
        if has_wrong_number or has_duplicates:
            selected.clear()
            continue

        if len(selected) != 3:
            print(c_err_2)
            info[f'(event {len(info) + 1}) system'] = c_err_2
            selected.clear()
            continue

        good = True
    print(c_choice2)
    info[f'(event {len(info) + 1}) system'] = c_choice2
    print(choices_info_2)
    info[f'(event {len(info) + 1}) system'] = choices_info_2
    print(c_choices)
    info[f'(event {len(info) + 1}) system'] = c_choices
    second_choice = 0
    while second_choice not in (1, 2):
        second_choice = int(input())
        info[f'(event {len(info) + 1}) player'] = second_choice
        if second_choice not in (1, 2):
            print(warning_info_2)
            info[f'(event {len(info) + 1}) system'] = warning_info_2
    
    if second_choice == 1:
        print(c_finish_1)
        info[f'(event {len(info) + 1}) system'] = c_finish_1
    elif second_choice == 2:
        print(c_finish_2)
        info[f'(event {len(info) + 1}) system'] = c_finish_2

with open("story_output.txt", "w", encoding="utf-8") as file:
    for key, item in info.items():
        file.write(f'{key}:\n{item}' + "\n")
Editor is loading...
Leave a Comment