Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - NStra

Pages: [1]
1
Код:
Code: [Select]
GETSCREEN
$pxlxor=PXLXOR(676,675,704,676)
PRINT($pxlxor)
FOR($a=1,$a<TFCOUNT("tyk_tyk.txt")+1)
   IF(TFREAD("tyk_tyk.txt",$a)=STRCONCAT("/",$pxlxor)) //срабатывает даже если не верно
      PRINT("str ",TFREAD("tyk_tyk.txt",$a))
      PRINT("var ",STRCONCAT("/",$pxlxor))
      INC($a,1)
      WHILE(TFREAD("tyk_tyk.txt",$a)!"/end")           //цикл не выполняется
         UNDEFINE($pxlarr)
         STRSEPARATE (TFREAD("tyk_tyk.txt",$a), ",",$pxlarr)
         PRINT($pxlarr[0])                                 
         PRINT($pxlarr[1])
         PRINT($pxlarr[2])
         IF(PXL($pxlarr[0]+8,$pxlarr[1]+8)=$pxlarr[2])
            $HWND=$_hwnd
            HSET($_hwnd,0)
            KEYDOWN(#SHIFT)
            HSET($HWND,1)
            LCLICK($pxlarr[0],$pxlarr[1])
            HSET($_hwnd,0)
            KEYUP(#SHIFT)
            HSET($HWND,1)
         END_IF
         INC($a,1)
      END_CYC
   END_IF
END_CYC
HALT
Содержимое файла:
Code: [Select]
/852606
610,423,1343872
912,403,633754
/end
Лог:
Code: [Select]
19:07:24 852606
19:07:24 str /852606
19:07:24 var /852606
19:07:24 str 912,403,633754
19:07:24 var /852606

2
Общие вопросы / Регистр в привязке
« on: June 01, 2015, 03:28:33 PM »
Здравствуйте.
Возможно этот вопрос уже задавался, но я не нашел на него внятного ответа, так что все-таки спрошу...

Дано:
Строка в файле (например wEr532Re)
Привязанное окно (например блокнот).

Задача:
Запихать строку в блокнот с соблюдением регистра...

Как это сделать?
P.S. Отвязывать окно,  не предлагать.
        RCLICK>вставить, не предлагать.

3
Общие вопросы / Сократить скрипт
« on: May 11, 2015, 11:21:58 AM »
Здравствуйте! Возможно ли сократить следущее?

SWITCH($PX)
 case(4697020)
  4697020()
 case(10297596)
  10297596()
 case(14556873)
  14556873()
END_SWITCH

P.S. Это не полное количество подпрограмм...Их очень много.

4
Дано:    4 переменных, содержащих произвольные числа.
             Переменные могут быть равными по значению.

Задача: Построить алгоритм, определяющий, какая переменная содержит наименьшее число.
              Если таких переменных несколько, выбрать рандомом любую из них.

P.S.       Прошу прощения, если задача окажется легкой...

5
Общие вопросы / Ошибка в функции ARRPUSH
« on: March 26, 2015, 08:20:52 AM »
Функция ARRPUSH добавляет в массив неверное число, если нужное превышает 16 символов.
Код:
Code: [Select]
ARRPUSH($ARRY,12345678901234567)
PRINT($ARRY[0])
HALT
Лог:
Code: [Select]
15:19:34 12345678901234568
Windows 7 Ultimate x32
Clickermann v4.11 (Последняя версия)

6
Предложения / Вместо INPUTBOX
« on: March 24, 2015, 11:40:23 AM »
Здравствуйте! Бывают случаи, когда диалоговое окно, или окно для ввода строки, не совсем к месту. Предлагаю реализовать выпадающую строку.

7
Здравствуйте. Я составил скрипт, но он получился слишком большим. Помогите мне пожалуйста его сократить...
Описание:
1 Скрипт считывает нужные строки в файле.
2 Скрипт перезаписывает первые 3-и записи.
Код:
Code: [Select]
IF($12=1)
 if((iskeydown(#ALT)=1)and(iskeydown(#0)=1))
 waitms(500)
 $f12=0
 $f2=1
 a1()
 End_if
 If(((TFCOUNT("system/LandP.txt"))>3)
 if((iskeydown(#ALT)=1)and(iskeydown(#1)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 4),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 5),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 6),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>6)
 if((iskeydown(#ALT)=1)and(iskeydown(#2)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 7),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 8),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 9),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>9)
 if((iskeydown(#ALT)=1)and(iskeydown(#3)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 10),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 11),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 12),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>12)
 if((iskeydown(#ALT)=1)and(iskeydown(#4)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 13),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 14),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 15),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>15)
 if((iskeydown(#ALT)=1)and(iskeydown(#5)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 16),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 17),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 18),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>18)
 if((iskeydown(#ALT)=1)and(iskeydown(#6)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 19),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 20),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 21),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>21)
 if((iskeydown(#ALT)=1)and(iskeydown(#7)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 22),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 23),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 24),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>24)
 if((iskeydown(#ALT)=1)and(iskeydown(#8)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 25),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 26),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 27),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
 End_if
 If(((TFCOUNT("system/LandP.txt"))>27)
 if((iskeydown(#ALT)=1)and(iskeydown(#9)=1))
 waitms(500)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 28),1)
TFDELETE("system/LandP.txt", 2)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 29),2)
TFDELETE("system/LandP.txt", 3)
TFWRITE("system/LandP.txt",TFREAD("system/LandP.txt", 30),3)
TFDELETE("system/LandP.txt", 4)
 $f12=0
 $f1=1
 a1()
End_if
End_if
END_IF

8
Общие вопросы / Убрать время в логе.
« on: March 20, 2015, 05:40:20 PM »
Здравствуйте!
Подскажите, можно ли убрать вывод времени перед строкой в логе? Если да, то подскажите как это сделать...
Зачем?
1. На лог определено минимум места во время игры, часть лога приходиться прятать за экран.
2. Неприятный сдвиг:
    9:59:30 Hello, world!
    10:00:30 Hello, world!
Заранее спасибо за ответ.

9
Здравствуйте! Помогите составить алгоритм:
Программа: Навигатор
Описание:   Работает с координатной плоскостью. Некоторые клетки в плоскости - стены.
Цель:           Составить несколько маршрутов (в случае препятствий) и выбрать наикратчайший.
Принцип работы:
Для каждой клетки в файле прописаны  идентификатор (возможно динамический), координаты, варианты перехода (влево, вверх, вправо, вниз). Если в данном направлении можно пойти то это 1 иначе 0. Пример строки: "1845024  +2,-2 1011" (можно пойти влево, вправо и вниз).

Если конечная координата слева то нужно идти влево, или вправо если конечная координата справа (сравнивание по координате х до препятствия), если туда нельзя пойти то следует построение 2-х путей-попытка обойти сверху или снизу. Если вниз или вверх нельзя  пойти то 1-н из путей отдалится от конечной координаты на 1, если и вверх и вниз нельзя пойти то следует 1 путь - отдаление от конечной координаты.  !Программа не должна возвращаться на ту клетку где была ранее, иначе это будет бесконечный цикл! В этих 2-х путях продолжать построение вниз и вверх до тех пор пока нельзя будет пойти влево (или вправо если конечная координата справа). Когда препятствие удалось обойти, нужно продолжить сравнивание по координате х...Когда x текущая будет = х конечная - проделать сравнивание по y (тот же скрипт, только вместо x-y -> исполнитель обходит препятствия слева и справа). Когда сравнивание по Y будет завершено, начать сравнивание по x !Возвращаться назад нельзя! После чего опять сравнивание по Y. проделывать до тех пор, пока не будет (x текущее=х конечное) и (y текущее =y конечное)... В итоге сравниваются полученные пути, выбирается наикратчайший...если таких путей несколько, то выбрать тот в котором по y переходов больше. Если таких путей несколько то рандомом. После этого исполнить переход по конечному пути.

Суть проблемы: Я не знаю как мне это осуществить: потоки, массивы или запись путей в файл. В целом я не знаю как построить такой алгоритм (КОД). Я только могу описать как это должно работать...

Что требуется: Помогите пожалуйста построить код, под мое описание.
P.S. На картинке представлено 4 возможных пути. Правый нижний - самый короткий, в нем 13 переходов.

Pages: [1]