protected void PickVarRandom(int[] args)
{
var value = ReadWord();
if (ReadVariable(value) == 0)
{
DefineArray(value, ArrayType.IntArray, 0, args.Length);
if (args.Length > 0)
{
int counter = 0;
do
{
WriteArray(value, 0, counter + 1, args[counter]);
} while (++counter < args.Length);
}
ShuffleArray(value, 1, args.Length);
WriteArray(value, 0, 0, 2);
Push(ReadArray(value, 0, 1));
return;
}
var num = ReadArray(value, 0, 0);
var ah = GetArray(value);
var dim1 = ah.Dim1 - 1;
if (dim1 < num)
{
var var_2 = ReadArray(value, 0, num - 1);
ShuffleArray(value, 1, dim1);
if (ReadArray(value, 0, 1) == var_2)
{
num = 2;
}
else
{
num = 1;
}
}
WriteArray(value, 0, 0, num + 1);
Push(ReadArray(value, 0, num));
}