keda.su | colris - помощь


Что такое colris?

colris – это такая разновидность тетриса. Падающие фигуры не сильно фигуристые, а прямые и тонкие. Но зато разноцветные. Цвета эти можно циклически смещать сверху вниз или наоборот. Когда фигуры скидываются вниз, они начинают там валяться. Части фигур удаляются тогда, когда в стакане образуется область из соседних клеток (квадратов) одного цвета в четыре (по умолчанию) или больше штуки.

Кратко про разное, что имеем:

  • Полностью настраиваемый внешний вид: от размера и цветовой гаммы до наличия и расположения меню-ссылок;

  • Полностью настраиваемый процесс игры: от размера стакана и скорости падания фигуры до количества цветов в фигуре и вероятности появления фигур из различного количества кубиков (частей ака квадратов на самом-то деле);

  • Возможность задания любой клавиши на любое возможное действие программы;

  • Встроенная консоль, в которой можно делать с программой все, что вообще возможно с ней делать;

  • Автоматическое впадение игры в паузу, если приложение потеряло активность или фокус ввода;

  • Сохранение текущей игры при выходе и восстановление её при следующей загрузке;

  • Возможность сохранения игры в любой момент времени в выбранный файл с последующим восстановлением (есть даже quicksave/quickload);

  • Готовые примеры с конфигурациями внешнего вида и процесса игры (темплейты);

  • Удивительно, но есть help;

  • Программа совершенно бесплатная;

  • Максимальное количество настроек при полностью недогруженном интерфейсе (ака консоль рулит).

Консоль

Джон Кармак самый молодец, а Quake 1 живее всех живых. И это всё потому, что только самые молодцы смогли придумать вставлять в свои игры самую замечательную вещь на свете – консоль. Без консоли в наше время – никуда, без неё мир – не светел, тепло – не уютное, а силы – слабые.

Консоль – это основной инструмент по настройке всего в программах от keda.su. Поскольку принцип – даём возможность настройки всего, чего можно, но скажем нет избытку интерфейса – является основополагающим, то освоение консоли (или как альтернатива: правки конфигурационных файлов) – первоочередная задача всякого смышлёного человека. Кому же лень – пользуем стандартные настройки и темплейты, благо их тоже постоянно пополняется.

Консоль по умолчанию вызывается клавишами esc или ` (тильда такая). В ней отображен перечень некоторых уже произведенных действий программы, а также лог всего того, что в эту самую консоль уже понаписано. Листать содержимое лога можно с помощью клавиш pgup и pgdn или с помощью колеса мыши.

Внизу консоли есть строка ввода, в которую можно вводить всякое нужное. После нажатия на enter это введённое исполняется. Если это задание значение переменной, то значение изменяется (если новое значение допустимо), если это вызов функции (будем из вредности называть функции командами), то она, как и задумано, вызывается. Всё, что было введено в эту строку ранее, сохраняется в историю консоли. Просмотреть её можно с помощью клавиш up и down.

Результат исполнения команды или изменения значения переменной обычно видно сразу же, даже если это касается внешнего вида самой игры или консоли. Иногда переменные, описывающие процесс игры, изменяют его не сразу, а только на следующей итерации или после старта новой игры.

Перечень всех доступных переменных и команд (кстати, смотри его в этом описалове ниже) можно посмотреть с помощь команды list. Всех их запомнить затруднительно даже их создателю, поэтому для облегчения ввода нужного в консоли существует вспомогательный метод. Можно в любом месте строки ввода набрать начало необходимого и нажать клавишу tab. Если данное начало соответствует началу только одной переменной (или команды), то оно (полное имя переменной) отобразится в области ввода. Если таких соответствий много, то в строке вода отобразится общая начальная их часть, а в лог консоли выведется полный список найденных переменных и команд. Причём переменные отобразятся вместе со значениями. В общем – клавиша tab рулит, необходимо ей пользоваться часто и постоянно. Это такой завет.

Значение любой переменной также можно посмотреть, просто введя её значение в области ввода, и нажать enter.

Саму консоль тоже можно по-всякому настраивать, особенно и с помощью переменных con_*. См. их перечень дальше.

Все настройки (переменные), что в играх изменяются, сохраняются в конфигурационном файле (.cfg) рядышком с исполняемым файлом (После ремастеринга 2017 года это не так! Файлы настроек хранятся либо в директории userdata\ рядом с исполняемым файлом, либо в профиле пользователя в директории Roaming\. Выбор варианта, куда будут сохранятся настройки, происходит при первом запуске любой из игр от keda.su). Он загружается при запуске игры. Поэтому после загрузки она будет именно такой, какой вы покинули её в последний раз, забабахав в ней что-то свое эксклюзивное.

В общем, консоль- наше всё!

Теймплейты

Темплейты представляют собой готовые конфигурации игры. Они бывают двух видов – конфигурации внешнего вида и конфигурации процесса игры. Первые, соответственно, описывают, как выглядит игра на поверхности монитора, а вторые – как эта игра функционирует непосредственно в самом процессе игры, то есть описывают её геймплей.

Темплейты загружаются с помощью команд gameplay и appearance (до ремастеринга 2017 года они обзывались gamestyle и viewstyle), а также с помощью действий с аналогичным названием (про все оба по два см. дальше в разделах “Действия” и “Переменные”). В стандартных настройках внешнего вида имеются ссылочки gameplay и appearance, которые и предназначены для загрузки разных темплейтов. Жмите на них уверенно мышкой.

Если есть желание соорудить собственные темплейты, то рекомендуется копировать !default*.cfg в новый файл и уже в дальнейшем изменять его по собственным нуждам.

Темплейты валяются в директориях gameplay\ и appearance\.

Сохранение/загрузка игры

Все игры от keda.su поддерживают сохранение игры, хотя в некоторых из них это порой и выглядит полным идиотством. Игра всегда сохраняется при выходе из программы. И она всегда подгружается при следующем запуске. То есть можно совершенно не беспокоиться о том, что игру нужно внезапно прекратить. Надо – взял и вышел. Когда в следующий раз запустишь игру – будешь продолжать играть в точно том же месте, где и оставил её в прошлый раз.

Игру можно сохранить и в любой файл с помощью команды save или действия с аналогичным названием. Загрузить – load (и команда, и действие). Кроме того, также есть действия быстрого сохранения и загрузки игры – quicksave и quickload. По умолчанию они забиндены на клавиши f6 и f9 соответственно.

Действия

Действия (controls) – это то, что можно делать в процессе игры с помощью элементов управления (клавиатура, мышь, активные элементы интерфейса). Очень часто действия совпадают по названию с некоторыми командами, которые можно вызывать из консоли.

Действия можно привязывать к клавишам с помощью команды bind. Их можно указывать в качестве ссылок при задании внешнего вида игры в переменных info_Left* и info_Right*. Полный список действий у каждой конкретной игры можно посмотреть с помощью команды controls.

Список действий, которые есть во всех играх:


about

выводит окно about

appearance

вызывает окно загрузки темплейтов с внешним видом игры

console

вызывает консоль

gameplay

вызывает окно загрузки темплейтов с процессом игры

help

вызывает отображение помощи

hidetotray

сворачивает игру в трей

load

вызывает окно для выбора файла с сохранённой игрой и, после выбора, стремительно её загружает

minimize

минимизирует игру

newgame

очищает игровое поле и игровые данные

pause

если игра запущена, делает ей паузу; если игра находится в паузе, снимает паузу

pauseonly

если игра запущена, делает ей паузу

play

см. start

playpause

если игра остановлена – стартует её; если игра находится в паузе – снимает паузу; если игра запущена – делает ей паузу

quickload

шустро загружает игру из файла

quicksave

шустро сохраняет игру в файл

quicksaveex

шустро сохраняет игру в файл вместе со всеми настройками (см. описание команды saveex);

quit

завершает работу приложения (делает игре паузу и выходит с сохранением настроек и текущей игры)

save

вызывает окно для выбора файла для сохранения игры и, после выбора, сохраняет

saveex

аналогична save, но сохраняет игру вместе со всеми настройками (см. описание команды saveex);

start

если игра остановлена, запускает; если игра на паузе – снимает паузу

stop

останавливает игру

unpauseonly

если игра находится в паузе, снимает паузу

Действия colris

drop

сбрасывает фигуру (см. переменную brick_DropQuick)

moveleft

перемещает фигуру влево

moveright

перемещает фигуру право

shiftdown

циклически сдвигает цвета фигуры сверху вниз

shiftup

циклически сдвигает цвета фигуры снизу вверх

Игровые данные

Игровые данные численно описывают ход текущей игры (крута!). Это время, которое прошло с начала старта игры, очки и прочее всякое.

Игровые данные отображаются в окне игры с помощью переменных info_Left*, info_Right*.

Перечень игровых данных:


quadskilled

количество убитых квадратов

score

набранные очки

time

время от начала игры

Клавиши

Любые возможные действия игры, будь то это нажатие на гашетку или вызов консоли, можно биндить на любые клавиши. Более того, в игре срабатывают только те клавиши, которые именно таким образом привязаны к какому-либо действию.

Привязка осуществляется с помощью команды bind: bind(key, control);
где key – название клавиши, control – действие. key и control – это строковые параметры, поэтому их нужно указывать обрамлёнными в апострофы.

Название клавиши – это что-то из следующего перечня: 0..9, a..z, f1..f12, esc, enter, alt, ctrl, shift, space, bksp, `, \, =, -, \, [, ], ', ;, /, ., ,, `, capslock, scrolllock, pause, home, end, pgup, pgdn, up, down, left, right, ins, del, num5, num+, num-, num*, win1, win2… (может чего забыл).

Также клавиши можно привязывать к действию только в сочетании с клавишами-переключателями (shift, ctrl, alt). В этом случае клавиша-переключатель пишется перед основной клавишей и отделяется от неё символом ‘+’. Если клавиш-переключателей несколько, то они все пишутся аналогично с плюсами, но в обязательном порядке слева направо: shift, ctrl, alt. То есть ‘shift+ctrl+esc’ – это правильно, а ‘ctrl+shift+esc’ – нет.

Клавиши мыши и её колёсики тоже биндятся аналогично. Их названия: mouseright, mouseleft, mousemiddle, mousewheelup, mousewheeldown. Например, повесить минимизацию в трей на ctrl+alt+проворот колеса мыши вверх выглядит так:
bind('ctrl+alt+mousewheelup', 'minimize');

Отмена привязки клавиши к действию осуществляется с помощью команды unbind(key). Очистить работоспособность всех клавиш – команда unbindall. Полный список забинденных клавиш можно посмотреть с помощью команды binds.

Стандартные клавиши для всех игр:


`, ctrl+`, esc

вызов консоли (console)

enter

запускает игру или ставит её на паузу (playpause)

s

просто запускает игру (start)

ctrl+s

останавливает текущую игру насовсем (stop)

p, pause

ставит игру на паузу, если она уже на паузе – запускает (pause)

ctrl+p, ctrl+pause

ставит игру на паузу (pauseonly)

alt+w

сворачивает игру (minimize)

alt+e

прячет игру в трей (hidetotray)

alt+q

выходит из игры (quit)

f6

вызывает быстрое сохранение игры (quicksave)

f9

ещё быстрее загружает (quickload)

Клавиши colris

right, mouseright

перемещает фигуру вправо (moveright)

left, mouseleft

перемещает фигуру влево (moveleft)

up, mousewheelup

сдвигает цвета фигуры снизу вверх (shiftup)

down, mousewheeldown

сдвигает цвета фигуры сверху вниз (shiftdown)

space, mousemiddle

сбрасывает фигуру валяться (drop)

Переменные

Любые настройки игры производятся с помощью переменных и команд консоли. Полный их список можно посмотреть ниже. Переменные бывают нескольких типов: int (и так понятно), float (тоже понятно), bool (опять понятно: 0 = false, остальное = true), natural (типа int, только >= 0), percent (типа float, но в границах от 0 до 1 включительно), string (значения пишутся, обрамляясь в апострофы), color (значение цвета, указывается либо в константном виде типа clRed, clYellow, clWindow, clBtnFace или в виде rgb: 0xBBGGRR; прозрачный цвет или необходимость отсутствия отрисовки задаётся константой clNone).

Не все переменные могут иметь любое значение, допустимое для её типа. Если переменной происходит присвоение недопустимого значения, то об этом будет красиво сообщено в консоли. Присвоение, естественно, не произойдёт.

Список общих переменные всех игр:


about (function)

void about();
вызывает окно about

appearance (function)

void appearance(string filename);
загружает конфигурационный файл (темплейт) с настройками внешнего вида игры; если filename задано, то подгружает файл filename из директории appearance\<игра>; если расширение у файла не задано, то оно задаётся как .cfg; если filename не задано, то, выводит окно выбора внешнего вида (см. также templates_mode)

auto_CellSize (const, integer)

константа, оптимальный размер клетки игрового поля для текущего разрешения экрана

auto_FontSize (const, integer)

константа, оптимальный размер шрифта для текущего разрешения экрана

auto_SmallFontSize (const, integer)

константа, оптимальный размер мелкого шрифта для текущего разрешения экрана

bind (function)

void bind(string key; string control);
привязывает к клавише key действие control

binds (function)

void binds();
отображает в логе все забинденные клавиши и подвешенные на них действия

board_BackColor (color)

цвет фона игрового поля

board_BackImage (natural)

задаёт одно из стандартных изображений для заполнения фона игрового поля; если = 0, то всё поле заливается цветом board_BackColor

board_BackImageFileName (string)

файл с изображением для заполнения фона игрового поля; если файл существует, то значение данной переменной имеет приоритет над переменной board_BackImage

board_BackImageScale (float)

масштаб изображения для заполнения фона игрового поля, заданного переменными board_BackImage или board_BackImageFileName; если = 0, то, при использовании board_BackImage, автоматически подгоняет фон к размеру клетки

board_BackImageShift (natural)

метод смещения изображения при заливке фона: 0 – изображение заливает фон стандартно заливке ОС Windows; 1 – смещает заливку относительно стандартной заливки ОС Windows на значения board_BackImageShiftX, board_BackImageShiftY точек; 2 – выравнивает левый верхний край заливки с левым верхним углом игрового поля

board_BackImageShiftX (natural)

смещение заливки в точках по горизонтали, при board_BackImageShift = 1

board_BackImageShiftY (natural)

смещение заливки в точках по вертикали, при board_BackImageShift = 1

board_BorderColor (color)

цвет окантовки игрового поля

board_CellSize (natural)

размер в точках одной клетки игрового поля

board_ColCount (natural)

размер игрового поля по горизонтали

board_RowCount (natural)

размер игрового поля по вертикали

board_SpaceAround (natural)

размер области в точках между игровым полем и окантовкой игрового поля

canvas_TextHeight (function)

integer canvas_TextHeight(имя шрифта, размер шрифта, стиль шрифта, текст);
возвращает высоту текста

canvas_TextWidth (function)

integer canvas_TextWidth(имя шрифта, размер шрифта, стиль шрифта, текст);
возвращает ширину текста

cfs_Version (const, string)

константа, версия формата файлов сохранения

clear (function)

void clear();
очищает консоль (лог)

controls (function)

void controls();
отображает в логе названия всех возможных действий (игры), которые можно забиндить на клавиши и указать в качестве ссылок в переменных info_Left* и info_Right*; уже забинденные клавиши тоже отображает

desktop_Height (const, integer)

константа, высота рабочего стола Windows

desktop_Left (const, integer)

константа, левая координата рабочего стола Windows

desktop_PPI (const, integer)

константа, PPI рабочего стола Windows

desktop_Top (const, integer)

константа, верхняя координата рабочего стола Windows

desktop_Width (const, integer)

константа, ширина рабочего стола Windows

droplanguage (function)

void droplanguage();
сбрасывает настройки языка; при следующем запуске игры будет запрос

droplocation (function)

void droplocation();
сбрасывает настройки месторасположения пользовательских данных; при следующем запуске игры будет запрос

echo (function)

void echo(string text);
выводит в лог строку text

echoex (function)

void echo(string text; color c; style st);
выводит в лог строку text цветом c и стилем st

eng_Version (const, string)

константа, версия keda.su games engine

error (function)

natural error(string text);
выводит в лог ошибку text; возвращает какую-то хрень

esl_Version (const, string)

константа, информация о встроенном языке

exception_Show (bool)

если = 1, то при возникновении эксепшенов они гордо показываются пользователям; если = 0, то эксепшены умалчиваются;

exec (function)

bool exec(string filename);
загружает и исполняет файл с настройками, если ошибок при этом нет, то возвращает 1; данную команду не рекомендуется использовать при загрузке темплейтов, для них есть специальные команды appearance и gameplay

form_BackColor (color)

цвет фона окна игры

form_BackImage (natural)

задаёт одно из стандартных изображений для заполнения фона окна игры; если = 0, то форма заливается цветом form_BackColor

form_BackImageFileName (string)

файл с изображением для заполнения фона окна игры; если файл существует, то значение данной переменной имеет приоритет над переменной form_BackImage

form_BackImageScale (float)

масштаб изображения для заполнения фона окна игры, заданного переменными form_BackImage или form_BackImageFileName; если = 0, то, при использовании form_BackImage, автоматически подгоняет фон к размеру клетки

form_BorderColor (color)

цвет окантовки окна игры (это не рамка формы)

form_CaptionLive (bool)

если = 1, то в заголовке окна игры отображается текущий статус – запущена игра, пауза или игра завершена

form_Height (const, integer)

константа, высота окна игры

form_Left (integer)

горизонтальная координата левого верхнего угла окна игры

form_NChitTest (bool)

если = 1, то при остановленной игре или в режиме паузы окно игры можно перетаскивать мышкой за любое место, а не только за заголовок окна; не рекомендуется устанавливать значение этой переменной в 1 в играх, где производится запуск игры или выход из паузы с помощью клика мыши, поскольку в данном случае сообщение о клике не посылается

form_SpaceAround (natural)

размер в точках между окантовкой игрового поля и окантовкой формы (расширяет окно игры относительно размеров игрового поля)

form_SpaceBottom (natural)

дополнительный к form_SpaceAround размер снизу

form_SpaceLeft (natural)

дополнительный к form_SpaceAround размер слева

form_SpaceRight (natural)

дополнительный к form_SpaceAround размер справа

form_SpaceTop (natural)

дополнительный к form_SpaceAround размер сверху

form_Style (integer)

задает стиль заголовка окна: 0 – обычный заголовок; 1 – заголовок без кнопки выхода; 2 – обычный заголовок чуть меньшего размера; 3 – заголовок ещё меньшего размера без кнопки выхода (при таком стиле переключении игры по alt+tab в следующее приложение производится двойным нажатием – типа фича); 4 – заголовка нет, нет и стандартной рамки вокруг окна (формы) игры

form_Top (integer)

вертикальная координата левого верхнего угла окна игры

form_Width (const, integer)

константа, ширина окна игры

gameplay (function)

void gameplay(string filename);
загружает конфигурационный файл (темплейт) с настройками процесса игры; если filename задано, то подгружает файл filename из директории gameplay\<игра>; если расширение у файла не задано, то оно задаётся как .cfg; если filename не задано, то выводит окно выбора геймплея (см. также templates_mode)

help (function)

void help();
запускает по-умолчательный в операционной системе браузер с помощью об игре

hidetotray (function)

void hidetotray();
прячет игру в трей

info_BoardRect (bool)

если = 1, то информация, заданная переменными info_*, отображается относительно игрового поля; если = 0, то относительно окна игры

info_ControlFontColor (color)

цвет ссылки

info_ControlFontColorLight (color)

цвет подсвеченной ссылки

info_FontColor (color)

цвет информации об игровых данных (времени, очках и пр…)

info_FontName (string)

название шрифта ссылок и игровых данных

info_FontSize (natural)

размер шрифта ссылок и игровых данных

info_FontStyle (natural)

стиль шрифта ссылок и игровых данных

info_HSpace (natural)

горизонтальное расстояние в точках между текстовой информации, заданной переменными info_Left*, info_Right*

info_Left (string)

описывает текстовую информацию, отображаемую слева на игровом поле, если info_BoardRect = 1, или слева окна игры, если info_BoardRect = 0, при нахождении игры в режиме паузы или остановки;

текстовая информация задаётся в виде ‘название1-название2-название3-…’, где названиеN – это может быть любой текст, название действия (например: play, pause, gameplay) или название игровых данных (например: time, score);

если это текст, то он отображается как есть с видом, определяемым переменными info_Text*; если это название действия, то отображается само название в виде ссылки, которая реагирует на нажатие мыши, вид ссылки определяется переменными info_Control* и info_Font*; если это название игровых данных, то вместо него отображаются сами данные, вид данных определяется переменными info_Font*;

внутри названий действий допускается наличие пробелов (пробелы не допускаются по краям названий), то есть вместо ‘hidetotray’ можно написать ‘hide to tray’; в названии игровых данных пробелы не допускаются;

названия отделяются друг от друга символом ‘-’ (минус); если он один, то следующее название отображается относительно предыдущего на расстоянии info_HSpace точек по горизонтали; если стоит два минуса подряд, то они воспринимаются как перевод отображения на новую строку; если минусов больше двух, то кроме перевода на новую строку происходит вертикальный отступ на K*info_VSpace точек, где K – количество минусов подряд за вычетом два;

если есть необходимость написать обычный текст, который совпадает с названием действия или игровых данных, то просто поставьте пробел в начале или конце текста, например ‘time –score ’

если в начале названия присутствуют b^, u^ или i^, то к стилю шрифта добавляется жирный, подчеркивание или курсив соответственно; возможно одновременное использование, например b^i^u^.

если info_Translate = 1, то происходит перевод текстовой информации на выбранный язык.

info_LeftStarted (string)

аналогична переменной info_Left, но описывает данные, отображаемые во время идущей игры; если info_LeftStarted = ‘.’, то во время идущей игры отображаются данные из переменной info_Left

info_Right (string)

аналогична info_Left, только рисует справа;

info_RightStarted (string)

опять все очень аналогично

info_Show (natural)

режим отрисовки всей информации: 0 – информация не отображается; 1 – информация рисуется до отрисовки игрового поля (сначала отображается фон, затем информация, затем содержимое игрового поля); 2 – информация рисуется поверх игрового поля

info_TextFontColor (color)

цвет обычного текста (не действия и не игровых данных)

info_TextFontName (string)

название шрифта обычного текста

info_TextFontSize (natural)

размер шрифта обычного текста

info_TextFontStyle (natural)

стиль шрифта обычного текста

info_Translate (bool)

если = 1, то переводит содержимое info_Left*, info_Right* на текущий язык; если = 0, то отображает их как есть.

info_VSpace (natural)

вертикальное расстояние в точках между текстовой информацией, заданной переменными info_Left*, info_Right*

info_X (natural)

горизонтальный отступ информации, задаваемой переменными info_Left* и info_Right*, относительно игрового поля, если info_BoardRect = 1; или относительно окна игры, если info_BoardRect = 0

info_Y (natural)

вертикальный отступ информации, задаваемой переменными info_Left* и info_Right*, относительно игрового поля, если info_BoardRect = 1; или относительно окна игры, если info_BoardRect = 0

list (function)

void list(string name);
отображает в консоли список переменных и команд, переменные отображаются вместе со значениями; если name не задано, то отображаются все переменные и команды; если name задано, то отображаются переменные и команды, начало названия которых совпадает с name

lng_Name (const, string)

константа, язык программы

load (function)

void load(string filename);
загружает сохранённую игру; если filename задано, то подгружает файл filename из директории savegames; если расширение у файла не задано, то оно задаётся как .cfs; если filename не задано, то выводится стандартное окно загрузки файла со списком файлов в директории savegames

minimize (function)

void minimize();
минимизирует игру

newgame (function)

void newgame();
останавливает игру и очищает игровое поле; обычно используется в темплейтах процесса игры (gameplay)

prj_Name (const, string)

константа, название игры

prj_NameA (const, string)

константа, краткое название игры

prj_Version (const, string)

константа, версия игры

quit (function)

void quit();
завершает работу программы

save (function)

void save(string filename);
сохраняет игру в файл; если filename задано, то сохраняет в игру файл filename в директории savegames; если расширение у файла не задано, то оно задаётся как .cfs; если filename не задано, то выводится стандартное окно сохранения файла

savecfg (function)

bool savecfg(string filename);
сохраняет текущие настройки в файл filename; если операция произошла успешно, то возвращает 1

saveex (function)

void saveex(string filename);
аналогична save за исключением того, что вместе с игрой в файл сохраняются все текущие настройки, за исключением настроек клавиш и переменной con_History; при загрузке такого файла командой load, кроме загрузки игры, произойдет и загрузка этой конфигурации

templates_mode (bool)

если = 1, то gameplay и appearance вызывают удобное окно со списком темплейтов, с комметариями; если = 0, то открывается стандартное окно загрузки файла

tray_AlwaysShowIcon (bool)

если = 1, то в трее всегда отображается иконка; если = 0, то иконка отображается только тогда, когда игра свернута в трей

unbind (function)

void unbind(string key);
очищает настройки на клавишу key

unbindall (function)

void unbindall();
очищает настройки всех клавиш

var_cfg_AutoExec (const, string)

константа, название файла, автоматически подгружаемого при запуске программы; файл autoexec.cfg грузится из рабочей директории игры, а также из директории, где располагается исполняемый файл

var_cfg_FileName (const, string)

константа, название конфигурационного файла

var_log_FileName (const, string)

константа, название лог-файла; в keda.su-играх лог отчего-то отключён

var_log_MaxSize (natural)

не используется из-за см. выше

var_pth_Exe (const, string)

константа, полный путь до исполняемого файла игры

var_pth_Gameplay (const, string)

константа, относительный путь до конфигурационных файлов (темплейтов) с процессом игры

var_pth_Help (const, string)

константа, относительный путь до файлов помощи

var_pth_SaveGames (const, string)

константа, относительный путь до файлов с сохранёнными играми

var_pth_Appearance (const, string)

константа, относительный путь до конфигурационных файлов (темплейтов) с внешним видом игры

var_pth_Work (const, string)

константа, полный путь до рабочей директории приложения

var_quicksave_FileName (const, string)

константа, имя файла для быстрого сохранения игры

var_save_FileName (const, string)

константа, имя файла для сохранения текущей игры при выходе из программы; подгружается при следующей загрузке

Переменные colris

brick_DropQuick (bool)

если = 0, то падающая тетрисина (далее фигура) после сброса падает со скоростью brick_DropSpeed; если = 1, то сброс фигуры производится мгновенно

brick_DropSpeed (natural)

скорость падения сброшенной фигуры

brick_Speed (natural)

скорость падения фигуры в штатном режиме

info_NextBrick (natural)

задаёт режим отображения следующих фигур: 0 – следующие фигуры не отображаются, 1 – отображаются слева под информацией из переменной info_Left*; 2 – отображаются справа под информацией из переменной info_Right*

info_NextBrickBorderColor (color)

цвет окантовки квадратов у следующих фигур

info_NextBrickCellSize (natural)

размер в точках одного квадрата следующей фигуры

info_NextBrickCount (natural)

количество следующих фигур

info_NextBrickHSpace (natural)

горизонтальный отступ от info_X при отображении следующих фигур

info_NextBrickNothingSize (natural)

пустое количество точек между квадратами у следующих фигур

quad_BorderColor (color)

цвет окантовки квадрата у падающей фигуры

quad_ColorCount (natural)

количество цветов, из которых состоят вновь появляющиеся фигуры

quad_ColorList (function)

void quad_ColorList();
отображает в консоли список значений цветов

quad_CountChanceList (function)

void quad_CountChanceList();
отображает в консоли вероятности появления фигур из различного количества квадратов (элементарных одиночных фигурков)

quad_CountMax (natural)

задаёт максимальное количество квадратов, из которых состоит падающая фигура

quad_CountMin (natural)

задаёт минимальное количество квадратов, из которых состоит падающая фигура

quad_DieColor (color)

цвет убиваемых квадратов

quad_DieMinCount (natural)

определяет минимальное количество соседних квадратов одинакового цвета, при котором они убиваются

quad_DieSpeed (natural)

скорость одного такта спецэффекта при удалении квадратов, задаётся в миллисекундах

quad_DieStyle (natural)

задаёт спецэффект при удалении квадратов: 0 – квадраты тупо удаляются; 1 – квадраты подсвечиваются на quad_DieStyle1ParamWait*quad_DieSpeed миллисекунд; 2 – квадраты мигают quad_DieStyle2ParamCount раз по quad_DieStyle2ParamWait*quad_DieSpeed миллисекунд; 3 – по квадратам постепенно бежит подсветка, затем потом там что-то ещё бежит, а потом уже и удаляются; 4 – квадраты обрушиваются постепенно слева направо

quad_DieStyle1ParamWait (natural)

см. quad_DieStyle

quad_DieStyle2ParamCount (natural)

см. quad_DieStyle

quad_DieStyle2ParamWait (natural)

см. quad_DieStyle

quad_DropAlone (bool)

если = 1, то оставшиеся в одиночестве после удаления квадратов фигурковые элементы стены обрушаются вниз в режиме brick_DropQuick; если = 0, то они тупо и беспредельно висят

quad_NothingSize (natural)

пустое количество точек между квадратами у падающей и валяющихся фигур

SetQuadColor (function)

void SetQuadColor(int index; color acolor);
задаёт значение acolor цвету с индексом index

SetQuadCountChance (function)

void SetQuadCountChance(int quadcount; int chance);
задаёт вероятность chance появления фигуры из quadcount квадратов (элементарных одиночных одноклеточных частей, вот); вероятность задаётся в непонятных условных единицах; настоящая вероятность высчитывается в процессе генерации очередной фигуры и равна доле, которой равна вероятность chance, среди суммы аналогичных вероятностей для фигур с количеством квадратов (частей) от quad_CountMin до quad_CountMax (крута разъяснил)

wall_BorderColor (color)

цвет окантовки валяющихся фигур

Переменные консоли

con_BackColor (color)

цвет фона консоли

con_Caption (bool)

если = 1, то в консоли отображается заголовок

con_ErrorColor (color)

цвет шрифта сообщения об ошибке

con_Exit (function)

void con_Exit();
закрывает открытую консоль

con_Extended (bool)

если = 1, то ширину консоли можно увеличивать/уменьшать с помощью специальных кнопочек справа от строки ввода; увеличивать консоль можно сколь угодно, пока она убирается в экран, а уменьшать можно только до величины, определяемой переменной con_Width

con_ExtPos (natural)

на сколько шагов уже увеличена ширина консоль при включенном режиме con_Extended = 1

con_ExtStep (percent)

размер шага увеличения/уменьшения ширины консоли при con_Extended = 1; шаг задаётся в процентах от ширины окна (формы) игры

con_FontColor (color)

цвет шрифта консоли

con_FontName (string)

название шрифта консоли

con_FontSize (natural)

размер шрифта консоли

con_FontStyle (natural)

стиль шрифта консоли

con_FullScreen (bool)

если = 0, то консоль отображается сверху окна игры, размер её задается переменными con_Height и con_Width; если = 1, то консоль отображается сверху экрана с шириной во весь экран и высотой, определяемой переменной con_Height

con_Height (percent)

высота консоли в процентах от высоты окна игры, если con_FullScreen = 0; или в процентах от высоты экрана, если con_FullScreen = 1

con_History (string)

история ввода всякого в строку ввода

con_HistorySize (natural)

размер истории ввода

con_Image (natural)

режим отображения фонового изображения консоли: 0 – фон не отображается; 1 – масштабирует фон с сохранением пропорций таким образом, чтобы он красиво целиком влез в консоль; 2 – масштабирует фон с сохранением пропорций, задавая его высоту, равную высоте консоли; 3 – растягивает фон на всю консоль без сохранения пропорций

con_ImageName (string)

файл с изображением фона консоли

con_InactiveFontColor (color)

цвет неактивных элементов консоли

con_ScrPage (natural)

количество строк, на которое прокручивается содержимое консоли (лога) при её просмотре с помощью клавиш pgup и pgdn

con_ShowTime (bool)

если = 1, то в логе отображаются дата и время занесения каждой строки в лог

con_StepCount (natural)

количество шагов при анимации открывания/закрывания консоли

con_StepPause (natural)

пауза (в тиках) каждого шага при анимации открывания/закрывания консоли

con_Transparent (percent)

прозрачность консоли от 1 (непрозрачная), до 0.1 (еле видима)

con_Version (const, string)

константа, версия консоли

con_Width (percent)

ширина консоли в процентах от ширины окна игры, если con_FullScreen = 0; не используется при con_FullScreen = 1

Примеры

Хотим, чтобы стакан был размером 25 на 25. Делаем:

board_ColCount = 25;
board_RowCount = 25;


Хотим, чтобы вся игра была покрупнее. Делаем:

board_CellSize = 40;


Хотим играть в колрис, у которого фигуры состоят из 3 или 5 квадратов. И чтобы вероятность их появления была одинаковая. Делаем:

quad_CountMax = 3;
quad_CountMin = 5;

SetQuadCountChance(3, 10);
SetQuadCountChance(4, 0);
SetQuadCountChance(5, 10);


Хотим, чтобы фигуры составлялись из квадратов из восьми вариантов цветов. Делаем:

quad_ColorCount = 8;


Хотим, чтобы соседние квадраты одинакового цвета удалялись по три штуки (а не четыре) или более. Делаем:

quad_DieMinCount = 3;


Хотим, чтобы фигуры падали быстро-быстро, а скидывались мгновенно. Делаем:

brick_Speed = 150;
brick_DropQuick = 1;

История

1.06
переезд на keda.su

1.05
поддержка масштабирования Windows при высоких разрешениях экрана

1.04
ремастеринг 2017

1.02
начальная версия для народа

1.00
одна недорелизенная копия ушла по блату

Контакты

keda.su
ich.su

©  sergey lebedev aka ich, 2007 россия – родина тетрисов!