На форуме есть пример, но там только несколько // комментариев
Поле 10х10. Создаём массив massiv[110][110]. Есть переменные и координаты размера поля, размеры каждого квадратика. Сканирую каждый квадратик, и если есть нужная фигура записываю "1". А есть более оптимальный алгоритм заполнить массив ?
Подскажите как привязать массив к координатам ? Например, нужно нажать на координаты которые соответствуют massiv[5][1] и massiv[6][1]- не могу понять как это сказать программе..
1. konctantin777 - 11 Сентября, 2018 - 10:20:11 - перейти к сообщению
2. Zireael - 11 Сентября, 2018 - 16:21:59 - перейти к сообщению
Цитата:
Поле 10х10. Создаём массив massiv[110][110]
Хватит массива 10*10.
Цитата:
и если есть нужная фигура записываю "1"
Записывать надо номер картинки. Чтобы можно было потом сравнивать данные.
Цитата:
А есть более оптимальный алгоритм заполнить массив ?
Искать картинки через findimage.
Цитата:
Например, нужно нажать на координаты которые соответствуют massiv[5][1] и massiv[6][1]
Если размер клетки допустим 40*40, значит 3я клетка будет начинаться в координатах 120 (3*40).
3. konctantin777 - 11 Сентября, 2018 - 22:58:19 - перейти к сообщению
Цитата:
Хватит массива 10*10.
С запасом беру...
Цитата:
и если есть нужная фигура записываю "1"
Цитата:
Записывать надо номер картинки. Чтобы можно было потом сравнивать данные.
Не понял. Номер картинки это ведь и есть массив ? Например massiv[0][5] означает номер картинки 6 в 1м ряду ?
Цитата:
А есть более оптимальный алгоритм заполнить массив ?
Искать картинки через findimage.
Через него и ищу, НО по очерди в каждой клетке..
Цитата:
Например, нужно нажать на координаты которые соответствуют massiv[5][1] и massiv[6][1]
Если размер клетки допустим 40*40, значит 3я клетка будет начинаться в координатах 120 (3*40).[/quote]
Это да, но как об этом кибору сказать ?
4. Zireael - 12 Сентября, 2018 - 08:33:37 - перейти к сообщению
Цитата:
? Например massiv[0][5] означает номер картинки 6 в 1м ряду ?
CODE:
massiv[0][5]=3; // в первом ряду, шестом столбце картинка 3
massiv[2][3]=2; // в третьем ряду, четвёртом столбце картинка 2
massiv[2][3]=2; // в третьем ряду, четвёртом столбце картинка 2
Цитата:
ищу, НО по очерди в каждой клетке
Сразу искать все картинки одного типа, заполнять массив в зависимости от полученных координат.
Цитата:
, но как об этом кибору сказать ?
CODE:
int sx=300, y=200; // левый верхний угол поля
int x=40, y=40; // размеры клетки
mousemove(sx+x*3, sy+y*4); // переместить курсор в левый верхний угол клетки в четвёртом ряду, пятом столбце
int x=40, y=40; // размеры клетки
mousemove(sx+x*3, sy+y*4); // переместить курсор в левый верхний угол клетки в четвёртом ряду, пятом столбце
5. konctantin777 - 12 Сентября, 2018 - 11:04:48 - перейти к сообщению
Поторопился я задать столько вопросов- сам запутался ( Надо по- очереди...
Думал, что надо записывать состояние клетки, а не её номер..
1. Сначала проверяем всё поле и ищем все фишки нужного цвета.
(Добавление)
2. Получили массив с порядковым № изображения и его координатами. А как его привязать к нужной клетке ?
(вначале ведь соотносим 100 клеток massiv[0][0]=0; massiv[1][0]=1; massiv[2][0]=2; и т.д. ?
(Добавление)
Думал, что надо записывать состояние клетки, а не её номер..
1. Сначала проверяем всё поле и ищем все фишки нужного цвета.
код (Отобразить)
(Добавление)
2. Получили массив с порядковым № изображения и его координатами. А как его привязать к нужной клетке ?
(вначале ведь соотносим 100 клеток massiv[0][0]=0; massiv[1][0]=1; massiv[2][0]=2; и т.д. ?
(Добавление)
переменные (Отобразить)
6. Zireael - 12 Сентября, 2018 - 13:24:52 - перейти к сообщению
Цитата:
Получили массив с порядковым № изображения и его координатами. А как его привязать к нужной клетке ?
CODE:
int sx=300, y=200; // левый верхний угол поля
int x=40, y=40; // размеры клетки
mousemove(sx+x*3, sy+y*4); // переместить курсор в левый верхний угол клетки в четвёртом ряду, пятом столбце
int x=40, y=40; // размеры клетки
mousemove(sx+x*3, sy+y*4); // переместить курсор в левый верхний угол клетки в четвёртом ряду, пятом столбце
Из этого примера:
sx+x*3=420
sy+y*4=360
Надо из этого получить 3 и 4, чтобы записать номер картинки в massiv[3][4]...математика где-то 5й класс, решение уравнений.
7. konctantin777 - 12 Сентября, 2018 - 22:41:52 - перейти к сообщению
Цитата:
sx+x*3=420
х*3=420-300
Надо из этого получить 3 и 4, чтобы записать номер картинки в massiv[3][4]...математика где-то 5й класс, решение уравнений.
х*3=420-300
Надо из этого получить 3 и 4, чтобы записать номер картинки в massiv[3][4]...математика где-то 5й класс, решение уравнений.
В математике разобраться это вопрос времени. Как привязать к нужному массиву, а чтобы не записалось в massiv[0][0] ? Вопрос как переменные друг к другу привязать...
8. Zireael - 13 Сентября, 2018 - 12:09:43 - перейти к сообщению
Цитата:
Как привязать к нужному массиву, а чтобы не записалось в massiv[0][0] ?
CODE:
int i=3;
int j=4;
massiv[i][j]=2; // записать 2 в 4 строку 5 столбец
int j=4;
massiv[i][j]=2; // записать 2 в 4 строку 5 столбец
9. konctantin777 - 14 Сентября, 2018 - 11:38:19 - перейти к сообщению
Дело ясное, что дело тёмное... Подскажите где в
оригинальном коде (Отобразить)
забито значение "размер поля под фишку" ? Чтобы переделать под "Небеса"...
10. Zireael - 14 Сентября, 2018 - 12:36:10 - перейти к сообщению
Код сделан под поле 7*7, с полем 6*6 не будет работать. Точнее будет, но потребуются дополнительные исправления.