|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.03.2015, 12:20 | #1 |
Регистрация: 01.03.2015
Сообщений: 5
|
Паскаль. Задача с использованием Графики
Дана шахматная доска размером NxN. Написать программу, которая позволяет игроку расположить на доске M коней и проверяет, что ни один конь не бьет другого. Если это не так, то "неправильные" кони помечаются другим цветом.
Управление фигурами осуществляется с помощью клавиатуры. Значения N(4<=N<=10) M(4<=M<=9). p.s самое главное из этой задачи я не пойму, как при перетаскивании фигуры на шахматное поле он просчитывал ходы. Как свзяать графику и сам код. Зарание спасибо за помощь. |
01.03.2015, 14:54 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Например, в программе есть массив, хранящий координаты коней. Есть процедура, отрисовывающая его на экран в правильном виде. Пользователь может перемещать по полю некий указатель. Если указатель находится на клетке с конем, то можно начать операцию перемещения коня, например, нажав пробел. Программа узнает, какого именно коня хотят двигать, и будет менять координаты именно у него в массиве. Функцию проверки можно вызывать после каждого сдвига или после отпускания.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.03.2015, 17:30 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а Паскаль какой?
я бы вобще организовал такой интерфейс - поле и список доступных коней. клавишами перемещаем прямоугольник-выделение текущего поля (это очень просто сделать). Для выделенной клетки можно организовать действие "Поставить/убрать коня" в текущую выделенную клетку (например, по нажатию пробела). А в остальном полностью согласен в BDA - " свзяать графику и сам код" нужно так - в памяти должна быть структура (например, массив в данном случае), который и хранит реальные данные игрового поля - где и какие фигуры стоят. А интерфейс должен обеспечивать взаимосвязь между данными в памяти и отображением поля на экране. |
01.03.2015, 17:51 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Serge_Bliznykov, идея "поставить/убрать коня" мне больше нравится (а то при передвигании коня пришлось бы еще решать проблему со "столкновениями" с другими конями).
Хранить самих коней можно или в двухмерном массиве, обозначающим всё поле (больше памяти - легче для работы), или в одномерном массиве с записями-координатами (меньше памяти - чуть труднее работать).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.03.2015, 17:51 | #5 | |
Регистрация: 01.03.2015
Сообщений: 5
|
Цитата:
p.s free pascal |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задача на паскаль с использованием подпрограмм | Julichka1k | Помощь студентам | 2 | 06.02.2012 19:47 |
задача на паскаль с использованием подпрограмм | Julichka1k | Помощь студентам | 1 | 05.02.2012 20:17 |
задача на двумерный массив с использованием процедуры(Паскаль) | Вероника_94 | Помощь студентам | 2 | 31.01.2012 00:59 |
Графики с использованием С++ builder | iKarma | C++ Builder | 1 | 21.11.2011 12:07 |
Задача на решение графики в Паскаль! | Ka1n777 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 17.09.2009 14:45 |