Send("1") Send("3") Send("2")
Very simple but not random at all. I would like to be able to send these in a random order each time.
Posted 06 July 2012 - 06:42 PM
Send("1") Send("3") Send("2")
Posted 06 July 2012 - 06:45 PM
for $x = 1 to 3 ConsoleWrite(Random(1,3, 1) & @CRLF) next
Edited by gcue, 06 July 2012 - 06:46 PM.
Posted 06 July 2012 - 07:06 PM
#include <Array.au3> Dim $array[3] = [1,2,3] $array = _ArrayPermute($array) For $i = 1 To 100 ConsoleWrite($array[Random(1, $array[0], 1)] & @LF) Next
Posted 06 July 2012 - 07:29 PM
#include <array.au3> Dim $numbers[3] = [1, 2, 3] _ArrayRandom($numbers) For $x = 0 To UBound($numbers) - 1 ConsoleWrite($numbers[$x] & @CRLF) Next ; #FUNCTION# ==================================================================================================================== ; Name...........: _ArrayRandom ; Description ...: Randomize the row order of (part of) a 1D or 2D array. ; Syntax.........: _ArrayRandom(ByRef $avArray, $iStart = 0, $iEnd = 0) ; Parameters ....: $avArray - Array to randomize ; $iStart - [optional] Index of array to start at ; $iEnd - [optional] Index of array to stop at ; Return values .: Success - 1 ; Failure - 0, sets @error: ; |1 - $avArray is not an array ; |2 - $iStart is greater than $iEnd ; Author ........: Tom Vernooij ; Modified.......: ; Remarks .......: Based on Yashied's method ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _ArrayRandom(ByRef $avArray, $iStart = 0, $iEnd = 0) If Not IsArray($avArray) Then Return SetError(1, 0, 0) Local $iRow, $iCol, $rRow, $Temp, $numCols = UBound($avArray, 2), $Ubound = UBound($avArray) - 1 ; Bounds checking If $iEnd < 1 Or $iEnd > $Ubound Then $iEnd = $Ubound If $iStart < 0 Then $iStart = 0 If $iStart > $iEnd Then Return SetError(2, 0, 0) ; for 2 dimentional arrays: If $numCols Then For $iRow = $iStart To $iEnd ;for each row... $rRow = Random($iStart, $iEnd, 1) ;...select a random row For $iCol = 0 To $numCols - 1 ;swich the values for each cell in the rows $Temp = $avArray[$iRow][$iCol] $avArray[$iRow][$iCol] = $avArray[$rRow][$iCol] $avArray[$rRow][$iCol] = $Temp Next Next ; for 1 dimentional arrays: Else For $iRow = $iStart To $iEnd ;for each cell... $rRow = Random($iStart, $iEnd, 1) ;...select a random cell $Temp = $avArray[$iRow] ;switch the values in the cells $avArray[$iRow] = $avArray[$rRow] $avArray[$rRow] = $Temp Next EndIf Return 1 EndFunc ;==>_ArrayRandom
Edited by gcue, 06 July 2012 - 07:43 PM.
0 members, 0 guests, 0 anonymous users