2017-06-01 8 views
0

を作成して印刷する方法は、しかし、私はnetlogoは以下のエラーを返す、ということを試みる:私はJobarrayを呼び出し、配列のリストを作成したいアレイ

Extension exception: not an array: 0 
    error while job 470 running ARRAY:ITEM 
    called by procedure JOBLIST 
    called by procedure PLACE-JOBS 
    called by procedure SETUP 
    called by Button 'Setup' 

これらは私のコード

です
to setup 
ca 
place-jobs 
print Jobarray 
reset-ticks 
end 

to set-job-index 
let columns 3 
let rows-job Number-Of-Jobs set 
Jobarray array:from-list n-values rows-job [array:from-list n-values columns [0]] 
end 

to Joblist [#col #row #val] 
array:set (array:item Jobarray #row) #col #val 
end 

to draw-pods 
    ;draw pods area 
    ask patches with [(pxcor mod 4 = 2 or pxcor mod 4 = 3) and (pycor mod (Pod-size + 2) > 1 and pycor < (max-pycor - 4))] 
    [ 
    sprout 1 
    [ 
     set shape "square" 
     set color blue 
     stamp 
     die 
    ] 
    set meaning "pods" 
    ] 
end 

to place-jobs 
    let Job-index 0 ;; row of list; 0 == 1 
    ask n-of (Number-Of-Jobs) patches with [meaning = "pods"] 
    [ 
     sprout-jobs 1 
     [ 
     Joblist 0 Job-index who 
     Joblist 1 Job-index pxcor 
     Joblist 2 Job-index pycor 
     set Job-index (Job-index + 1) 
     set shape "square" 
     set color pink 
     set job-value 1 
     stamp 
;  die 
     ] 
    set meaning "jobs" 
    set Jobnum (count jobs-on patches with [meaning = "jobs"]) 
    ] 
end 

誰でも私がなぜそれを修正できるか説明するのに役立つことができますか?私はGoogleと辞書を検索しようとしましたが、それでも理由を理解していません。 よろしくお願いいたします。 Minh

答えて

3

Jobarrayは初期化されていません。私はあなたがエージェントであるときにset-job-indexに電話するのを忘れたと思います。

+0

ありがとう、ありがとうございました:D –

+1

問題ありません!この質問に答えられたことを他の人が知るように、答えを正しく記入してください。 –

関連する問題