diff --git a/scala/guiUtils/src/main/scala/zombies/parameters.scala b/scala/guiUtils/src/main/scala/zombies/parameters.scala index 5de1384..e827127 100644 --- a/scala/guiUtils/src/main/scala/zombies/parameters.scala +++ b/scala/guiUtils/src/main/scala/zombies/parameters.scala @@ -115,6 +115,7 @@ object parameters { val redCrossSize = Range("redCrossSize", RangeValue(0, 50, 1, 10, 0), Variable) + val redCrossPerception = Range("redCrossPerception", RangeValue(0.0, 5.0, 0.01, physic.humanPerception, 0.0), Variable) val redCrossExhaustionProbability = Range("redCrossExhaustionProbability", RangeValue(0.0, 1.0, 0.01, physic.humanExhaustionProbability, 0.0), Variable) val redCrossExhaustionMechanism = OnOff("redCrossExhaustion", false, Variable, Seq(redCrossExhaustionProbability.name)) val redCrossFollowProbability = Range("redCrossFollowProbability", RangeValue(0.0, 1.0, 0.01, physic.humanFollowProbability, 0.0), Variable) @@ -129,7 +130,7 @@ object parameters { } :+ armyAggressive.name) val redCrossOnOff = OnOff("red cross", false, Variable, - Seq(redCrossSize, redCrossFollowProbability, redCrossInformProbability, activationDelay, efficiencyProbability).map { + Seq(redCrossSize,redCrossPerception, redCrossFollowProbability, redCrossInformProbability, activationDelay, efficiencyProbability).map { _.name } ++ Seq(redCrossAggressive.name, redCrossExhaustionMechanism.name)) diff --git a/scala/guiUtils/src/main/scala/zombies/simulate.scala b/scala/guiUtils/src/main/scala/zombies/simulate.scala index 8093be1..3550264 100644 --- a/scala/guiUtils/src/main/scala/zombies/simulate.scala +++ b/scala/guiUtils/src/main/scala/zombies/simulate.scala @@ -48,6 +48,7 @@ object simulate { case _ => RedCross( value(redCrossSize), scalaOptionValue(redCrossExhaustionMechanism, redCrossExhaustionProbability).map{_.asInstanceOf[Double]}, + value(redCrossPerception), value(redCrossFollowProbability), value(redCrossInformProbability), booleanValue(redCrossAggressive), diff --git a/scala/model/src/main/scala/zombies/api.scala b/scala/model/src/main/scala/zombies/api.scala index c841d76..725f019 100644 --- a/scala/model/src/main/scala/zombies/api.scala +++ b/scala/model/src/main/scala/zombies/api.scala @@ -191,6 +191,7 @@ trait DSL { def RedCross( size: Int, exhaustionProbability: Option[Double] = None, + perception: Double = physic.humanPerception, followProbability: Double = 0.0, informProbability: Double = physic.humanInformProbability, aggressive: Boolean = true, diff --git a/scala/model/src/main/scala/zombies/simulation.scala b/scala/model/src/main/scala/zombies/simulation.scala index cbbfe5d..d4231e9 100644 --- a/scala/model/src/main/scala/zombies/simulation.scala +++ b/scala/model/src/main/scala/zombies/simulation.scala @@ -72,6 +72,7 @@ object simulation { case class RedCross( size: Int, exhaustionProbability: Option[Double] = None, + perception: Double = physic.humanPerception, followProbability: Double = 0.0, informProbability: Double = physic.humanInformProbability, aggressive: Boolean = true, @@ -167,7 +168,7 @@ object simulation { walkSpeed = walkSpeed * cellSide, runSpeed = humanRunSpeed * cellSide, exhaustionProbability = humanExhaustionProbability, - perception = humanPerception * cellSide, + perception = redCross.perception * cellSide, maxRotation = humanMaxRotation, followRunningProbability = redCross.followProbability, fight = Fight(humanFightBackProbability, aggressive = redCross.aggressive), diff --git a/scala/zombieland/.gitignore b/scala/zombieland/.gitignore new file mode 100644 index 0000000..95e59e5 --- /dev/null +++ b/scala/zombieland/.gitignore @@ -0,0 +1,2 @@ +zombieland.zip + diff --git a/scala/zombieland/src/main/scala/zombies/zombieland.scala b/scala/zombieland/src/main/scala/zombies/zombieland.scala index 4be18ce..160d36d 100644 --- a/scala/zombieland/src/main/scala/zombies/zombieland.scala +++ b/scala/zombieland/src/main/scala/zombies/zombieland.scala @@ -40,6 +40,7 @@ object zombieland { redCrossOnOff, redCrossSize, + redCrossPerception, redCrossExhaustionMechanism, redCrossExhaustionProbability, redCrossFollowProbability,