dungeon works

This commit is contained in:
sShemet
2025-11-13 13:39:31 +05:00
parent 640d35a993
commit 0a691862cc
29 changed files with 120407 additions and 63 deletions

View File

@@ -0,0 +1,133 @@
import os
import re
import glob
import sys
def get_batch_size():
"""Получает размер батча из аргументов командной строки"""
batch_size = 30 # значение по умолчанию
for arg in sys.argv:
if arg.startswith('--batch='):
try:
batch_size = int(arg.split('=')[1])
print(f"Установлен размер батча: {batch_size}")
except ValueError:
print(f"Неверный аргумент: {arg}, используем значение по умолчанию: 30")
return batch_size
def clean_output_folder():
"""Очищает папку clean_events перед началом работы"""
if os.path.exists("clean_events"):
for file in os.listdir("clean_events"):
file_path = os.path.join("clean_events", file)
try:
if os.path.isfile(file_path):
os.unlink(file_path)
except Exception as e:
print(f"Ошибка при удалении {file_path}: {e}")
print("Папка clean_events очищена")
def read_file_smart(file_path):
"""Читает файл в кодировке UTF-8 или ANSI (windows-1251)"""
try:
# Пробуем UTF-8 сначала
with open(file_path, 'r', encoding='utf-8') as file:
return file.read()
except UnicodeDecodeError:
# Если не получилось, пробуем ANSI
try:
with open(file_path, 'r', encoding='windows-1251') as file:
return file.read()
except Exception as e:
print(f"Ошибка при чтении файла {file_path}: {e}")
return ""
def process_files():
clean_output_folder()
# Глобальный массив для хранения текстовой информации
global_text = []
# Получаем размер батча из аргументов
batch_size = get_batch_size()
# Массив для хранения диапазонов файлов
batch_ranges = []
# Получаем все txt-файлы в текущей папке
txt_files = glob.glob("*.txt")
# Обрабатываем группами по batch_size
for i in range(0, len(txt_files), batch_size):
batch_files = txt_files[i:i+batch_size]
# Сохраняем первый и последний файл батча
batch_ranges.append((batch_files[0], batch_files[-1]))
text_accumulator = ""
for file_name in batch_files:
print(f"Обрабатывается файл: {file_name}")
content = read_file_smart(file_name)
if not content:
continue
# Удаляем всё до -----TEXT SECTION включительно
text_section_match = re.search(r'-----TEXT SECTION\s*', content)
if text_section_match:
content = content[text_section_match.end():]
# Разделяем на строки
lines = content.split('\n')
processed_lines = []
for line in lines:
# Удаляем строки с множественными обратными слешами (более 4-5 подряд)
if re.search(r'\\\\{5,}', line):
processed_lines.append("\n_________")
continue
# Удаляем теги в квадратных скобках, кроме числовых, [name], [surname]
line = re.sub(r'\[(?!\d+\]|name\]|surname\])(.*?)\]', '', line)
processed_lines.append(line)
# Объединяем обработанные строки
processed_content = '\n'.join(processed_lines)
# Добавляем в аккумулятор
text_accumulator += f"-------- FILE: {file_name}\n"
text_accumulator += processed_content + "\n\n"
# Добавляем аккумулятор в global_text и обнуляем
if text_accumulator:
global_text.append(text_accumulator)
# Создаем папку для результатов
os.makedirs("clean_events", exist_ok=True)
# Сохраняем каждый элемент global_text в отдельный файл
for idx, text_content in enumerate(global_text):
if idx < len(batch_ranges):
first_file, last_file = batch_ranges[idx]
# Берем первые 4 символа названий файлов
first_prefix = first_file[:4] if len(first_file) >= 4 else first_file
last_prefix = last_file[:4] if len(last_file) >= 4 else last_file
output_filename = f"cl_event_{first_prefix}-{last_prefix}.txt"
output_path = os.path.join("clean_events", output_filename)
try:
with open(output_path, 'w', encoding='utf-8') as output_file:
output_file.write(text_content)
print(f"Создан файл: {output_path}")
except Exception as e:
print(f"Ошибка при сохранении файла {output_path}: {e}")
if __name__ == "__main__":
process_files()
print("Обработка завершена!")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -26,18 +26,19 @@
\\ the back.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
見事だ。
よくぞここまで辿りついた。
だが次はどうかな?
[EOw][col=yellow]フィレモン[col=white]
ここより先、君は前に向って
走ることしかできない。
無論、止まることもできなくなる。
[EOw][col=yellow]フィレモン[col=white]
LRボタンによる視点切り替えを驱使し、
3分以内に、この迷宮を脱出して欲しい。
[EOw][col=yellow]フィレモン[col=white]
勿論、失畋は許されない。
準備が淯んだら、奥の扉を開けてくれたまえ。
[EOF]
[col=yellow]Филемон[col=white]
Потрясающе.
Вы зашли так далеко.
Но что будущее готовит вам?
[EOw][col=yellow]Филемон[col=white]
С этого момента сможете лишь бежать вперёд.
Естественно, у вас не будет возможности
остановиться на полпути.
[EOw][col=yellow]Филемон[col=white]
Пользуйтесь L1/R1, чтобы поворачивать камеру.
Я хочу, чтобы вы выбрались из лабиринта
за 3 минуты.
[EOw][col=yellow]Филемон[col=white]
Разумеется, я не приму неудачу.
Откройте дверь позади вас, когда будете
готовы.[EOF]

View File

@@ -11,5 +11,4 @@
\\ [green]There is a switch over there.[white]
\\ 061102110311
[0]
[col=green] 向こう側にスイッチが見える。[col=white]
[EOF]
[col=green]Там есть переключатель[col=white].[EOF]

View File

@@ -16,12 +16,12 @@
\\ panther
\\ 0311
[0]
[col=yellow]男の声[col=white]
ここに入りたければ合言葉必要ネ。
あなた合言葉知ってるか?
[EOD]Panther
PANTHER
panther
[col=yellow]Мужской голос[col=white]
Вам нужен пароль, чтобы зайти сюда.
Вы знаете пароль?
[EOD][input]Пантера
ПАНТЕРА
пантера
[EOD3]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ [yellow]Man's Voice[white]
@@ -30,13 +30,12 @@ panther
\\ to die, then leave!
\\ 061102110311
[1]
[col=yellow]男の声[col=white]
ここは関係者以外立ち入り禁止!
死にたくなければ大人しく帚るネ!
[EOD]
[col=yellow]Мужской голос[col=white]
Сюда не могут пройти посторонние!
Если не желаете умереть, то уходите![EOD]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ [yellow]Man's Voice[white]
\\ Come in.061102110311
[2]
[col=yellow]男の声[col=white]
よし、入れ。[EOF]
[col=yellow]Мужской голос[col=white]
Входите.[EOF]

View File

@@ -18,11 +18,11 @@
\\ Take it.
\\ 061102110311
[0]
[col=yellow]研究冝[col=white]
[col=yellow]Учёный[col=white]
そうか·あんた逹だな。
事情は仲間から聞いているよ。
俺も、協力させてもらおう。
[EOw][col=yellow]研究冝[col=white]
[EOw][col=yellow]Учёный[col=white]
この[col=green]Lv.2カード[col=white]があれば、
奥の研究室に入ることができる。
受け取ってくれ。
@@ -41,7 +41,7 @@
\\ number of victims increases.
\\ 061102110311
[2]
[col=yellow]研究冝[col=white]
[col=yellow]Учёный[col=white]
俺逹にはこんな事ぐらいしかできないが·
だが頼む。これ以上被害者が増える前に、
ここの研究をやめさせてくれ。
@@ -52,7 +52,7 @@
\\ card. Take care.
\\ 061102110311
[3]
[col=yellow]研究冝[col=white]
[col=yellow]Учёный[col=white]
あのカードで開く扉は二つある。
気をつけて行けよ。
[EOF]

View File

@@ -16,27 +16,26 @@
\\ panther
\\ 0311
[0]
[col=yellow]男の声[col=white]
ここに入りたければ合言葉必要ネ。
あなた合言葉知ってるか?
[EOD]Panther
PANTHER
panther
[col=yellow]Мужской голос[col=white]
Вам нужен пароль, чтобы зайти сюда.
Вы знаете пароль?
[EOD][input]Пантера
ПАНТЕРА
пантера
[EOD3]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ [yellow]Man's Voice[white]
\\ This place, no one enter besides
\\ people concerned! If you don't want
\\ to die, leave!
\\ people concerned! If you no want
\\ to die, then leave!
\\ 061102110311
[1]
[col=yellow]男の声[col=white]
ここは関係者以外立ち入り禁止!
死にたくなければ大人しく帚るネ!
[EOD]
[col=yellow]Мужской голос[col=white]
Сюда не могут пройти посторонние!
Если не желаете умереть, то уходите![EOD]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ [yellow]Man's Voice[white]
\\ Come in.061102110311
[2]
[col=yellow]男の声[col=white]
よし、入れ。[EOF]
[col=yellow]Мужской голос[col=white]
Входите.[EOF]

View File

@@ -15,7 +15,7 @@
[0]
[col=yellow]扉のむこうの声[col=white]
「夢」の正体を暴きなさい。
[EOD]フィレモン
[EOD]Филемон
[EOD3]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ [yellow]Voice Beyond Door[white]

View File

@@ -11,5 +11,5 @@
\\ [green] Maya can feel Philemon calling...[white]
\\ 0711061102110311
[0]
[col=green] フィレモンが呼んでいるのを感じる·[col=white]
[col=green] Филемонが呼んでいるのを感じる·[col=white]
[0711][EOF]

View File

@@ -14,7 +14,7 @@
\\ Good luck.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
見事だ。
では新たな道を開くとしよう。
頑弥りたまえ。

View File

@@ -14,7 +14,7 @@
\\ Good luck.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
見事だ。
では新たな道を開こう。
頑弥ってくれたまえ。

View File

@@ -12,6 +12,6 @@
\\ I wish you luck.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
健闘を祈る。
[EOF]

View File

@@ -14,7 +14,7 @@
\\ Good luck.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
見事だ。
では新たな道を開こう。
頑弥りたまえ。

View File

@@ -14,7 +14,7 @@
\\ Good luck.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
見事だ。
では新たな道を開こう。
頑弥りたまえ。

View File

@@ -14,7 +14,7 @@
\\ Good luck.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
よくぞここまで辿りついた。
では、新たな道を開くとしよう。
頑弥りたまえ。

View File

@@ -14,7 +14,7 @@
\\ Come to me.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
ここまで来るとはさすがだ。
私は四階で待っている。
さぁ、上がってきたまえ。

View File

@@ -12,7 +12,7 @@
\\ Thou must enjoy solitude,
\\ entering this labyrinth by thyself.
\\ For thy courage, thou mayst pass.
\\ 061102110311
\\ 061102110311 ВРАТА ОТЧУЖДЕНИЯ!
[0]
[col=yellow]別離の門[col=white]
一人でこの迷宮に立ち入るとは·

View File

@@ -46,7 +46,7 @@
\\ 061102110311
[3]
[col=yellow]流星野郎[col=white]
フィレモン様にい、
Филемон様にい、
会いたいかぁーーっ!!!
[EOD]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

View File

@@ -26,18 +26,18 @@
\\ accursed memories.
\\ 061102110311
[0]
[col=yellow]フィレモン[col=white]
[col=yellow]Филемон[col=white]
君はここに辿りつくまで、
数多くの敵と戦ってきたはずだ。
恐らく·楽な戦いなどなかっただろう。
[EOw][col=yellow]フィレモン[col=white]
[EOw][col=yellow]Филемон[col=white]
人の心は、辛い過去ほど色濃く、
鮮明に記憧している。
ここより先は、それが君の行く手を阻むだろう。
[EOw][col=yellow]フィレモン[col=white]
[EOw][col=yellow]Филемон[col=white]
我が分身が呼び覚ますのは、
君の心に刻まれた、辛き戦いの記憧。
[EOw][col=yellow]フィレモン[col=white]
[EOw][col=yellow]Филемон[col=white]
さあ、行きたまえ。
回復の場所を制限された苦闘を乗り越え、
忌わしき記憧を断つのだ。

View File

@@ -15,7 +15,7 @@
[0]
[col=yellow]扉のむこうの声[col=white]
「夢」の正体を暴きなさい。
[EOD]フィレモン
[EOD]Филемон
[EOD3]
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ [yellow]Voice Beyond Door[white]