Найдено 277 результатов

warchief
19 янв 2014, 05:29
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Во, теперь есть все что я просил 8) И можно дальше пилить свой рогалик

Единственно что еще можно исправить, это чтобы окно обновлялось при изменении размера - по факту, а то сейчас получается так:
http://www.imageup.ru/img51/1631900/bezymyannyjj.jpg

Не очень красиво. Но это не критично и не важно
warchief
24 дек 2013, 12:38
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Лады. Вот он досчитал. Количество. В две переменные. Х и У. Ну да А ты, я так понимаю, будешь всегда с запасом (по размеру окна) рисовать поглядывая на эти переменные? А я сам разберусь, как мне надо. Это кстати не сложно - собственно увеличиваться должна игровая область, а гуи может оставаться в т...
warchief
24 дек 2013, 12:01
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

/Пристально смотрит/ готовый виджет захотел? О чем ты? Я хочу чтобы движок не запрещал менять размер окна, и в случае изменения сам досчитывал количество знакомест. И примером показал DF, где это сделано. Мельком проглядел тему и показалось, что warchief новый dwarf fortress делает :D :D :D Прямо с...
warchief
24 дек 2013, 01:22
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

в terminal_peek_char, которая возвращает символ не вычитывая его клавишу из очереди. Ну или не возвращает, если нет символа: О, а я как раз о таком тоже подумал, то есть сначала опознать символ, но не извлекать его из очереди, а распознать код и с этим извлечь... Так значит можно? Ну вообщем-то тог...
warchief
23 дек 2013, 13:31
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Распишу как я делаю ввод. Для этого я использую паттерн Слушатель (Listener) и реализую простую событийную модель. Идея в следующем - движок получает событие и оповещает всех своих слушателей об этом событии. А вот они там уже сами решают что с этим событием делать. То есть движок НЕ ЗНАЕТ О ТОМ, ДЛ...
warchief
23 дек 2013, 13:12
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

warchief жжот. read_char возвращает введённый символ, а не кнопку. Если тебе нужно получить нажатую клавишу, используй terminal_read. Вполне логично что у большой и маленькой буквы разные коды. Ты не понял. Я нажал кнопку, и хочу получить с нее И КОД И СИМВОЛ одновременно. Самым простым выходом из ...
warchief
23 дек 2013, 12:14
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Вообщем тестовым путем выяснил что мой код при нажатии маленькой 'r' возвращает код 114, а при нажатии большой - 82. Вообще хотелось бы вот так чтобы было int key = terminal_read(); // Получаем код нажатой кнопки, при этом пофиг какая раскладка, и какие вспомогательные клавиши нажаты wchar_t с = ter...
warchief
23 дек 2013, 12:05
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Паттерн использования следующий: на каждую операцию ввода вызовом terminal_read_char проверяем наличие текстового символа, если такого нет, читаем привычным terminal_read. Можно примером показать? А то у меня так: while (terminal_has_input()) { int key = terminal_read_char(); wchar wc = L' '; if (k...
warchief
23 дек 2013, 10:59
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

мерцания быть не должно, возможно ты где-то делаешь лишний terminal_refresh? Ага, мой косяк, я когда делал не реалтаймовое, засунул рефреш там где текст печатал. Вообщем пока общие впечатления - текущая BearLibTerminal, намного лучше двух предыдущих выложенных версий. Ну если не считать строковых к...
warchief
23 дек 2013, 10:01
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Вообщем разобрался почему у меня не реалтайм. Вместо do...while, надо было просто
while (terminal_has_input()){}

Возникла другая проблема - мерцание текста, как лечить, надеюсь в движке есть двойной буфер? Собственно эта проблема у меня была и не в реалтайме.
warchief
23 дек 2013, 08:38
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Как научить terminal_read_char() не ждать нажатия кнопки? А то из-за нее у меня не получается сделать реалтайм. То есть я хочу так - игра выполняется в реалтайме, пользователь нажимает кнопку, система определяет код нажатой кнопки и ее символ. То есть не ждет, когда игрок нажмет кнопку, а опрашивает...
warchief
23 дек 2013, 06:33
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Вопросы: 1) как узнать, какая клавиша была отжата? 2) У меня такой ввод bool Engine::input() { do { int key = terminal_read_char(); wchar wc = L' '; if (key == TK_INPUT_CALL_AGAIN) { key = terminal_read(); if (key == TK_CLOSE) return false; } else if (key > 0) { wc = key; } if (m_inputlistener.empty...
warchief
01 окт 2013, 00:33
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

API любого программного продукта требует документации. Нет, не требует, вся документация прямо в коде. это и есть самодокументирующий код. тем более современная документация после появления всяких doxygen, суть тот же самый код В С/С++ контекстная справка до сих пор не является идиоматической и пра...
warchief
30 сен 2013, 05:07
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

Я и так вместо игры до сих пор пишу оболочку над этим всем (хотя больше ради того чтобы потом если совсем припечет, выкинуть безболезненно, заменив чем-нибудь другим). >>Зачем на лету менять шрифт или размер окна кроме как для демонстрации? Заголовки, названия меню А так, не считая этой проблемы с к...
warchief
30 сен 2013, 04:54
Форум: BeaRLib
Тема: BearLibTerminal - псевдоконсольное окно для рогалика
Ответы: 734
Просмотры: 98612

Re: BearLibTerminal - псевдоконсольное окно для рогалика

>>По моему, ты малость не справедлив к автору. Ну да, без доков опции вряд ли задашь (особенно если это первый проект на BearLibTerminal), но это требуется лишь раз, в начале программы Мне тоже автор говорил что в начале. Только почему-то я до сих пор натыкаюсь на эти конфиги, то там, то сям К тому ...