NetLogo BehaviorSpace无法通过鼠标按下来识别补丁的初始设置

时间:2016-07-22 12:25:18

标签: netlogo cellular-automata behaviorspace

我有一个具有任意状态配置的补丁网格,其初始设置是使用mouse-down原语手动完成的。 在运行BehaviorSpace时,它会以随机的状态配置开始移动任意设置。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

我真的不确定你在问什么,所以这里有两种可能性。

如果您希望 BehaviorSpace使用随机状态进行修补

public class ReadRss extends AsyncTask<Void,Void,String> {

    public ReadRss(Context context){
    }

    @Override
    protected void onPreExecute() {
    }

    @Override
    protected void onPostExecute(String string) {
        TextView txt_ris = (TextView)findViewById(R.id.txt_ris);
        txt_ris.setText(myresult); 
    }

    @Override
    protected String doInBackground(Void... params) {
        return ProcessXml();
    }

    private String ProcessXml() {
        //HERE CREATE MY STRING
        return "example";
    }
}

另一种选择是使用&#34;设置命令&#34; BehaviorSpace对话框:

enter image description here

如果您希望运行使用状态的BehaviorSpace实验,请用户使用鼠标输入...

......然后事情有点棘手。基本思想是将该状态保存到文件中,然后加载该文件并在从BehaviorSpace运行模型时初始化状态。

在下面的示例中,我使用csv extension

执行此操作

请注意,让to setup clear-all if behaviorspace-run-number != 0 [ ; if BehaviorSpace is running ask patches [ ; use whatever random state you want... set pcolor one-of [ black white ] ] ] reset-ticks end 代表补丁&#39;国家只是为了举个例子;它可以是任何其他类型的州。

pcolor

我意识到上面代码的某些部分可能很难理解(即使用extensions [ csv ] to setup clear-all if behaviorspace-run-number != 0 [ (foreach (sort patches) (first csv:from-file "patch-states.csv") [ ask ?1 [ set pcolor ?2 ] ]) ] reset-ticks end to draw ; call this from a "forever" button if mouse-down? [ ask patch mouse-xcor mouse-ycor [ set pcolor white ] ] end to save ; call this from a regular button let patch-states map [ [ pcolor ] of ? ] sort patches (csv:to-file "patch-states.csv" (list patch-states)) end foreach)。如果您不了解特定部分,请随时提出跟进问题。