|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
||||||
Шахматы. Каким образом можно задать соответствие полей, координат и индексов массива15.05.2015, 20:45. Показов 1037. Ответов 2
Метки нет (Все метки)
Доброго времени суток, уважаемые форумчане!
Передо мной стоит задача сделать интерфейс по уже практически допиленному движку игры "Шахматы". Суть проблемы: есть изображение доски, где каждая клетка примерно 40х40 пикселей (см. аттач), а так же есть массив игры примерно следующего содержания:
Моя задумка: Кликните здесь для просмотра всего текста
Среди всего, что приходит мне в голову - взять всю доску 8х8 за изображение и рекурсивно сегментировать его по принципу квадродерева до размера одной клетки.Словесно примерно так:
1. Проверяем, принадлежат ли координаты курсора игровому полю. Если нет - return, если да, разбиваем его на 4 равных квадрата/четверти. 2. Перебором проверяем четверти на то, содержат ли они в себе координаты курсора, и далее разбиваем содержащую эти координаты четверть еще на 4 четверти (уже 1/8 от игрового поля). 3. Продолжаем пункт №2 до тех пор, пока в ходе разбиения не дойдем до размеров квадрата, равных размерам клетки, то бишь 1/64 доски. (аттач №2). Но мне кажется это достаточно непросто в реализации, плюс таким образом не получится делать обратные действия (из движка игры приходят координаты, которые нужно перевести в действие на игровой доске). Есть ли какие-нибудь варианты, как это можно осуществить? Заранее спасибо
0
|
||||||
| 15.05.2015, 20:45 | |
|
Ответы с готовыми решениями:
2
Каким образом можно задать последовательность чисел Добрый день. Подскажите, каким образом в system можно задать условие? Как задать усилителю коэффициент передачи не числом, а выражениям, каким образом это можно сделать |
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 15.05.2015, 21:10 | |
|
bogdan_017, разве не проще координаты ico фигуры, по которой "кликнули", делить на ширину клетки и таким образом получать индекс ячейки? Или у вашей доски клетки неодинаковых размеров??
1
|
|
|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
|
| 15.05.2015, 22:57 [ТС] | |
|
nick42, эврика!! все элементарно и просто, а я тут алгоритмы выдумываю.
вот что называется "горе от ума"
0
|
|
| 15.05.2015, 22:57 | |
|
Помогаю со студенческими работами здесь
3
Каким образом можно задать число "е"? Массив: каким образом можно изменить размер многомерного массива
Можно ли использовать DAO вместо Ado и если Можно то каким образом? Каким образом при создании UserControl или класса задать helpstring? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|