Найти в Дзене
Некто

Как сделать лабиринт на КУМИР часть 1

Всем привет! Отчасти из-за мнения моего преподавателя по информатике, отчасти из-за моих представлений о создании игр, я был уверен? что КуМир - чисто учебный язык, позволяющий делать самые примитивные программы, и конечно не позволяющий создавать игры. Недавно моё мнение резко изменилось. Я не нашёл в интернете никаких инструкций по созданию игр с использованием этого языка, поэтому решил сделать свою. Скачать КуМир можно здесь. Итак, начнём! Я решил показать процесс создания игры на примере лабиринта, потому что это просто, но, поняв, принцип, вы сможете делать и другие игры. Сначала надо научиться рисовать объекты. Для этого нужно открыть КуМир, создать новый файл и импортировать исполнитель "Рисователь", как на скриншоте. новый лист(510, 510, черный) создает рабочую поверхность, в скобках координаты по ширине, длине кисть(зеленый) устанавливает цвет, которым будет залита фигура перо(1, зеленый) устанавливает цвет контура фигуры или рисуемой линии, первый параметр - толщина со знач

Всем привет! Отчасти из-за мнения моего преподавателя по информатике, отчасти из-за моих представлений о создании игр, я был уверен? что КуМир - чисто учебный язык, позволяющий делать самые примитивные программы, и конечно не позволяющий создавать игры. Недавно моё мнение резко изменилось. Я не нашёл в интернете никаких инструкций по созданию игр с использованием этого языка, поэтому решил сделать свою. Скачать КуМир можно здесь.

Итак, начнём!

Я решил показать процесс создания игры на примере лабиринта, потому что это просто, но, поняв, принцип, вы сможете делать и другие игры. Сначала надо научиться рисовать объекты. Для этого нужно открыть КуМир, создать новый файл и импортировать исполнитель "Рисователь", как на скриншоте.

-2

новый лист(510, 510, черный) создает рабочую поверхность, в скобках координаты по ширине, длине

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

перо(1, зеленый) устанавливает цвет контура фигуры или рисуемой линии, первый параметр - толщина со значением 1 по умолчанию

прямоугольник(0, 0, 30, 30) рисует сам прямоугольник, координаты - левая, верхняя и правая границы

Теперь можно оформить то же самое в виде алгоритма-процедуры. (Алгоритмы в кумире разделяются на основные и вспомогательные, вспомогательные в свою очередь делятся на алгоритмы-процедуры и алгоритмы-функции.)

Процедура прямоуг принимает в качестве параметров два целых числа - левая граница и верхняя граница, по этим координатам считает две остальные и рисует прямоугольник. Число 30 - длина или ширина прямоугольника в пикселях.

Теперь пора научиться двигать прямоугольник.

Вечный цикл постоянно проверяет, не нажата ли клавиша, затем сравнивает её с клавишами стрелок и, в случае, если нажата одна из них, изменяет координаты и рисует прямоугольник по новым.

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

Теперь процедура получает не только старые, но и новые координаты прямоугольника. По старым координатам она закрашивает старый прямоугольник черным, а по новым рисует новый, но есть ещё одна проблема: прямоугольник выходит за края поля. Чтобы это исправить, надо проверять ещё одно условие при изменении координат.

Теперь программа, перед тем, как уменьшать или увеличивать координату, проверяет не выйдет ли прямоугольник за границы поля.

На этом первая часть кончается. Вторая часть здесь.