Обложка канала

Репетитор IT mentor

2776 @mentor_it

Заметки репетитор по физике, математике, программированию. Разбор интересных задач, типичных ошибок и способов их решения.

Репетитор IT mentor

3 года назад
Открыть в
💡 Интересная задачка попалась мне, когда перебирал свои старые черновики Есть шахматное поле n на n. На поле m ладей. Нужно определить какое число клеток не заняты и не находятся под боем. Мне стало интересно сделать визуализацию решения, чтобы можно было легко посчитать пальцем число свободных клеток, тем самым проверить правильность работы программы. На вход программы подается матрица [8][8], в которой цифрой "1" отмечены места, в которых стоят ладьи. По этой матрице строится другая матрица, в которой "0" отмечаются свободные поля, а клетки, которые находятся под ударом отмечаются FLAG_ATTACK = -1. По матрице позиций под атакой рисуются красные клетки, иллюстрирующие запрещенные ходы. Остальная доска рисуется алгоритмом, который переключает цвета с помощью деления по модулю 2. ( 0 - белый цвет, 1 - серый ). Плюс для компактности я решил использовать сквозной индекс по двумерному массиву. Хотя, вложенных циклов в некоторых местах итак получилось по 4. Думаю, что графических процедур в программе будет достаточно, чтобы написать какую-нибудь простенькую пиксельную игру типа "змейка" :) Если вам было бы интересно почитать про реализацию змейки или другой пиксельной игры, то напишите об этом в комментариях и проявите какую-то активность. 📝 В данном случае язык реализации был Pascal ( IDE: PascalABC ). https://pastebin.com/yg5zKEu7 #математика #программирование #информатика #pascal #delphi