Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Клуб программистов. | страница 11
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 11 из 11
На страницу: Пред.  1, 2, 3 ... 9, 10, 11    Перейти:   Все страницы
Поиск в этой теме:
Железный канал: «Клуб программистов.»
Grebomet
 1470 EGP


Модератор
Рейтинг канала: 8(765)
Репутация: 261
Сообщения: 4795
Откуда: Питербурх
Зарегистрирован: 06.01.2003
za4ot :
Т. е. они не самостоятельные графические библиотеки и им всё равно нужен WinAPI для работы? Или самостоятельные?

На винде, естественно, высокоуровневые графические библиотеки все равно используют WinAPI (а иногда и OpenGL/DirectX). На линуксе - X Server и его расширения.

za4ot :
А как этим миром попытаться управлять из какого-нибудь ЯП? Обязательно нужен игровой 2D, 3D движок или можно как-то по другому?

Ну как... Открываешь туториал по опенджиэлю и вперел, на мины и наддолбы.
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 01:25 16-12-2025   
AnrDaemon
 867 EGP


Модератор
Рейтинг канала: 8(805)
Репутация: 37
Сообщения: 12341

Зарегистрирован: 17.10.2004
za4ot :
Очень часто в книжках встречается ситуация когда два предложения не разделены пробелом. Править вручную это очень долго. Вчера попытался написать замену на Perl для своего редактора опечаток. Следуя логике, нужно было добавить пробел после любой точки за которой идет любой символ кроме пробельного. Для этого написал так:
Код:
$string =~ s{\.(\S)}{\. $1}g;
# Любая точка после которой идет не пробельный символ заменяется на точку и тот же символ разделенные пробелом.

Но я не учел, что у нас .fb2 и в конце каждого абзаца перед точкой стоит символ "<". Так что эта замена и туда впихнула пробел. Можно было, конечно, следом применить замену убирающую пробел перед "<", но это ж сколько лишних телодвижений. Пробовал писать по разному. Ничего не помогало.
Код:
$string =~ s{\.([^<][\S])}{\. $1}g;
$string =~ s{\.([<{0,0}\S])}{\. $1}g;
$string =~ s{\.(<{0,0}\S)}{\. $1}g;
$string =~ s{\.([[^<][\S]])}{\. $1}g;
# и это даже не все варианты

В итоге просто попробовал исключить из класса символ "<" и посмотреть, что из этого выйдет.
Код:
$string =~ s{\.([^<])}{\. $1}g;

И это сработало. Теперь замена добавляет пробел между предложениями только там где его нет, и не добавляет его перед символом "<".
Вот такую полезную штуку я узнал самостоятельно. Класс содержащий все буквенно-цифровые символы кроме одного, исключая пробельные, описывается классом, в котором исключен именно этот один символ. Т. е. [^символ который нужно исключить]. Как по мне для редактирования .fb2 это архиполезная фича.


Есть такие вещи, как lookahead/lookbehind.

То, что ты сделал, добавило пробелы, например, в троеточиях. Не все авторы заморачиваются правильной типографикой, к моему сожалению…

Правильный ответ должен быть примерно таким:

Код:
$string =~ s{\.(?![.\s]|</)}{\. }g;


Любую точку, за которой не следует точка, пробел или закрывающий тег, заменить на точку с пробелом. Хотя (!), даже если у тебя перед закрывающим тегом появится пробел, это, обычно, нестрашно.

А проблемы начнутся, если у тебя книжка по программированию и точка - это часть кода.

добавлено спустя 6 минут:
Grebomet :
Для С++ лучше Qt - там все просто и гораздо меньше всякого магического бойлерплейта придется писать.


Qt для десктопа не могу советовать. У неё есть несколько проблем, за 30 лет так и не решённых, сколько их ни репортили.

добавлено спустя 2 минуты:
za4ot :
А как этим миром попытаться управлять из какого-нибудь ЯП?

Скомпилируй любую интерактивную демку по любой графической библиотеке.
Я в своё время игрался с DXScene.
_________________
Люблю свободный полёт... :)

Последний раз редактировалось: AnrDaemon (15:37 16-12-2025), всего редактировалось 3 раз(а)
    Добавлено: 15:37 16-12-2025   
Grebomet
 1470 EGP


Модератор
Рейтинг канала: 8(765)
Репутация: 261
Сообщения: 4795
Откуда: Питербурх
Зарегистрирован: 06.01.2003
AnrDaemon :
Qt для десктопа не могу советовать. У неё есть несколько проблем, за 30 лет так и не решённых, сколько их ни репортили.

Да ладно, для того, чтобы по-быстрому накидать прототипчик - самое то.
А что там за проблемы?
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 11:36 17-12-2025   
AnrDaemon
 867 EGP


Модератор
Рейтинг канала: 8(805)
Репутация: 37
Сообщения: 12341

Зарегистрирован: 17.10.2004
Grebomet :
А что там за проблемы?

Из того, что в очередной раз всплыло за последние пару месяцев - неправильно обрабатывается иконка в трее. Неправильно реагирует на клики и не убирается при закрытии приложения. Под эксплорером это незаметно, а вот если трей рендерится голым winapi, косяк во весь рост.
Скейлинг и HiDPI вроде починили, но только для новых версий.
_________________
Люблю свободный полёт... :)
    Добавлено: Вчера в 16:28   
Grebomet
 1470 EGP


Модератор
Рейтинг канала: 8(765)
Репутация: 261
Сообщения: 4795
Откуда: Питербурх
Зарегистрирован: 06.01.2003
AnrDaemon :
Из того, что в очередной раз всплыло за последние пару месяцев - неправильно обрабатывается иконка в трее. Неправильно реагирует на клики и не убирается при закрытии приложения.

Хз, щас потыкал в иконку какой-то своей поделки - вроде все нормально... Хотя я не помню, какие там клики обрабатываются и как, лень смотреть.
А не, глянул - на любой активейшен просто окно показывается. Контекстное меню таки да, не вылезает.
Да и хер с ним - кому прям критично, через shell nofify icon сделает. Там коду 15 строчек.

AnrDaemon :
Скейлинг и HiDPI вроде починили, но только для новых версий.

Ну да, у меня в 6-й версии все диалоги растарабанило в полтора раза...
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.

Последний раз редактировалось: Grebomet (17:04 20-12-2025), всего редактировалось 1 раз
    Добавлено: Вчера в 16:57   
Железный канал: «Клуб программистов.»
На страницу: Пред.  1, 2, 3 ... 9, 10, 11    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: У меня кончились оригинальные ответы на этот вопрос, придумайте сами что вам хочется. (Pegasus о дате запуска ЗВ)

  » Клуб программистов. | страница 11
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18