-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeath_eaters_message.py
97 lines (89 loc) · 8.94 KB
/
death_eaters_message.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Инициализация
import sqlite3
connection = sqlite3.connect('users.db')
cursor = connection.cursor()
def main():
# Создание таблицы
cursor.execute('''CREATE TABLE IF NOT EXISTS users_base (
login TEXT NOT NULL,
password TEXT NOT NULL,
text TEXT NOT NULL
)''')
connection.commit()
# Введение
print('''
Вы никогда не любили авантюры и ночной Лондон, но сегодня пришлось сделать исключение.
Именно поэтому теперь Вы идете вперед по едва освещенной узкой улочке и старательно повторяете про себя тайное послание.
Было сыро и холодно, впрочем, как и всегда в это время года, а впереди в небольшом сквере Вы видите три фигуры.''')
choice = input('''
Вы беззвучно выругались. Это определенно Пожиратели Смерти! Никто не говорил Вам, кому именно придется передать сообщение.
Ещё не поздно повернуть назад... Пришло время сделать выбор. Введите "!" чтобы сбежать или "Enter" для того, чтобы иди вперед: ''')
if choice != "!":
print('\nКак только Вы приблизились, мужчины повернулись к Вам и один из них произнес:')
print('- Назовите себя.')
user_login = input('\nЛучше не раздражать Пожирателей, поэтому Вы немедленно отвечаете: ')
row_from_db = cursor.execute('SELECT login FROM users_base WHERE login=?', (user_login,)) # Выборка из базы по логину
if row_from_db.fetchone() is None: # Если выборка пуста, значит такого юзера нет и можно добавить его в базу
spell = input('''
- Никогда о тебе не слышал...
Пожиратели синхронно достали палочки.
- Если ты один из нас, то сможешь вызвать черную метку.
Вы тяжело сглотнули и с ужасом подумали о том, что Вас ждет, если ничего не выйдет. Вы извлекли свою палочку и твердо произнесли: ''').lower()
# spell = spell.lower()
if spell in ('morsmordre', 'мортмордре'):
print('\nИз кончика Вашей палочки вылетел сгусток зеленого огня и в небе над Лондоном снова появился громадный зеленый череп.')
print('- Прекрасное зрелище, но порой черная метка слишком заметна... Выбери пароль для того, чтобы мы могли узнать друг друга.')
user_password = input('Вы решили остановить свой выбор на следующем пароле: ')
print('\n- Подойдет. Я так понимаю, Вы что-то хотели передать Тёмному Лорду?')
user_message = input('Вы утвердительно кивнули и прошептали послание одному из Пожирателей: ')
print('\n- Сообщение будет доставлено. Благодарю за службу Тёмному Лорду, информатор!')
cursor.execute(f'INSERT INTO users_base VALUES(?, ?, ?)', (user_login, user_password, user_message))
connection.commit()
print('''
Пожиратель на мгновение задумался, а затем спросил:
- Если это необходимо, то я мог бы повторить все Ваши сообщения.''')
answer = input('Вы тоже задумались, стоит ли лишний раз напоминать себе о всех тех волшебниках, которых Вы предали? Выбирать только Вам: "+" или "-".')
if answer == "+":
for login, password, text in cursor.execute('SELECT * FROM users_base WHERE login=? AND password=?', (user_login, user_password)):
print('\nВы решительно кивнули. Эти люди хотя бы будут жить в Вашей памяти.')
print('Пожиратель немедленно ответил:')
print('- Информатор ' + login + ' и последнее сообщение: ' + text)
else:
print('Вы отрицательно качнули головой.')
print('Пожиратель понимающе кивнул и удалился.')
else:
print('\nПоследним, что Вы увидели в своей жизни, была ярко-зеленая вспышка света и чей-то властный голос произнес "Авада Кедавра!".')
else: # Такой юзер, скорее всего, уже есть в базе
user_password = input('''
Пожиратель пристально вгляделся в Вас.
- В этом сумраке Вас просто не разглядеть... Я жду пароль: ''')
for login, password, text in cursor.execute('SELECT * FROM users_base WHERE login=?', (user_login,)):
old_user_message = text
if user_password == password:
user_message = input('''
- Неужели ещё одно послание для Тёмного Лорда? Я надеюсь, это действительно что-то важное, иначе Вас могут лишить статуса информатора Тёмного Лорда... Я Вас слушаю: ''')
print('\nСообщение будет доставлено. Благодарю за службу Тёмному Лорду!')
user_message = user_message + ' ранее писал - ' + old_user_message
# Обновляю графу текст, сохраняя старые сообщения
cursor.execute('UPDATE users_base SET text=? WHERE login=? AND password=?', (user_message, user_login, user_password))
connection.commit()
print('''
Пожиратель на мгновение задумался, а затем спросил:
- Если это необходимо, то я мог бы повторить все Ваши сообщения.''')
answer = input('Вы тоже задумались, стоит ли лишний раз напоминать себе о всех тех волшебниках, которых Вы предали? Выбирать только Вам: "+" или "-":')
if answer == "+":
for login, password, text in cursor.execute('SELECT * FROM users_base WHERE login=? AND password=?', (user_login, user_password)):
print('\nВы решительно кивнули. Эти люди хотя бы будут жить в Вашей памяти.')
print('Пожиратель немедленно ответил:')
print('- Информатор ' + login + ' и последнее сообщение: ' + text)
else:
print('\nВы отрицательно качнули головой.')
print('Пожиратель понимающе улыбнулся и направился вглубь сквера, подальше от Вас.')
else:
print('\nПоследним, что Вы увидели в своей жизни, была ярко-зеленая вспышка света и чей-то властный голос произнес "Авада Кедавра!".')
else:
print('''
Только заперев в своем доме дверь на замок, Вы почувствовали облегчение. Приключения - не для Вас, ведь Вы обычный клерк в Министерстве магии и впереди Вас ждет спокойный вечер у камина.''')
if __name__ == "__main__":
main()
connection.close()