Что нового

Умножение переменной на 2,при повторе условия

rcs322

Новичок
Сообщения
2
Репутация
0
Доброго времени суток,нуждаюсь в вашей помощи.
В игре есть рулетка.(не на деньги).Суть проблемы:
У меня установлено условие= если на экране на оп. координатах программа видит пиксели(2 в ряд) красного цвета,то
курсор идет по координатам поля,куда писать ставку,вводит в поле переменную(ее значение = 100).
Как сделать так,чтобы при повторном обнаружении этого же пикселя вводилось
умноженное на 2 значение переменной?(каждый раз,при обнаружении повтора)
Но,если выдается другой цвет,программа возвращает значение переменной на исходное(100) и снова просто сканирует ряд из одинаковых пикселей и
ждет ряда
Нужно: при повторном обнаружении этих же пикселей умножать переменную $CTABKA на 2 и при обнаружении любого другого цвета возвращать значение в 100.
P.S.
Условия по типу:если выпало 7 пикселей,вводим 100,если 8 пикселей,то 200(так не пойдет,отображает только последние 11 ставок,а иногда один и тот же цвет выпадает по 12-15 раз,т.е. все "поле" красное")
Исправил пост(после обнаружения ряда пикселей,курсор ведется в поле со ставкой(куда вписывать сумму))
КОД:
//обрезал вступительные диалоги
Код:
#include <MsgBoxConstants.au3>
#Include <WinAPIEx.au3>
#Include <WindowsConstants.au3>
Dim $TestWindow
HotKeySet("[","start")
HotKeySet("]","ende")

While 1
	Sleep(100)
Wend

Func ende()
	Exit
EndFunc

Func start()
	
	While 1
	
	Sleep(300)
	 
	$var5 = PixelGetColor(1195,435)
	$var6 = PixelGetColor(1241,435)
	$RED = 0xB04A43
	$GREEN = 0x5CB85C
	$BLACK = 0x4A4A4A
	$CTABKA = 100
	 
	 if $var5 =$RED and $var6 =$RED Then
		 MouseMove( 871, 510) 
	     MouseClick("left" )
	     Send($CTABKA )
	     MouseMove(1532,607)
	     MouseClick("left")
	     MouseMove( 871, 510) 
	     MouseClick("left" )
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("20")
	     MouseMove(963,608)
	     MouseClick("left")
	     MouseMove( 871, 510) 
	     MouseClick("left" )
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("{Backspace}")
	     Send("{Backspace}")	      
	     Sleep(44000);пауза на время кручения рулетки+запас времени при лаге или небольшом затупе на секунды 3-4
	 
	
	  EndIf
	  
	  WEnd
	Sleep(200)
	 
EndFunc
 
A

Alofa

Гость
Код:
; ...
Local $CTABKA = 50
Func start()
	
	While 1
	; ...
	 if $var5 =$RED and $var6 =$RED Then
         $CTABKA *= 2
	; ...
	  Else
         $CTABKA = 50
	  EndIf
	  WEnd
	Sleep(200)
EndFunc
 
Автор
R

rcs322

Новичок
Сообщения
2
Репутация
0
Alofa сказал(а):
Код:
; ...
Local $CTABKA = 50
Func start()
	
	While 1
	; ...
	 if $var5 =$RED and $var6 =$RED Then
         $CTABKA *= 2
	; ...
	  Else
         $CTABKA = 50
	  EndIf
	  WEnd
	Sleep(200)
EndFunc
Огромное спасибо!Вставил в свой код-все работает!По такому же принципу сделал удвоение ставки на грин. :beer: :beer: :beer:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
rcs322

Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.
 
Верх