更改

跳到导航 跳到搜索
第115行: 第115行:  
[[File:life game.zip|Netlogo源代码]]
 
[[File:life game.zip|Netlogo源代码]]
 
[[File:code1.png|right|400px|thumb|setup运行初始状态]]
 
[[File:code1.png|right|400px|thumb|setup运行初始状态]]
 +
代码整体分为两部分,setup和go部分。其中setup进行环境的初始化,go进行持续运行。
 +
====setup部分====
 +
setup的核心代码如下:
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
 
patches-own[living]
 
patches-own[living]
第121行: 第124行:  
   clear-all
 
   clear-all
 
   reset-ticks
 
   reset-ticks
   ask patches[
+
   ask patches[      
     if random-float 1 < 0.5 [
+
     if random-float 1 < 0.5 [   #以0.5的概率设置白格,黑白格比例为1:1,可以在实际中将0.5改为其他值,来模拟不同黑白格比例
 
       set pcolor white
 
       set pcolor white
 
     ]
 
     ]
第147行: 第150行:  
end
 
end
 
</syntaxhighlight>
 
</syntaxhighlight>
代码解释:
+
====go部分====
代码整体分为两部分,setup和go部分。其中setup进行环境的初始化,go进行持续运行。
+
go按钮在创建之时就设定了持续执行,因此程序会一直进行下去。在每一轮中,程序都会遍历每个格,来判断每个格周围的存活数量。如果黑格周围存活数不等于3,其将死亡,表现为由黑格转为白格。若一个白格周围存活数正好是3,会变为黑色,即为存活状态。在棋盘上所有格子均判断完一轮后,由于设定了持续执行,程序会再次进行遍历,不断循环下去。随着迭代次数的增加,整个环境也会趋于较稳定状态。go部分的核心代码如下:
<syntaxhighlight lang="python">
  −
  ask patches[
  −
    if random-float 1 < 0.5 [
  −
      set pcolor white
  −
    ]
  −
</syntaxhighlight>
  −
这段代码是setup的核心,意思为以0.5的概率设置白格,黑白格比例为1:1,可以在实际中将0.5改为其他值,来模拟不同黑白格比例。
   
[[File:lgss.gif|400px|thumb|right|运行过程]]
 
[[File:lgss.gif|400px|thumb|right|运行过程]]
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
第170行: 第166行:  
   ]
 
   ]
 
</syntaxhighlight>
 
</syntaxhighlight>
这段代码是go部分的核心代码。go按钮在创建之时就设定了持续执行,因此程序会一直进行下去。在每一轮中,程序都会遍历每个格,来判断每个格周围的存活数量。如果黑格周围存活数不等于3,其将死亡,表现为由黑格转为白格。若一个白格周围存活数正好是3,会变为黑色,即为存活状态。在棋盘上所有格子均判断完一轮后,由于设定了持续执行,程序会再次进行遍历,不断循环下去。随着迭代次数的增加,整个环境也会趋于较稳定状态。
+
 
     
7,129

个编辑

导航菜单