top of page

Урок второй

В нашей будущей игре должна быть крутая графика! Поэтому, для начала, немного порисуем. Включите TIC-80, зайдите в режим командной строки, наберите команду new. Эта команда создаёт новый картридж. По умолчанию там находится небольшая демонстрационная програмка. Зайдите в редактор кода и сотрите всё, мы начнём с чистого листа :) . Наберите в редакторе следующую программу и запустите:

Программа нарисует зелёный круг на белом (ну почти) фоне ровно по центру экрана.

Теперь разберём программу подробно. Что такое на самом деле функция TIC и для чего она нужна, разберёмся чуть позже. На данном этапе просто усвоим, что последовательность команд между "function TIC()" и "end" - это именно то, что выполняется при запуске программы. команда cls - это очистка экрана, сокращение от "clear screen". её можно вызвать без параметров (просто cls() ), тогда экран после очистки останется чёрным, либо с одним параметром - числом от 0 до 15, означающим номер цвета в текущей палитре.

Палитра по умолчанию выглядит так, есть возможность установить другую:

здесь мы вызвали cls с параметром 15, что соответствует белому цвету. Следующая строчка интересней. Она рисует круг и получает целых четыре параметра. Первые два - это координаты центра. Начало координат находится в левом верхнем углу экрана. Первая координата - номер столбца (слева направо), вторая - номер строки (сверху вниз). Разрешение экрана у TIC-80 - 240х136, т.е. 240 столбцов и 136 строк, нумерация начинается с нуля, соответственно координаты центра - 120,68. Следующий параметр - длина радиуса (в пикселях) и последний - цвет (тот самый из палитры).

Давайте теперь внутри круга нарисуем ещё один, какого-нибудь другого цвета. Что нужно сделать? Поместить в конец программы ещё одну строчку, рисующую круг, где центр будет там же, радиус будет меньше 30, а цвет будет отличаться от 5 (цвет большого круга). Строки программы выполняются последовательно, поэтому их порядок важен - нужно чтобы маленький круг рисовался после большого:

Кроме круга, в TIC-80 есть ещё несколько графических примитивов

(небольшое пояснение. Координаты точки - это всегда сначала номер столбца (или x) и номер строки (или y). Все размеры - радиус, ширина, высота и т.д. даются в кол-ве пикселей): pix ( x, y, color ) - координаты точки, цвет (рисует точку)

line ( x0, y0, x1, y1, color ) - координаты двух точек, цвет (рисует линию между двумя заданными точками)

circ ( x, y, radius, color ) - координаты точки, радиус, цвет (рисует круг, выше разобран подробно)

circb ( x, y, radius, color ) - координаты точки, радиус, цвет (рисует окружность, круг, не залитый цветом)

rect ( x, y, w, h, color ) - координаты верхнего левого угла, ширина, высота, цвет (рисует прямоугольник)

rectb ( x, y, w, h, color ) - координаты верхнего левого угла, ширина, высота, цвет (рисует не залитый прямоугольник)

tri ( x1, y1, x2, y2, x3, y3, color) - координаты трёх точек, цвет (рисует треугольник) Возможно, в последствии, на основе этих примитивов мы определим другие. Пока сам не очень понимаю, куда этот курс меня и вас заведёт :) . пока задание - поиграть с графическими примитивами, освоиться с координатами и порисовать что-нибудь интересное. Пока просто между "function TIC()" и "end" помещаем cls и последовательность из перечисленных выше примитивов с параметрами. Результаты можно (и желательно) выкладывать в группу курса.

Этого кота моя дочка нарисовала на PICO-8, здесь 7 кругов, 1 прямоугольник и три линии :) .

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

Related Posts

bottom of page