【问题标题】:NetLogo scoring system for distance travelled行驶距离的 NetLogo 评分系统
【发布时间】:2010-12-30 00:57:27
【问题描述】:

我的 NetLogo 评分系统有问题。当乌龟越过三个方块时,我无法让它在我的分数监视器上显示增量。有人可以帮忙吗?

到目前为止我的代码:

breed [ defaults default ]
defaults-own  [ new-heading ]

breed [squares1 square]
breed [squares2 square]
breed [squares3 square]

globals [
  score         


]



to setup-row [row colour segments]
  foreach segments
  [
      if pycor = row * row-patches-width and
        (pxcor >= col-patches-width * (item 0 ?)) and (pxcor <= col-patches-width * (item 1 ?))
          [set pcolor colour]
  ]
end

to setup-col [col colour segments]
  foreach segments
  [
      if pxcor = col * col-patches-width and
        (pycor >= row-patches-width * (item 0 ?)) and (pycor <= row-patches-width * (item 1 ?))
          [set pcolor colour]
  ]
end

to setup-arwels-maze

  clear-all
  set score 0
  setup-defaults 
  setup-squares1 
  setup-squares2
  setup-squares3 

  ask patches
  [
      if (pxcor >= min-pxcor and pxcor <= max-pxcor and
        pycor >= min-pycor and pycor <= max-pycor)
          [set pcolor black] 


      setup-row  8  white [[-15 15]]
      setup-row  6  white [[-15 -10][10 15]]
      setup-row  3  white [[-15 -10][10 15]]
      setup-row  6  white [[-4 4]]
      setup-row  4  white [[-6 6]]
      setup-row -1  white [[-2 2]]
      setup-row -3  white [[-4 4]]
      setup-row  1  white [[-3 3]]
      setup-row  0  white [[-15 -10][10 15]]
      setup-row -4  white [[-15 -10][10 15]]
      setup-row -7  white [[-15 -10][10 15]]
      setup-row -6  white [[-3 -2][2 3]]
      setup-row -9  white [[-3 3]]
      setup-row -11 white [[-11 11]]
      setup-row -13 white [[-15 15]]


      setup-col  15 white [[ 0 8][-13 -4]]
      setup-col  10 white [[-7 -4][0 3]]
      setup-col  12 white [[ 3 4]]
      setup-col  7  white [[-7.5 2][6 8]]
      setup-col  3  white [[-9 -6][1 4]]
      setup-col  0  white [[-3 -1]]
      setup-col -3  white [[-9 -6][1 4]]
      setup-col -7  white [[-7.5 2][6 8]]
      setup-col -10 white [[-7 -4][0 3]]
      setup-col -12 white [[ 3 4]]
      setup-col -15 white [[ 0 8][-13 -4]]
  ]

end

to setup-defaults
  create-defaults 1
  [ set color yellow
    set shape "default"
    set size 4
    setxy 2 -48
    set heading 0




      ]
end

to setup-squares1
   create-squares1 1
     [ 
    set shape "square"
    set color random 14 * 10 + 5
    set size 3
    setxy 38 28
    set heading 0


      ]
end

to setup-squares2
   create-squares2 1
     [ 
    set shape "square"
    set color random 14 * 10 + 5
    set size 3
    setxy -5 -8
    set heading 0

      ]
end

to setup-squares3
   create-squares3 1
     [ 
    set shape "square"
    set color random 14 * 10 + 5
    set size 3
    setxy 40 -45
    set heading 0


      ]
end


to move-up
  ask defaults[ fd 1.00 ]

end

to move-right
  ask defaults [ rt 90 ]
end

to move-down
  ask defaults [ bk 1.00 ]
end

to move-left
  ask defaults [ lt 90 ]
end

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    要确定在同一个补丁中是否有一个 square1 作为默认值,您可以这样做

    ask defaults [ if (any? squares1-here) [...thenpart....][..elsepart...]]
    

    如果你想确定在默认值 5 的距离内是否有一个 square1 则使用

    ask defaults [if (any? squares1 in-radius 5) [....]]
    

    我也注意到你的台词

    breed [squares1 square]
    breed [squares2 square]
    breed [squares3 square]
    

    错了。您不能重复使用“正方形”。应该是

    breed [squares1 square1]
    breed [squares2 square2]
    breed [squares3 square3]
    

    【讨论】:

    • 我们将为 NetLogo 4.2 解决这个问题,以便编译器拒绝重复的单数名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2017-08-03
    相关资源
    最近更新 更多