9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
|
1 | |
Шахматы. Определить в какой клетке фигура06.08.2024, 16:53. Показов 3445. Ответов 65
Метки нет (Все метки)
1) создали словарик или массив с координатами все клеток
2) создали цикл в котором универсальное условие: в котором берем координаты из массива или словарика и определяем по клику в клетку в какой координате был клик типа А1, B5, E2 и т п как это можно записать ?
0
|
06.08.2024, 16:53 | |
Ответы с готовыми решениями:
65
Шахматы: как определить, есть ли на пути ладьи другая фигура? Определить, угрожает ли фигура, стоящая на клетке (х1,у1), клетке с заданными координатами По координатам точек определить в какой плоскости лежит фигура и что это за фигура Шахматы: определить, может ли белая фигура пойти на поле (e, f), не попав при этом под удар черной фигуры |
3696 / 2646 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
06.08.2024, 17:46 | 3 |
Набор бессвязных слов ...
0
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
||||||
06.08.2024, 19:25 [ТС] | 4 | |||||
Крч еще раз
вот создал словарики var a1 = {x1: 10, x2:15} var a2 = {x1: 120, x2:155 } и надо определить в какой промежуток войдет число B var B = 122 можно конечно каждый раз писать
Если в массив как то определить может [a1, a2, a3] а как потом в условие одинаковое для всех вставить ? чТОбы перебрать все элементы,пока не определиться нужный сектор ?
0
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
|
06.08.2024, 19:43 [ТС] | 6 |
Да какая разница, ну напиши на С++ пфф
Это скрипт GODOT там я не знаю как С++ вставить
0
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
|||||||||||
06.08.2024, 20:23 [ТС] | 7 | ||||||||||
вот создал словарики
var a1 = {x1: 10, x2:15} var a2 = {x1: 120, x2:155 } и надо определить в какой промежуток войдет число B var B = 122 можно конечно каждый раз писать
кАК Это записать чтобы каждый раз условие IF НЕ ПИСАТЬ ? а как потом в условие одинаковое для всех вставить ? чТОбы перебрать все элементы,пока не определиться нужный сектор ? При переборке массива Лабэл выдал такое в консоли вообще нули [<null>, <null>] [<null>, <null>]
0
|
06.08.2024, 20:37 | 8 |
так написал бы сразу, а то я голову ломаю, понять не могу, что за смесь JS и Python
сперва условие нужно понять, но пока я его не вижу и вынужден согласиться, что у вас и магических чисел
0
|
3696 / 2646 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
||||||
06.08.2024, 20:42 | 9 | |||||
Что за клетки ? Кто куда кликает ?
Один виджет для доски, размер клеток известен. Получаем координаты :
cell_width и cell_height - размер одной шахматной ячейки. У вас в примерах нет ничего ни про шахматы ни про ячейки, вместо этого диапазоны. Вхождение в один из непересекающихся диапазонов, можно найти бинарным поиском в отсортированном массиве точек диапазонов. Пример (на ваших данных). {10 15 120 155} - 5 диапазонов, их нумерация (0,1,2,3,4), нас интересуют только нечетные, диапазоны 1 и 3. ищем бинарным (upper_bound) поиском B=122, получаем индекс 3. Нечетный, значит попали в нужный диапазон. Это 3/2 + 1 = 2 наш второй диапазон. При этом, у нас полуоткрытые диапазоны. [L, R)
0
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
||||||
06.08.2024, 21:20 [ТС] | 10 | |||||
Какой то бред у меня выводит при обычном выводе содержимого массива
как лабэл так и на консоль выводит почему то последний элемет вложенного в массив словаря m1 он вообще читает как число, хотя это ключ от словаря
0
|
06.08.2024, 21:45 | 11 | |||||
Mr_den, тебе так нужно?
1
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
|
06.08.2024, 21:55 [ТС] | 12 |
у меня вулкан не работает не могу открыть
Напиши просто как число прогнать по интервалам массива и сравнить чтобы оно подошло в нужный интервал. Я делаю не через тайлмап Короче как я понял идея перед тем как ставить куда то фигуру надо прописывать поле куда она встанет.
0
|
07.08.2024, 00:03 | 14 |
ну тогда тебе просто нужно написать свою функцию для перевода координат курсора в координаты шахматной доски
SmallEvil тебе написал, как это сделать Mr_den, кстати, это 3d шахматы или это просто имитация посредством проекции? Mr_den, если это 3d шахматы, то не советую работать с глобальными координатами и хардкодить расположения клеток доски, а потом их проверять. Такой метод хорошо подходит для 2d, но не для 3d. Советую каждую клетку сделать как отдельный объект со своим collision box. Дальше испускаете луч с камеры и получаете объект, которого луч коснулся. Можно даже без луча, использую сигнал нажатия мышью на коллайдер.
0
|
Just Do It!
|
||||||
07.08.2024, 00:54 | 15 | |||||
Допустим:
1. Верхняя левая точка координаты шахматной доски U.x, U.y 2. Нижняя правая точка координаты шахматной доски D.x, D.y 3. Рандомный клик мауса с координатами M.x, M.y 4. То:
1
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
|
07.08.2024, 11:41 [ТС] | 16 |
У меня клетки не одинаковые Клетка первого ряда подобна клеткам вышестоящим, но отличается от соседней.
Я трансформировал плоскость фронтально и заужается в переспективе. Я задал коэффициент наклона, но если его подставлять во все клетки то углы наклона не сходяться
0
|
3696 / 2646 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
||||||
07.08.2024, 12:55 | 17 | |||||
И это всплыло только в 9-ом посте. И то без подробностей.
Такие вопросы для программиста, даже новичка - это нонсенс. По диапазонам, у вас их всего 8 ? Можно и перебирать. Просто добавьте их в массив. Перебирайте в цикле.
0
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
||||||
07.08.2024, 13:11 [ТС] | 18 | |||||
Уря сделал но только для одного столбца
0
|
9 / 7 / 2
Регистрация: 06.09.2022
Сообщений: 308
|
|
07.08.2024, 13:52 [ТС] | 19 |
Да я же скрин давал. Когда 4 координаты углов клетки записать в словарь и из клеток сделать массив,
то почему то на консоль выдает только последнюю координату
0
|
08.08.2024, 00:41 | 20 |
Mr_den, вот 3d доска
0
|
08.08.2024, 00:41 | |
08.08.2024, 00:41 | |
Помогаю со студенческими работами здесь
20
Шахматы: определить, может ли белая фигура пойти на поле (e, f), не попав при этом под удар черной фигуры Определить, бьет ли ферзь, стоящий на клетке (k,l), фигуру, стоящую на клетке (m,n) Определить, бьет ли ферзь, стоящий на клетке (k, l), фигуру, стоящую на клетке (m, n) Определить, бьет ли конь, стоящий на клетке с указанными координатами, фигуру, стоящую на другой указанной клетке Определить, бьет ли ладья, стоящая на клетке с указанными координатами, фигуру, стоящую на другой указанной клетке Определить, бьет ли ладья, стоящая на клетке с указанными координатами, фигуру, стоящую на другой указанной клетке Необходимо сделать шахматы. Ходить должна только фигура ферзя. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |