О себе…
Привет, Хабр.
Я студент, учусь по направлению — Информационные системы и технологии. За первый год обучения я получил -> «Почти ничего». Самое крутое, что я приобрел за год пребывания в ВУЗе — это общение с Разными людьми. Каждый имел своё мнение и свои взгляды на вещи. И это был единственный плюс. Когда у нас пошли пары по программированию, которые я очень сильно ждал, мне стало очень Плохо. Увидев то, как преподаватель предсмертного возраста объясняет нам Азы Python3, мне хотелось уйти.
После, как у многих было, я перестал ходить почти на все лекции, потому что уровня знаний python мне хватало, для того чтобы сделать за день все лабораторные работы. И после этого я начал тухнуть на глазах. Отдел, который занимался записью студентов на курсы по ИТ направлению кормил всех завтраками, и я не исключение. Никто ничего не обязан вам в универе. А об выполнение своих рабочих обязанностей все преподаватели забыли напрочь.
Чем же я занимался всё свободное время
Так как на большинство пар я не ходил, я начал искать курсы и гайды в интернете. YouTube крутая штука, но уже много мусора в себе держит. За пару недель я нашел себе занятия:
-
Я начал рисовать, фотографировать эти рисунки и доводить до ума в GIMP!
-
Писал парсеры, программы которые загружали контент с сайта.
-
Сделал минималистичный поисковик для telegra.ph, было прикольно.
-
Написал свою первую и интересную как для меня так и для одногрупника и преподавателя, уже по другому предмету, программу. Есть такая вещь — DB Browser for SQLite. Я написал похожую программу на Python3, Tkinter и SQLite3. Велосипед, но хочется.
-
Писал скрипты для сортировки файлов в директории «Загрузка».
-
Калькуляторы для ВышМата и физики, которые у нас уже во всю шлю плотным графиком( termux помог очень сильно, когда обычный интерпритатор на телефоне не мог скачать нужный модуль)
-
И конечно как же без BackDoor-ов, KeyLogger-ов и скриптов для перезагрузки системы, когда надоедливый сосед начинает играть в FIFA с включенными колонками.
И вот момент истины.
Я начал искать информацию по Текстовым Квестам. Её много, но вся она состоит из обзоров движков или длинных цепей IF — ELIF — ELSE. Я не претендую, я просто захотел и попробовал реализовать за час минималистичный рабочий псевдодвижок для текстового квеста.
Первое, что меня сразу затормозило — это то, как мне связать основные тексты и ответы к которым они привязаны. Я построил схему и попытался из неё что-то увидеть, прям как художник, который ищет свою музу.

Затем я написал это. Реализация переходов между ответами и их содержимым.
# Добавляем в конец id_line значение answer if answer == "1": id_line = id_line + ".1" elif answer == "2": id_line = id_line + ".2" elif answer == "3": id_line = id_line + ".3"
После я подключил модуль SQLite.
import sqlite3 conn = sqlite3.connect("dialogs.db") cursor = conn.cursor() TEXT = cursor.execute(f"SELECT text FROM mainT WHERE id_line = '{id_line}'").fetchone() ANSWERS = cursor.execute(f"SELECT answers FROM mainT WHERE id_line = '{id_line}'").fetchone()
Конечный вид исходника «Игры»:
import sys import sqlite3 conn = sqlite3.connect("dialogs.db") cursor = conn.cursor() id_line = "0" while True: TEXT = cursor.execute(f"SELECT text FROM mainT WHERE id_line = '{id_line}'").fetchone() ANSWERS = cursor.execute(f"SELECT answers FROM mainT WHERE id_line = '{id_line}'").fetchone() print(*TEXT) print(*ANSWERS) answer = input("> ") if answer == "1": id_line = id_line + ".1" elif answer == "2": id_line = id_line + ".2" elif answer == "3": id_line = id_line + ".3" elif answer == "quit": sys.exit() # на случай, если введено заначение отличное от 1, 2, 3 или quit. else: print(f"Такого варианта нет.(Error: {answer})") continue
Вид БД:
CREATE TABLE "mainT" ( "id_line"TEXT NOT NULL, "text"TEXT NOT NULL, "answers"TEXT NOT NULL )

Результат:

Заключение
Этот пост написан как стартовый для меня в этом направлении. Выше сказанным я хотел показать, что:
-
Универ не всегда дает то, в чём ты можешь нуждаться.
-
Универ — место для общения и поиска единомышленников.
-
Для меня и многих людей, которые меня окружают, делать всё просто так — это норма. Хочешь делать — делай!
-
Движки для «Текстовых Игр» существуют, их не мало и не так уж и много. Но написание игры без вспомогательных технологий это интереснее и не так уж и сложно. Хоть времена когда ты пишешь функцию для чего-либо с нуля уже прошли, всё равно к этому тянет. Мне кажется люди забывают о трудностях и переходят на легкий уровень жизни.
Спасибо за внимание. Буду очень рад любому совету и наверное напутствию.
ссылка на оригинал статьи https://habr.com/ru/post/682624/
Добавить комментарий