Я создаю или, по крайней мере, пытаюсь создать бота для мобильного игрового фермера с помощью SikuliX IDE, но я новичок в Python, мой основной язык - Java, и я не знаю, как правильно работать с логикой игры, используя Python.
Логика игры:
Есть 4 места для одного монстра
если вы поместите ранг 1 монстра 1 на пробел 1, вы не сможете поставить ранг 2 того же монстра в любое другое пространство.
игра обнаружит, что вы выбрали монстра, если вы держите портрет монстра в течение 2 секунд, а затем перетащите его в пространство
после достижения монстром максимального уровня, автозапуск останавливается и появляется экран с сообщением «levelMax»
если у меня заканчиваются запуски, автозапуск останавливается, появляется сообщение «runZero», и бот останавливается
процесс бот:
Первый запуск - триггер для запуска бота.
после появления «levelMax» идет процесс замены всех монстров с уровня max на монстров уровня 1, и цикл начинается снова, пока все прогоны не закончатся или пока не будет 4 монстров уровня 1.
ps: я буду публиковать отладочные сообщения при редактировании, я забываю записывать их
PS2: возможно, вы, ребята, обнаружите игру, основываясь на логике
Редактировать: [ошибка] Ошибка, вызванная: Traceback (последний вызов был последним): файл "C: \ SikuliX \ dragAndDrop.sikuli \ dragAndDrop.py", строка 40, в monstroUm = monster [ monstroInt] IndexError: индекс вне диапазона: 2
monster1 = ["rank1.png","rank2.png"]
monster2 = ["rank1.png","rank2.png"]
monster3 = ["rank1.png","rank2.png"]
monster4 = ["rank1.png","rank2.png"]
monstersArray = [monster1, monster2, monster3, monster4]
levelMax = "1524942610020.png"
close = "1524942624936.png"
manage = "1524942638721.png"
okButton = "1524943405776.png"
start = "1524943415429.png"
yesButton = "1524943424798.png"
runsZero = "runsZero.png"
closeChat = "closeChat.png"
arrowLeft = "arrowLeft.png"
nox = App.focus("NoxPlayer 6.0.8.0")
localizacoes = [Location(355, 324),Location(357, 506),Location(356, 679),Location(357, 855)]
Settings.DelayBeforeDrag = 2.5
Settings.DelayBeforeDrop = 2.5
running = True
while (nox.hasWindow() and running):
localiza = 0
monstersArrayInt = 0
monstersSelect = monsters
while localiza <= len(localizacoes):
while monstersArrayInt <= len(monstersSelect):
monster = monstersSelect[monstersArrayInt]
monstroInt = 0
while monstroInt <= len(monster):
monstroUm = monster[monstroInt]
if monsterWindow.exists(monstroUm,3):
noxWindow.dragDrop(monstroUm,localiza)
del monstersSelec[monstersArrayInt]
localiza += 1
break
elif monstroInt == len(monstersSelect):
monstersArrayInt += 1
break
else: #exists(monstroUm) == False:
monstroInt += 1
wheel(monsterWindow,WHEEL_DOWN, 2)