Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Игра 3 в ряд

Страниц (10): [1] 2 3 4 5 6 7 8 9 ... » В конец
 

1. konctantin777 - 11 Сентября, 2018 - 10:20:11 - перейти к сообщению
На форуме есть пример, но там только несколько // комментариев Белый флаг
Поле 10х10. Создаём массив massiv[110][110]. Есть переменные и координаты размера поля, размеры каждого квадратика. Сканирую каждый квадратик, и если есть нужная фигура записываю "1". А есть более оптимальный алгоритм заполнить массив ?
Подскажите как привязать массив к координатам ? Например, нужно нажать на координаты которые соответствуют massiv[5][1] и massiv[6][1]- не могу понять как это сказать программе..
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

 Цитата:
ищу, НО по очерди в каждой клетке

Сразу искать все картинки одного типа, заполнять массив в зависимости от полученных координат.
 Цитата:
, но как об этом кибору сказать ?

CODE:
int sx=300, y=200; // левый верхний угол поля
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; и т.д. ?
(Добавление)
переменные (Отобразить)
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); // переместить курсор в левый верхний угол клетки в четвёртом ряду, пятом столбце

Из этого примера:
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й класс, решение уравнений.


В математике разобраться это вопрос времени. Как привязать к нужному массиву, а чтобы не записалось в 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 столбец
9. konctantin777 - 14 Сентября, 2018 - 11:38:19 - перейти к сообщению
Дело ясное, что дело тёмное... Подскажите где в
оригинальном коде (Отобразить)
забито значение "размер поля под фишку" ? Чтобы переделать под "Небеса"...
10. Zireael - 14 Сентября, 2018 - 12:36:10 - перейти к сообщению
Код сделан под поле 7*7, с полем 6*6 не будет работать. Точнее будет, но потребуются дополнительные исправления.

Powered by ExBB FM 1.0 Final