我怎样才能改进我的随机程序AHK脚本

时间:2015-09-03 12:22:41

标签: random autohotkey

我是编程的初学者。我需要一个程序,每秒生成1到100之间的随机数。这是我用简单的AHK脚本编写的代码。

Loop
{
 Random, rand_num, 1, 100
ToolTip, Random number:`n%rand_num%`n`nPress ESC to close
Sleep, 1000
}

ESC::ExitApp

结果没问题。但我认为他们是解决这一任务的更好选择。该计划并不顺利。所以当我移动鼠标时,带有数字的字段是滞后的。或滞后可能是错误的词。它没有用鼠标实时移动。第二个想法是=>按转义关闭文字。是他们删除这个的简单方法吗?这样有数字的字段会变小一点? 我有一些java和python的经验,也许用这些语言创建程序更容易。但我是初学者。希望有人可以用我的AHK脚本或提示帮助我如何用另一种语言解决任务。感谢每个帮助评论

2 个答案:

答案 0 :(得分:2)

SetBatchLines, -1
lastNumTick := A_TickCount
Random, randNum, 1, 100
SetTimer, UpdateRandomNumber, 1

UpdateRandomNumber:
    If (A_TickCount > lastNumTick+1000) {
        Random, randNum, 1, 100
        lastNumTick := A_TickCount
    }
    ToolTip, %randNum%
Return

ESC::ExitApp

或许您更喜欢这样:

SetTimer, UpdateRandomNumber, 1000

UpdateRandomNumber:
    Random, randNum, 1, 100
    TrayTip,, %randNum%
Return

ESC::ExitApp

答案 1 :(得分:0)

Java 7解决方案:

import java.util.Random;
import java.util.concurrent.TimeUnit;

public class MyRandom {
    public static void main(String[] args) {
        Random random = new Random(System.currentTimeMillis());
        int iRandomValue;

        while (true) {
            // random.nextInt(99) generates number between 0 and 99;
            iRandomValue = 1 + random.nextInt(99);
            System.out.println("Random number: " + iRandomValue);

            try {
                Thread.sleep(TimeUnit.SECONDS.toMillis(1));
            } catch (InterruptedException exIgnoreInterrupted) {
            }
        }
    }
}