的NetLogo每次得到不同的随机数从某些列表

的NetLogo每次得到不同的随机数从某些列表

问题描述:

假设我有列表的NetLogo每次得到不同的随机数从某些列表

let mylist [0 1 2 3] 

,我想从这个数组是在每一个刻度比以前的一个不同产生的随机数。

实施例:勾选一个 - 生成0 蜱2 - 生成2 蜱3 - 生成1 蜱4 - 生成3

现在我有

let mylist [0 1 2 3] 
let x one-of mylist 

但是,返回例如两连续剔号为0.

任何提示?谢谢。

一种方法是存储上次打勾中使用的数字,将其与当前打勾中选择的数字进行比较,如果相同,则选择不同的数字。

globals [ 
    previous_number 
] 

to generate 

    let current_number previous_number 
    let mylist [ 0 1 2 ] 
    while [ current_number = previous_number ] [ 
    set current_number one-of mylist 
    ] 
    set previous_number current_number 
    print current_number 

end