X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?p=clnl;a=blobdiff_plain;f=bin%2Fruncmd.scala;h=e2d16d78ac099caaa605d2284f955bd73a41fd48;hp=eb0d46394a3e2b1697f655a4ab0ea0d93c0c4fea;hb=9eef8ecae4fad1e01413807ebc80ae45b5990706;hpb=a0f8850031d5821c69b286d17004166f870fcd8e diff --git a/bin/runcmd.scala b/bin/runcmd.scala index eb0d463..e2d16d7 100755 --- a/bin/runcmd.scala +++ b/bin/runcmd.scala @@ -7,59 +7,40 @@ exec scalas "$0" -q "$@" logLevel in Global := Level.Error - scalaVersion := "2.10.3" + scalaVersion := "2.9.2" libraryDependencies ++= Seq( "asm" % "asm-all" % "3.3.1", "org.picocontainer" % "picocontainer" % "2.13.6", - "org.nlogo" % "NetLogo" % "6.0.0-M3" from "http://ccl.northwestern.edu/devel/6.0.0-M3/NetLogo.jar", - "org.nlogo" % "NetLogoHeadless" % "6.0.0-M3" from "http://ccl.northwestern.edu/devel/6.0.0-M3/NetLogoHeadless.jar" + "org.nlogo" % "NetLogo" % "5.2.0" from "http://ccl.northwestern.edu/netlogo/5.2.0/NetLogo.jar" ) */ import org.nlogo.headless.HeadlessWorkspace -import org.nlogo.mirror import org.nlogo.api import org.nlogo.nvm import org.nlogo.util.Utils.url2String +import collection.JavaConversions._ + System.out.println("----") val workspace = HeadlessWorkspace.newInstance workspace.silent = true workspace.openFromSource(url2String("file:resources/empty.nlogo")) -val commands = io.Source.stdin.getLines.mkString("\n") - -workspace.runCompiledCommands(new api.SimpleJobOwner("test", workspace.world.mainRNG, api.AgentKind.Observer), workspace.compileCommands(commands, api.AgentKind.Observer)) -mirror.Mirrorables.allMirrorables(workspace.world).map( x => { - System.out.print("(") - System.out.print(":" + x.kind) - System.out.print(" ") - System.out.print(x.agentKey.id) - System.out.print(" (") - x.kind.Variables.values.toSeq.map( k => { - System.out.print("(:" + k + " ") - System.out.print(x.getVariable(k.id) match { - case s: java.lang.String => "\"s\"" - case d: java.lang.Double => d + "d0" - case b: java.lang.Boolean => if(b)"T" else "NIL" - case _: org.nlogo.api.ShapeList => ":SHAPELIST" - case v => v - }) - System.out.print(") ") - }) - System.out.println(")") - - }) +val input = io.Source.stdin.getLines.mkString("\n").split("\\@\\#\\$\\#\\@\\#\\$\\#\\@") +val commands = input(0) -/* -workspace.runCompiledCommands(new api.SimpleJobOwner("test", workspace.world.mainRNG, api.AgentKind.Observer), workspace.compileCommands("random-seed 15", api.AgentKind.Observer)) -for(_ <- 1 to 40) - System.out.println(workspace.runCompiledReporter(new api.SimpleJobOwner("test", workspace.world.mainRNG, api.AgentKind.Observer), workspace.compileReporter("random-float 30"))) +workspace.mainRNG.setSeed(15) +if(commands.length > 0) { + workspace.runCompiledCommands(new api.SimpleJobOwner("test", workspace.world.mainRNG, classOf[api.Observer]), workspace.compileCommands(commands)) +} +if(input.length > 1) { + val reporter = input(1) + System.out.println(org.nlogo.api.Dump.logoObject(workspace.runCompiledReporter(new api.SimpleJobOwner("test", workspace.world.mainRNG, classOf[api.Observer]), workspace.compileReporter(reporter)))) +} -val m = new org.nlogo.util.MersenneTwisterFast(); -m.setSeed(15); -for(_ <- 1 to 40) - System.out.println(30d * m.nextDouble())*/ +workspace.world.exportWorld(new java.io.PrintWriter(System.out, true), true) +System.out.println(org.nlogo.headless.Checksummer.calculateChecksum(workspace.world.exportWorld(_, true))) workspace.dispose