Author Topic: Три в ряд  (Read 23568 times)

0 Members and 1 Guest are viewing this topic.

salovan

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Три в ряд
« Reply #15 on: October 12, 2017, 01:43:07 PM »
Непонимаю, картинки ищет, в логе отображается "Найдено элементов = 6" но остальные нули. Разъясните плз что не так делаю?
Ничего не понимая в массивах -  несовсем понимаю что в итоге получается? сам ход вроде не делает, нигде не отображает... Версия 4.11 003

14:33:57 найдено 1-х элементов:  0
14:33:57 
14:33:57 $mass 0
14:33:57 Лучшый на цвет 0 / 0, 0 / 0
14:33:58 найдено 2-х элементов:  7
14:33:58 
14:33:58 $mass 0
14:33:58 Лучшый на цвет 0 / 0, 0 / 0
14:33:58 найдено 3-х элементов:  10
14:33:58 
14:33:58 $mass 0
14:33:58 Лучшый на цвет 0 / 0, 0 / 0
14:33:58 найдено 4-х элементов:  8
14:33:58 
14:33:58 $mass 0
14:33:58 Лучшый на цвет 0 / 0, 0 / 0
14:33:58 найдено 5-х элементов:  5
14:33:58 
14:33:58 $mass 0
14:33:58 Лучшый на цвет 0 / 0, 0 / 0
14:33:58 Время выполнения 155 мс

Голубок

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Три в ряд
« Reply #16 on: April 12, 2018, 03:35:12 AM »
Приветствую.
интересно конечно разобраться самому в коде, но времени как всегда не хватает.
интересует частный вариант скрипта для игры типа три в ряд.
онлайн игра  1100ad.com   (три в ряд там в разделе мини игр появляется на некоторый период по праздникам)
поле 8 х 8,   7 цветов кажется + "супер кристал " для каждого цвета + 1 "самый супер кристал" для всех цветов
+ молоточки + звездочки
вознаграждение обсуждаемо.
Заранее спасибо за ответ.
« Last Edit: April 13, 2018, 09:03:56 AM by Za1ex »

Mishka0711

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Три в ряд
« Reply #17 on: August 24, 2018, 01:30:53 AM »
Спасибо автору за тему, думал написать что-то подобное под диамант 3 в ряд, но нашел этот код. Большую часть взял за основу своего ядра, но процедуру OBRABOTKA_CELL так и не смог понять. Пришлось ее написать по своему. для упрощения были добавлены доп. массивы к массиву $map, $mapX и $mapY в которых просто находится положение ячейки в числах 0-9 по горизонтали и вертикали которые помогают ориентироваться на поле и не искать за его пределами. Также с их помощью в логе генерируется отчет о каждой комбинации в виде
2:27:08 4-кл 4-0 4-1 3-2 4-3
2:27:08 3-кл 0-4 2-4 3-4
2:27:08 3-кл 2-4 3-4 4-3

также были добавлены доп массивы-карты аналогичные Map из исходного кода с координатами каждой ячейки. По перебору вариантов и нахождения каждой комбинации из них сразу же копируются две пары координат откуда-куда переместить элемент. Набиваются они в 3 итоговых массива 5-кл, 4-кл, 3-кл. на основании которых потом делается отчет в логе типа:
2:27:08 найдено 5-кл комбинаций:  0
2:27:08 найдено 4-кл комбинаций:  1
2:27:08 найдено 3-кл комбинаций:  7
и также на основании 3х итоговых массивов уже можно гибко программировать стратегию автоигры либо по макс комбинациям либо по приоритетным элементам или по определенному порядку действий

если что ниже также картинка из моей игры для нагрядности

Code: [Select]

SUB(OBRABOTKA_CELL2)
   // print("îáðàáîòêà")
   if($mapX[$cell]<5)   //ïÿòèêëåòî÷íàÿ ïî ãîðèçîíòàëè
      if(($map[$cell+1]=1)&($map[$cell+3]=1)&($map[$cell+4]=1))
         if($mapY[$cell]>0)
            if($map[$cell+2-9]=1)
               print("5-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+2-9],"-",$mapY[$cell+2-9]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ",$mapX[$cell+4],"-",$mapY[$cell+4]," ")
               arrpush($5kl,$mapcordX[$cell+2-9])
               arrpush($5kl,$mapcordY[$cell+2-9])
               arrpush($5kl,$mapcordX[$cell+2])
               arrpush($5kl,$mapcordY[$cell+2])
            end_if
         end_if
         if($mapY[$cell]<8)
            if($map[$cell+2+9]=1)
               //        print($map[$cell+3])
               print("5-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+2+9],"-",$mapY[$cell+2+9]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ",$mapX[$cell+4],"-",$mapY[$cell+4]," ")
               arrpush($5kl,$mapcordX[$cell+2+9])
               arrpush($5kl,$mapcordY[$cell+2+9])
               arrpush($5kl,$mapcordX[$cell+2])
               arrpush($5kl,$mapcordY[$cell+2])
            end_if
         end_if
      end_if
   end_if
   
   $klass=0
   if($mapY[$cell]<5)   //ïÿòèêëåòî÷íàÿ ïî âåðòèêàëè
      if(($map[$cell+1*9]=1)&($map[$cell+3*9]=1)&($map[$cell+4*9]=1))
         if($mapX[$cell]>0)
            if($map[$cell+2*9-1]=1)
               print("5-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1*9],"-",$mapY[$cell+1*9]," ",$mapX[$cell+2*9-1],"-",$mapY[$cell+2*9-1]," ",$mapX[$cell+3*9],"-",$mapY[$cell+3*9]," ",$mapX[$cell+4*9],"-",$mapY[$cell+4*9]," ")
               arrpush($5kl,$mapcordX[$cell+2*9-1])
               arrpush($5kl,$mapcordY[$cell+2*9-1])
               arrpush($5kl,$mapcordX[$cell+2*9])
               arrpush($5kl,$mapcordY[$cell+2*9])
            end_if
         end_if
         if($mapX[$cell]<8)
            if($map[$cell+2*9+1]=1)
               //        print($map[$cell+3*9])
               print("5-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1*9],"-",$mapY[$cell+1*9]," ",$mapX[$cell+2*9+1],"-",$mapY[$cell+2*9+1]," ",$mapX[$cell+3*9],"-",$mapY[$cell+3*9]," ",$mapX[$cell+4*9],"-",$mapY[$cell+4*9]," ")
               arrpush($5kl,$mapcordX[$cell+2*9+1])
               arrpush($5kl,$mapcordY[$cell+2*9+1])
               arrpush($5kl,$mapcordX[$cell+2*9])
               arrpush($5kl,$mapcordY[$cell+2*9])
            end_if
         end_if
      end_if
   end_if
   
   
   
   
   
   if($mapX[$cell]<6)   //÷åòûðåõêëåòî÷íàÿ ïî ãîðèçîíòàëè
      if(($map[$cell+1]=1)&($map[$cell+3]=1))
         if($mapY[$cell]>0)
            if($map[$cell+2-9]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+2-9],"-",$mapY[$cell+2-9]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ")
               arrpush($4kl,$mapcordX[$cell+2-9])
               arrpush($4kl,$mapcordY[$cell+2-9])
               arrpush($4kl,$mapcordX[$cell+2])
               arrpush($4kl,$mapcordY[$cell+2])
            end_if
         end_if
         if($mapY[$cell]<8)
            if($map[$cell+2+9]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+2+9],"-",$mapY[$cell+2+9]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ")
               arrpush($4kl,$mapcordX[$cell+2+9])
               arrpush($4kl,$mapcordY[$cell+2+9])
               arrpush($4kl,$mapcordX[$cell+2])
               arrpush($4kl,$mapcordY[$cell+2])
            end_if
         end_if
      end_if
     
      if(($map[$cell+2]=1)&($map[$cell+3]=1))
         if($mapY[$cell]>0)
            if($map[$cell+1-9]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1-9],"-",$mapY[$cell+1-9]," ",$mapX[$cell+2],"-",$mapY[$cell+2]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ")
               arrpush($4kl,$mapcordX[$cell+1-9])
               arrpush($4kl,$mapcordY[$cell+1-9])
               arrpush($4kl,$mapcordX[$cell+1])
               arrpush($4kl,$mapcordY[$cell+1])
            end_if
         end_if
         if($mapY[$cell]<8)
            if($map[$cell+1+9]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1+9],"-",$mapY[$cell+1+9]," ",$mapX[$cell+2],"-",$mapY[$cell+2]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ")
               arrpush($4kl,$mapcordX[$cell+1+9])
               arrpush($4kl,$mapcordY[$cell+1+9])
               arrpush($4kl,$mapcordX[$cell+1])
               arrpush($4kl,$mapcordY[$cell+1])
            end_if
         end_if
      end_if
   end_if
   
   if($mapY[$cell]<6)   //÷åòûðåõêëåòî÷íàÿ ïî âåðòèêàëè
      if(($map[$cell+1*9]=1)&($map[$cell+3*9]=1))
         if($mapX[$cell]>0)
            if($map[$cell+2*9-1]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1*9],"-",$mapY[$cell+1*9]," ",$mapX[$cell+2*9-1],"-",$mapY[$cell+2*9-1]," ",$mapX[$cell+3*9],"-",$mapY[$cell+3*9]," ")
               arrpush($4kl,$mapcordX[$cell+2*9-1])
               arrpush($4kl,$mapcordY[$cell+2*9-1])
               arrpush($4kl,$mapcordX[$cell+2*9])
               arrpush($4kl,$mapcordY[$cell+2*9])
            end_if
         end_if
         if($mapX[$cell]<8)
            if($map[$cell+2*9+1]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1*9],"-",$mapY[$cell+1*9]," ",$mapX[$cell+2*9+1],"-",$mapY[$cell+2*9+1]," ",$mapX[$cell+3*9],"-",$mapY[$cell+3*9]," ")
               arrpush($4kl,$mapcordX[$cell+2*9+1])
               arrpush($4kl,$mapcordY[$cell+2*9+1])
               arrpush($4kl,$mapcordX[$cell+2*9])
               arrpush($4kl,$mapcordY[$cell+2*9])
            end_if
         end_if
      end_if
     
      if(($map[$cell+2*9]=1)&($map[$cell+3*9]=1))
         if($mapX[$cell]>0)
            if($map[$cell+1*9-1]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1*9-1],"-",$mapY[$cell+1*9-1]," ",$mapX[$cell+2*9],"-",$mapY[$cell+2*9]," ",$mapX[$cell+3*9],"-",$mapY[$cell+3*9]," ")
               arrpush($4kl,$mapcordX[$cell+1*9-1])
               arrpush($4kl,$mapcordY[$cell+1*9-1])
               arrpush($4kl,$mapcordX[$cell+1*9])
               arrpush($4kl,$mapcordY[$cell+1*9])
            end_if
         end_if
         if($mapX[$cell]<8)
            if($map[$cell+1*9+1]=1)
               print("4-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1*9+1],"-",$mapY[$cell+1*9+1]," ",$mapX[$cell+2*9],"-",$mapY[$cell+2*9]," ",$mapX[$cell+3*9],"-",$mapY[$cell+3*9]," ")
               arrpush($4kl,$mapcordX[$cell+1*9+1])
               arrpush($4kl,$mapcordY[$cell+1*9+1])
               arrpush($4kl,$mapcordX[$cell+1*9])
               arrpush($4kl,$mapcordY[$cell+1*9])
            end_if
         end_if
      end_if
   end_if
   
   if($mapX[$cell]<6)   //òðåõêëåòî÷íàÿ ïî ãîðèçîíòàëè
      if($map[$cell+1]=1)
         if($map[$cell+3]=1)
            print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ")
            arrpush($3kl,$mapcordX[$cell+3])
            arrpush($3kl,$mapcordY[$cell+3])
            arrpush($3kl,$mapcordX[$cell+2])
            arrpush($3kl,$mapcordY[$cell+2])
         end_if
      end_if
   end_if
   
   if($mapX[$cell]<7)   //òðåõêëåòî÷íàÿ ïî ãîðèçîíòàëè
      if($map[$cell+1]=1)
         if($mapY[$cell]>0)
            if($map[$cell+2-9]=1)
               print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+2-9],"-",$mapY[$cell+2-9]," ")
               arrpush($3kl,$mapcordX[$cell+2-9])
               arrpush($3kl,$mapcordY[$cell+2-9])
               arrpush($3kl,$mapcordX[$cell+2])
               arrpush($3kl,$mapcordY[$cell+2])
            end_if
         end_if
         if($mapY[$cell]<8)
            if($map[$cell+2+9]=1)
               print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1],"-",$mapY[$cell+1]," ",$mapX[$cell+2+9],"-",$mapY[$cell+2+9]," ")
               arrpush($3kl,$mapcordX[$cell+2+9])
               arrpush($3kl,$mapcordY[$cell+2+9])
               arrpush($3kl,$mapcordX[$cell+2])
               arrpush($3kl,$mapcordY[$cell+2])
            end_if
         end_if
      end_if
      if($map[$cell+2]=1)
         if($map[$cell+3]=1)
            print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+2],"-",$mapY[$cell+2]," ",$mapX[$cell+3],"-",$mapY[$cell+3]," ")
            arrpush($3kl,$mapcordX[$cell])
            arrpush($3kl,$mapcordY[$cell])
            arrpush($3kl,$mapcordX[$cell+1])
            arrpush($3kl,$mapcordY[$cell+1])
         end_if
         if($mapY[$cell]>0)
            if($map[$cell+1-9]=1)
               print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1-9],"-",$mapY[$cell+1-9]," ",$mapX[$cell+2],"-",$mapY[$cell+2]," ")
               arrpush($3kl,$mapcordX[$cell+1-9])
               arrpush($3kl,$mapcordY[$cell+1-9])
               arrpush($3kl,$mapcordX[$cell+1])
               arrpush($3kl,$mapcordY[$cell+1])
            end_if
         end_if
         if($mapY[$cell]<8)
            if($map[$cell+1+9]=1)
               print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1+9],"-",$mapY[$cell+1+9]," ",$mapX[$cell+2],"-",$mapY[$cell+2]," ")
               arrpush($3kl,$mapcordX[$cell+1+9])
               arrpush($3kl,$mapcordY[$cell+1+9])
               arrpush($3kl,$mapcordX[$cell+1])
               arrpush($3kl,$mapcordY[$cell+1])
            end_if
         end_if
      end_if
      if($mapY[$cell]>0)
         if(($map[$cell+1-9]=1)&($map[$cell+2-9]=1))
            print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1-9],"-",$mapY[$cell+1-9]," ",$mapX[$cell+2-9],"-",$mapY[$cell+2-9]," ")
            arrpush($3kl,$mapcordX[$cell])
            arrpush($3kl,$mapcordY[$cell])
            arrpush($3kl,$mapcordX[$cell-9])
            arrpush($3kl,$mapcordY[$cell-9])
         end_if
      end_if
      if($mapY[$cell]<8)
         if(($map[$cell+1+9]=1)&($map[$cell+2+9]=1))
            print("3-êë ",$mapX[$cell],"-",$mapY[$cell]," ",$mapX[$cell+1+9],"-",$mapY[$cell+1+9]," ",$mapX[$cell+2+9],"-",$mapY[$cell+2+9]," ")
            arrpush($3kl,$mapcordX[$cell])
            arrpush($3kl,$mapcordY[$cell])
            arrpush($3kl,$mapcordX[$cell+9])
            arrpush($3kl,$mapcordY[$cell+9])
         end_if
      end_if
   end_if
   
end_sub

konct777

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Три в ряд
« Reply #18 on: September 25, 2018, 07:45:58 PM »
А у меня тоже не кликает. Мышь уходит в нижний правый. Проверяю на "Сокровище Мотсесумы". Подскажите где почитать как правильно делать картинки ?

konct777

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Три в ряд
« Reply #19 on: September 25, 2018, 08:42:19 PM »
Картинки есть, но кликер, наверное их не находит.. ?

PasqualeAcosta

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Три в ряд
« Reply #20 on: October 21, 2018, 11:16:11 AM »
Есть игра 3 в ряд, Gems of War. Только там поля 8х8. Подсобите, с чего вообще начать переделку скрипта под нее?
Возможно кто то уже делал под эту игру?
Поле там такое как на скрине и 7 элементов (цветов) сборки.

« Last Edit: October 23, 2018, 02:02:59 PM by PasqualeAcosta »

PasqualeAcosta

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Три в ряд
« Reply #21 on: October 21, 2018, 12:01:48 PM »
7 цветов имелось ввиду с сейфами, они на скрине есть.

Anch665

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Три в ряд
« Reply #22 on: March 16, 2020, 04:28:35 PM »
А у вас случаем не осталось этого бота?

kanmisha

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Три в ряд
« Reply #23 on: September 14, 2021, 01:49:34 PM »
Основа для автоматизации игр типа "три в ряд".
 "Сокровища Мантесумы", бой в "Небеса" и т.п.

Здравствуйте. Может вы мне поможете разобться и применить этот скрипт в небесах в пещере.
« Last Edit: August 08, 2023, 02:47:11 PM by Vint »