Zufall frage

  • hallo liebe community.
    ich beschäftige mich gerade mit der zufallsfunktion.
    über die hilfe gelang ich nur zu folgender ausgabe: IfRandom()<0.5Then
    Jedoch möchte ich eine zufallszahl erzeugen und diese danach benutzen.
    nach jedem durchlauf der schleife soll dann eine neue zufallszahl erstellt und benutzt werden.
    lässt sich das so in etwa realisieren
    bin für jede hilfe sehr dankbar


    var a
    a = zufallszahl
    #include <Misc.au3> ; Binde die Misc.au3 ein( für _IsPressed)
    While 1 ; While Schleife
    If _IsPressed("58") Then ExitLoop; Wenn die X Taste gedrückt wurde, dann gehe aus der Schleife
    WEnd ;Wiederhole die Schleife
    $mousepos=MouseGetPos() ;Ermittle die aktuelle Mausposition
    MouseClick("left", $Mousepos[0], $Mousepos[1], 10) ; Klicke 10 mal auf die aktuele Stelle
    While sleep(a) ; While Schleife die nach jedem Mal 5,05 Sekunden wartet
    $mousepos=MouseGetPos() ;Ermittle die aktuelle Mausposition
    MouseClick("left", $Mousepos[0], $Mousepos[1], 2) ; Klicke 2 mal auf die aktuele Stelle
    erstelle eine zufallszahl zwischen 1 und 10
    If _IsPressed("59") Then Exit ; Wenn Y gedrückt wurde, dann beende das Script
    WEnd ; Wiederholfe die Schleife

    Einmal editiert, zuletzt von rexderruede (4. Mai 2010 um 23:29)

  • Hallo,

    und willkommen im Forum.
    Zu deiner Frage: Klar geht das. Das sieht dann so aus.

    [autoit]

    $iZufall = Random(1, 10)

    [/autoit]
  • Hallo,

    und willkommen im Forum.
    Zu deiner Frage: Klar geht das. Das sieht dann so aus.

    [autoit]

    $iZufall = Random(1, 10)

    [/autoit]

    Schau dir am besten auch die Funktion nochma in der Hilfe an,
    und die Funktion Round() könntest du evtl auch gebrauchen.

    edit: mir fällt grad auf, ich poste schon wieder hier rum, anstatt mein Referat fertig zu kriegen^^

  • ok soweit verstanden

    $iZufall = Random(1, 10) <----- damit generiere ich also mein zufallszahl

    ich hab jetzt versucht das gleich in meine warte zeit die ja zufällig sein soll zu integrieren also so:

    While sleep($iZufall = Random(1, 10))
    --> war error

    mein 2ter versuch:


    While sleep($iZufall)
    $iZufall = Random(1, 10)

    es so in die schleife zu integrieren
    ---> geht auch net

    also meine frage wie verwende ich die erzeugte zufallszahl. mit einer variablen?

  • So:

    [autoit]


    $iZufall = Random(1, 10)
    While 1
    sleep($iZufall)
    $iZufall = Random(1, 10)
    WEnd

    [/autoit]


    Damit machst du aber eine Zufallszahl zwischen 1 und 10, die dann als Zeit genommen word. Aber da du anscheinend das in Sekunden brauchst, mach:

    [autoit]

    sleep($iZufall*1000)

    [/autoit]
  • Das wirst du wohl nicht merken, wenn ein Wert zwischen 1 und 10 Millisekunden generiert wird.

  • am besten guckst du in der Hilfe zu :


    [autoit]


    Sleep()
    While ...WEnd
    If ...Then ...EndIf ; ggf ElseIf oder Else
    Random()

    [/autoit][autoit][/autoit][autoit]

    ;statt if für später
    Switch ...Case ...EndSwitch

    [/autoit]

    Dann könntest du z.B.

    [autoit]


    $Zahl = Random (1, 10, 1)
    Switch $Zahl
    Case 1
    MsgBox(0, "Frage 1", "1.Frage")
    Case 2
    MsgBox(0, "Frage 2", "2.Frage")
    Case 3
    MsgBox(0, "Frage 3", "3.Frage")
    Case 4
    MsgBox(0, "Frage 4", "4.Frage")
    Case 5
    MsgBox(0, "Frage 5", "5.Frage")
    Case 6
    MsgBox(0, "Frage 6", "6.Frage")
    Case 7
    MsgBox(0, "Frage 7", "7.Frage")
    Case 8
    MsgBox(0, "Frage 8", "8.Frage")
    Case 9
    MsgBox(0, "Frage 9", "9.Frage")
    Case 10
    MsgBox(0, "Frage 10", "10.Frage")
    EndSwitch

    [/autoit]

    Es ist nicht meine Art fragen zu beantworten, aber naja...

    So könnte das mit SWITCH aussehen !

    EDIT//

    MIt while:

    [autoit]


    HotKeySet("{ESC}", "_Exit")
    While 1
    $Zahl = Random (1, 10, 1)
    Switch $Zahl
    Case 1
    MsgBox(0, "Frage 1", "1.Frage")
    Case 2
    MsgBox(0, "Frage 2", "2.Frage")
    Case 3
    MsgBox(0, "Frage 3", "3.Frage")
    Case 4
    MsgBox(0, "Frage 4", "4.Frage")
    Case 5
    MsgBox(0, "Frage 5", "5.Frage")
    Case 6
    MsgBox(0, "Frage 6", "6.Frage")
    Case 7
    MsgBox(0, "Frage 7", "7.Frage")
    Case 8
    MsgBox(0, "Frage 8", "8.Frage")
    Case 9
    MsgBox(0, "Frage 9", "9.Frage")
    Case 10
    MsgBox(0, "Frage 10", "10.Frage")
    EndSwitch
    WEnd ;==> Widerhole
    Func _Exit()
    Exit
    EndFunc ;==> EndScript

    [/autoit]

    Mfg Mattthias

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • yes, supi. funktioniert. vielen dank.
    mein fehler war das ich vor meiner schleife, wo auch was abläuft keine zufallszahl zu bestimmen.
    naja egal jetzt klappts

    ja. das 1 sekunde 1000milisekunden sind und das auch so eingegeben werden muss hab ich verstanden ^^
    aber wollt das nur mal verständnis wissen.

    also vilen dank euch

  • . Das sieht dann so aus.

    [autoit]

    $iZufall = Random(1, 10)

    [/autoit]

    Schau dir am besten auch die Funktion nochma in der Hilfe an,
    und die Funktion Round() könntest du evtl auch gebrauchen.

    $iZufall = Random(1, 10)

    sleep($iZufall*1000)

    $Zahl = Random (1, 10, 1)

    Sehe ich richtig, das EliteMattthi als einzigster von euch auf die Idee gekommen ist, von random nur eine ganzzahlige zahl ausgeben zu lassen 8| Ich dachte, ich sehe nicht richtig, und wer jetzt nochmal etwas über EM's AutoIt kentnisse lästert, den verweise sofort ich auf dieses Theard :cursing: :!:

    Aber dennoch: Round für Random :D ich könnt mich schlapplachen :rofl:

    wegen der zufallsFrage, wie das theard ja auch heißt:

    [autoit]


    $frage1 = "bist du dumm?"
    $frage2 = "bist du älter als 50?"
    $frage3 = "Ist AutoIt das coolste der Welt?"
    while 1
    $ran = random(1,3,1)
    if $ran = 1 then MsgBox(68,"Frage",$frage1)
    if $ran = 2 then MsgBox(68,"Frage",$frage2)
    if $ran = 3 then MsgBox(68,"Frage",$frage3)
    wend

    [/autoit]

    Und ja, ich weiß, das man es kompfortabler machen könnte, aber es sollte jetzt möglichst einfach zum verstehen sein

  • EM war anfangs n "schwiriger kandidat".
    Nicht das ich jetzt einer gewesen bin der da glästert hätte aber EM hat schon viiiele fragen gestellt ohne hilfe zu lesen oder so, was etwas nervig war^^

    hat sich aber sehr zum guten gewendet ;)

    @EM: immer schön wenn jemand sein wissen teilt, ich hab auch anfangs versucht überall zu helfen, und nur dadurch hab ich soviel gelernt

    learning by doing oder wenn man so will learning by helfing :D