From faf3dae725766cd7a95209f20b975e8d9fe86783 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Sat, 18 Apr 2020 16:58:52 +0100 Subject: [PATCH 1/8] Experimenting with defprotocol and defrecord. --- src/the_great_game/agent/agent.clj | 38 +++++++++++++++++++++- src/the_great_game/objects/container.clj | 11 +++++++ src/the_great_game/objects/game-object.clj | 19 +++++++++++ 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 src/the_great_game/objects/container.clj create mode 100644 src/the_great_game/objects/game-object.clj diff --git a/src/the_great_game/agent/agent.clj b/src/the_great_game/agent/agent.clj index 7a17103..7d3f999 100644 --- a/src/the_great_game/agent/agent.clj +++ b/src/the_great_game/agent/agent.clj @@ -1,7 +1,43 @@ (ns the-great-game.agent.agent - "Anything in the game world with agency") + "Anything in the game world with agency" + (:require [the-great-game.objects.object :refer [ProtoObject]] + [the-great-game.objects.container :refer [ProtoContainer]])) ;; hierarchy of needs probably gets implemented here ;; I'm probably going to want to defprotocol stuff, to define the hierarchy ;; of things in the gameworld; either that or drop to Java, wich I'd rather not do. +(defprotocol ProtoAgent + "An object which can act in the world" + (act + [actor world circle] + "Allow `actor` to do something in this `world`, in the context of this + `circle`; return the new state of the actor if something was done, `nil` + if nothing was done. Circle is expected to be one of + + * `:active` - actors within visual/audible range of the player + character; + * `:pending` - actors not in the active circle, but sufficiently close + to it that they may enter the active circle within a short period; + * `:background` - actors who are active in the background in order to + handle trade, news, et cetera; + * `other` - actors who are not members of any other circle, although + I'm not clear whether it would ever be appropriate to invoke an + `act` method on them. + + The `act` method *must not* have side effects; it must *only* return a + new state. If the actor's intention is to seek to change the state of + something else in the game world, it must add a representation of that + intention to the sequence which will be returned by its + `pending-intentions` method.") + (pending-intentions + [actor] + "Returns a sequence of effects an actor intends, as a consequence of + acting. The encoding of these is not yet defined.")) + +;; (defrecord Agent +;; "A default agent." +;; ProtoObject +;; ProtoContainer +;; ProtoAgent +;; ) diff --git a/src/the_great_game/objects/container.clj b/src/the_great_game/objects/container.clj new file mode 100644 index 0000000..80a18ce --- /dev/null +++ b/src/the_great_game/objects/container.clj @@ -0,0 +1,11 @@ +(ns the-great-game.objects.container + (:require + [the-great-game.objects.game-object :refer :all])) + +(defprotocol ProtoContainer + (contents + [container] + "Return a sequence of the contents of this `container`, or `nil` if empty.") + (is-empty? + [container] + "Return `true` if this `container` is empty, else `false`.")) diff --git a/src/the_great_game/objects/game-object.clj b/src/the_great_game/objects/game-object.clj new file mode 100644 index 0000000..25c878c --- /dev/null +++ b/src/the_great_game/objects/game-object.clj @@ -0,0 +1,19 @@ +(ns the-great-game.objects.game-object + "Anything at all in the game world") + +(defprotocol ProtoObject + "An object in the world" + (id [object] "Returns the unique id of this object.") + (reify-object + [object] + "Adds this `object` to the global object list. If the `object` has a + non-nil value for its `id` method, keys it to that id - **but** if the + id value is already in use, throws a hard exception. Returns the id to + which the object is keyed in the global object list.")) + +(defrecord GameObject + [id] + ;; "An object in the world" + ProtoObject + (id [_] id) + (reify-object [object] "TODO: doesn't work yet")) From 70b139530bc051474536353679378c43c9086fcc Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Sun, 24 May 2020 10:40:48 +0100 Subject: [PATCH 2/8] Recovery from massive git messup. --- .gitignore | 2 +- doc/Pathmaking.md | 114 ++++ docs/cloverage/index.html | 52 +- .../the_great_game/agent/agent.clj.html | 120 +++- .../the_great_game/gossip/news_items.clj.html | 514 +++++++++--------- .../the_great_game/objects/container.clj.html | 41 ++ .../objects/game_object.clj.html | 65 +++ docs/codox/Baking-the-world.html | 2 +- docs/codox/Pathmaking.html | 79 +++ docs/codox/Populating-a-game-world.html | 2 +- docs/codox/Settling-a-game-world.html | 2 +- ...ad-of-knowledge-in-a-large-game-world.html | 2 +- .../Voice-acting-considered-harmful.html | 2 +- docs/codox/economy.html | 2 +- docs/codox/index.html | 2 +- docs/codox/intro.html | 2 +- .../modelling_trading_cost_and_risk.html | 2 +- docs/codox/naming-of-characters.html | 2 +- docs/codox/on-dying.html | 2 +- docs/codox/orgnic-quests.html | 2 +- docs/codox/sandbox.html | 2 +- docs/codox/sexual-dimorphism.html | 2 +- docs/codox/the-great-game.agent.agent.html | 9 +- docs/codox/the-great-game.gossip.gossip.html | 2 +- .../the-great-game.gossip.news-items.html | 2 +- .../the-great-game.merchants.markets.html | 2 +- ...e-great-game.merchants.merchant-utils.html | 2 +- .../the-great-game.merchants.merchants.html | 2 +- .../the-great-game.merchants.planning.html | 2 +- ...reat-game.merchants.strategies.simple.html | 2 +- .../the-great-game.objects.container.html | 3 + .../the-great-game.objects.game-object.html | 3 + docs/codox/the-great-game.time.html | 2 +- docs/codox/the-great-game.utils.html | 2 +- docs/codox/the-great-game.world.location.html | 2 +- docs/codox/the-great-game.world.routes.html | 2 +- docs/codox/the-great-game.world.run.html | 2 +- docs/codox/the-great-game.world.world.html | 2 +- src/the_great_game/agent/agent.clj | 2 +- .../{game-object.clj => game_object.clj} | 0 40 files changed, 767 insertions(+), 291 deletions(-) create mode 100644 doc/Pathmaking.md create mode 100644 docs/cloverage/the_great_game/objects/container.clj.html create mode 100644 docs/cloverage/the_great_game/objects/game_object.clj.html create mode 100644 docs/codox/Pathmaking.html create mode 100644 docs/codox/the-great-game.objects.container.html create mode 100644 docs/codox/the-great-game.objects.game-object.html rename src/the_great_game/objects/{game-object.clj => game_object.clj} (100%) diff --git a/.gitignore b/.gitignore index b0ebaf1..db35160 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ pom.xml.asc *.jar *.class *.log +*.stl [0-9a-f]*-init.clj /lib/ /classes/ @@ -18,4 +19,3 @@ pom.xml.asc .cpcache/ *~ -doc/.~lock.Population.ods# diff --git a/doc/Pathmaking.md b/doc/Pathmaking.md new file mode 100644 index 0000000..216446b --- /dev/null +++ b/doc/Pathmaking.md @@ -0,0 +1,114 @@ +# Pathmaking + +**NOTE**: this file is called 'pathmaking', not 'pathfinding', because 'pathfinding' has a very specific meaning/usage in game design which is only part of what I want to talk about here. + +## Stages in creating routes between locations + +### The 'procedural' phase + +*see also [[Baking-the-world]]* + +Towards the end of the procedural phase of the build process, every agent within the game world must move through the complete range of their needs-driven repertoire. Merchants must traverse their trading routes; soldiers must patrol routes within their employers domain; primary producers and craftspeople must visit the craftspeople who supply them; every character must visit their local inn, and must move daily between their dwelling and their workplace if different; and so on. They must do this over a considerable period - say 365 simulated days. + +At the start of the baking phase, routes - roads, tracks and paths - designed by the game designers already exist. + +The algorithmic part of choosing a route is the same during this baking phase as in actual game play **except** that during the baking phase the routemap is being dynamically updated, creating a new path or augmenting an existing path wherever any agent goes. + +Thus the 'weight' of any section of route is a function of the total number of times that route segment has been traversed by an agent during this baking phase. At the end of the baking phase, routes travelled more than `R` times are rendered as roads, `T` times as tracks, and `P` times as footpaths, where `R`, `T` and `P` are all chosen by the game designer but generally `R > T > P`. + +### Algorithmic rules + +1. No route may pass through any part of a reserved holding, except the holding which is its origin, if any, and the holding which is its destination (and in any case we won't render paths or roads within holdings, although traversal information may be used to determine whether a holding, or part of it, is paved/cobbled; +2. No route may pass through any building, with the exception of a city gate; +3. We don't have bicycles: going uphill costs work, and you don't get that cost back on the down hill. Indeed, downhills are at least as expensive to traverse as flat ground; +4. Any existing route segment costs only a third as much to traverse as open ground having the same gradient; +5. A more used route costs less to traverse than a less used route. + +### River crossings + +Crossing rivers is expensive - say five times as expensive as level open ground (but this will probably need tuning). Where a river is shallow enough, (i.e. where the amount of water passing is below some threshold) then a path crossing will be rendered as stepping stones and a track crossing as a ford. Where it's deeper than that, a path crossing either isn't rendered at all or is rendered as a light footbridge. A track or road crossing is rendered as a bridge. However, the maximum length of a bridge varies with the amount of traffic on the route segment, and if the crossing exceeds that length then a ferry is used. Road bridges will be more substantial than track bridges, for example in a biome with both timber and stone available road bridges might be rendered as stone bridges while track bridges were rendered as timber. If the watercourse is marked as `navigable`, the bridge must have a lifting section. It is assumed here that bridges are genetic buildings like most other in-game buildings, and so don't need to be individually designed. + +### Representation + +At some stage in the future I'll have actual game models to work with and $DEITY knows what the representation of those will be like, but to get this started I need two inputs: a heightmap, from which gradients can be derived, and a route map. The heightmap can conventionally be a monochrome raster image, and that's easy. The route map needs to be a vector representation, and SVG will be as convenient as any. So from the point of view of routing during the baking phase, a route map shall be an SVG with the following classes: + +* `exclusion` used on polygons representing e.g. buildings, or impassable terrain which may not be traversed at all; +* `openwater` used on polygons representing oceans and lakes, which may be traversed only by boat (or possibly swimming, for limited distances); +* `watercourse` used on paths representing rivers or streams, with some additional attribute giving rate of flow; +* `navigable` may be an additional class on a path also marked `watercourse` indicating that it is navigable by cargo vessels; +* `route` used on paths representing a path, track or road whose final representation will be dynamically assigned at the end of baking, with some additional attribute giving total traversals to date; +* `path` used on paths representing a path designed by the designers, which will certainly be rendered as a path no matter how frequently it is traversed; +* `track` used on paths representing a track designed by the designers, which will certainly be rendered as a track no matter how frequently it is traversed; +* `road` used on paths representing a road designed by the designers, which will certainly be rendered as a road no matter how (in)frequently it is traversed. + +At the end of the baking process the routing engine should be able to write out an updated SVG. New routes should be splined curves, so that they have natural bends not sharp angles. + +### The 'Walkmap' + +Conventional game pathfinding practice is to divide the traversable area into a mesh of 'convex polygons', where a 'convex polygon' in this sense is, essentially, a polygon having no bays. Routes traverse from a starting point to the centre of a polygon ajacent to the polygon in which the starting point is located. I have reservations as to whether this will do what I need since I'm not convinced it will produce naturalistic paths; however, it's worth at least experimenting with. + +There are existing utilities (such as [hmm](https://github.com/fogleman/hmm)) which convert heightmaps into suitable geometry files; however all I've found so far convert to [binary STL](https://en.wikipedia.org/wiki/STL_(file_format)). This isn't a format I find very useful; I'd prefer an XML dialect, and SVG is good enough for me. + +`hmm` converts the heightmap into a tesselation of triangles, which are necessarily convex in the sense given above. Utilities (such as [binary-stl-toASCII](https://github.com/IsseiMori/binary-stl-toASCII)) exist to convert binary STL to an ASCII encoded equivalent, which may be easier to parse. + +So the pipeline seems to be + +1. heightmap to binary STL +2. (optional) binary STL to ASCII STL +3. STL to SVG (where 'SVG' here is shorthand for a convenient vector format) +4. Exclude holdings, buildings, open water, and other exclusions +5. Where we have excluded exclusions, ensure that any non-convex polygons we've created are divided into new convex polygons. + +I shall have to write custom code for 4 and 5 above, and, looking at what's available, probably 3 as well. + +I'm working on a separate library, [walkmap](https://simon-brooke.github.io/walkmap/), which will attempt to implement this pipeline. + +### Pathmaking and scale + +Dealing with large heightmaps - doing anything at all with them - is extremely compute intensive. Just converting a 1000x1000 heightmap from STL to SVG is currently taking 8 hours and 15 minutes; and it ends up with a 46 megabyte SVG file! However, most of the time cost is in writing. Reading the STL file takes four and a quarter seconds; converting that STL to SVG in memory takes less than five seconds. So the huge cost is writing the file with Dali. + + walkmap.core=> (time (def stl (decode-binary-stl "../the-great-game/resources/maps/heightmap.stl"))) + "Elapsed time: 4285.231513 msecs" + #'walkmap.core/stl + walkmap.core=> (time (def svg (stl-to-svg stl))) + "Elapsed time: 4865.798059 msecs" + #'walkmap.core/svg + + +"Elapsed time: 2.969569560662E7 msecs" + +We cannot effectively do routing at metre scale - which is what we ultimately need in settlements - across the entire thousand kilometre square map in one pass. But also we don't need to because much of the continent is by design relatively unpeopled and relatively untracked. The basic concept of the Steppe is that there are two north/south routes, the one over the Midnight Pass into the Great Place and the one via Hans'hua down to the Cities of the Coast, and those can be part of the 'designed roads' map. So we can basically exclude most of the Steppe from routing altogether. We can also - for equally obvious reasons exclude the ocean. The ocean makes up roughly half of the 1000x1000 kilometre map, the steppe and plateau take up half of what's left, mountain massifs eat into the remainder and my feeling is that much of the eastern part of the continent is probably too arid to be settled. So we probably end up only having to dynamically route about 20% of the entire map. + +However, this doesn't get round the main problem with scale, and pathmaking. If we pathmake at kilometre scale, then curves will be necessarily very long and sweeping - because each path segment will be at least a kilometre long. And, actually, that's fine for very long distance roads in unpopulated fairly flat territory. It's not so good for long distance roads in rugged terrain, but... + +#### Phase one: hand-designed routes + +While, given the bottlenecks of the few mountain passes and the one possible pass over the plateau, the caravan routes we want would almost certainly emerge organically out of dynamic routing. But, actually, I know more or less where they need to be and it's probably easiest to hand design them. It will certainly save an enormous amount of brute-force compute time. + +I think I have to accept that if I want Alpe d'Huez-style switchbacks up the Sunset and Midnight passes, they're going to have to be hand designed. The same applies to where the Hans'hua caravan road ascends the plateau. + +#### Phase two: route segments 'for free' out of settlement activity + +If we start by pathmaking around settlements, we can make a first start by giving the template for a holding a segment of track parallel to and just in front of its frontage, and a segment of path along its left hand and rear edges. That, actually, is going to provide 90% of all routing within a settlement, and it's done for us within the [[Settling-a-game-world]] phase. + +#### Phase three: metre scale routing around settlements + +So if we then collect groups of contiguous 100x100 metre zones each of which has at least one settled holding, we can route at one metre scale over that and what it will essentially do is join up and augment the route segments generated by settlement. Areas of dense settlement do not make up a great deal of the map. Note that experience may show that the metre scale routing is superflous. + +#### Phases four, five and six: increasing granularity + +Taking the augmented route map comprised of + +1. The hand-designed, mainly long distance or plot-important routes; +2. The route segments bordering holdings; +3. The metre scale routing + +we can then collect contiguous groups of zones each having at least one holding, where in phase four each zone is a kilometre square and divided into 100x100 grid so that we route at ten metre scale; in phase five we use ten kilometre by ten kilometre zones and we route at 100 metre scale; in phase six, 100 km by 100 km zones and we route at kilometre scale. This process should automatically link up all settlements on the south and west coasts, all those on the north coast, and all in the Great Place; and seeing that the posited pre-designed caravan roads already join the south coast to the north, the north to the Great Place and the Great Place to the south coast, we're done. + +At least one of phases three, four, five and six is probably redundant; but without trying I'm not sure which. + +### Tidying up + +After the full set of increasing-scale passes is complete, we should automatically cull any route segments generated in the settlement phase which have never actually been traversed. + +Following that, there may be scope for some final manual tweaking, if desired; I think this is most likely to happen where roads routed at kilometre scale cross rugged terrain. diff --git a/docs/cloverage/index.html b/docs/cloverage/index.html index 516511b..929e2e6 100644 --- a/docs/cloverage/index.html +++ b/docs/cloverage/index.html @@ -17,13 +17,13 @@ the-great-game.agent.agent
1
+ float:left;"> 2 100.00 %
1
+ float:left;"> 2 100.00 % -721 +4352 the-great-game.gossip.gossip
38
92.73 %
91
9
4
-96.15 % -24630104 + style="width:88.07339449541284%; + float:left;"> 96
8
5
+95.41 % +25631109 the-great-game.merchants.markets
4.03 % 1736124 + + the-great-game.objects.container
2
+100.00 % +
2
+100.00 % +1112 + + + the-great-game.objects.game-object
3
2
+60.00 % +
3
2
+60.00 % +1925 + the-great-game.time
-66.88 % +66.90 % -68.59 % +68.74 % diff --git a/docs/cloverage/the_great_game/agent/agent.clj.html b/docs/cloverage/the_great_game/agent/agent.clj.html index bbdf18f..14d5821 100644 --- a/docs/cloverage/the_great_game/agent/agent.clj.html +++ b/docs/cloverage/the_great_game/agent/agent.clj.html @@ -8,22 +8,130 @@ 001  (ns the-great-game.agent.agent
- 002    "Anything in the game world with agency") + 002    "Anything in the game world with agency" +
+ + 003    (:require [the-great-game.objects.game-object :refer [ProtoObject]] +
+ + 004              [the-great-game.objects.container :refer [ProtoContainer]]))
- 003   + 005  
- 004  ;;  hierarchy of needs probably gets implemented here + 006  ;;  hierarchy of needs probably gets implemented here
- 005  ;;  I'm probably going to want to defprotocol stuff, to define the hierarchy + 007  ;;  I'm probably going to want to defprotocol stuff, to define the hierarchy
- 006  ;;  of things in the gameworld; either that or drop to Java, wich I'd rather not do. + 008  ;;  of things in the gameworld; either that or drop to Java, wich I'd rather not do.
- 007   + 009   +
+ + 010  (defprotocol ProtoAgent +
+ + 011    "An object which can act in the world" +
+ + 012    (act +
+ + 013      [actor world circle] +
+ + 014         "Allow `actor` to do something in this `world`, in the context of this +
+ + 015         `circle`; return the new state of the actor if something was done, `nil` +
+ + 016         if nothing was done. Circle is expected to be one of +
+ + 017   +
+ + 018         * `:active` - actors within visual/audible range of the player +
+ + 019           character; +
+ + 020         * `:pending` - actors not in the active circle, but sufficiently close +
+ + 021           to it that they may enter the active circle within a short period; +
+ + 022         * `:background` - actors who are active in the background in order to +
+ + 023           handle trade, news, et cetera; +
+ + 024         * `other` - actors who are not members of any other circle, although +
+ + 025           I'm not clear whether it would ever be appropriate to invoke an +
+ + 026           `act` method on them. +
+ + 027   +
+ + 028         The `act` method *must not* have side effects; it must *only* return a +
+ + 029         new state. If the actor's intention is to seek to change the state of +
+ + 030         something else in the game world, it must add a representation of that +
+ + 031         intention to the sequence which will be returned by its +
+ + 032         `pending-intentions` method.") +
+ + 033    (pending-intentions +
+ + 034      [actor] +
+ + 035      "Returns a sequence of effects an actor intends, as a consequence of +
+ + 036      acting. The encoding of these is not yet defined.")) +
+ + 037   +
+ + 038  ;; (defrecord Agent +
+ + 039  ;;   "A default agent." +
+ + 040  ;;   ProtoObject +
+ + 041  ;;   ProtoContainer +
+ + 042  ;;   ProtoAgent +
+ + 043  ;; )
diff --git a/docs/cloverage/the_great_game/gossip/news_items.clj.html b/docs/cloverage/the_great_game/gossip/news_items.clj.html index 6e5f68b..b2e762e 100644 --- a/docs/cloverage/the_great_game/gossip/news_items.clj.html +++ b/docs/cloverage/the_great_game/gossip/news_items.clj.html @@ -134,337 +134,337 @@ 043  
- 044    ##### Locations: + 044    By implication, the character values passed should include *all* the +
+ + 045    information the giver knows about the character; that can then be degraded +
+ + 046    as the receiver stores only that segment which the receiver finds +
+ + 047    interesting.
- 045   + 048  
- 046    A 'location' value is a list comprising at most the x/y coordinate location -
- - 047    and the ids of the settlement and region (possibly hierarchically) that contain -
- - 048    the location. If the x/y is not local to the home of the receiving agent, they -
- - 049    won't remember it and won't pass it on; if any of the ids are not interesting -
- - 050    So location information will degrade progressively as the item is passed along. + 049    ##### Locations:
- 051   + 050  
- 052    It is assumed that the `:home` of a character is a location in this sense. + 051    A 'location' value is a list comprising at most the x/y coordinate location +
+ + 052    and the ids of the settlement and region (possibly hierarchically) that contain +
+ + 053    the location. If the x/y is not local to the home of the receiving agent, they +
+ + 054    won't remember it and won't pass it on; if any of the ids are not interesting +
+ + 055    So location information will degrade progressively as the item is passed along.
- 053   + 056  
- 054    ##### Inferences: + 057    It is assumed that the `:home` of a character is a location in this sense.
- 055   + 058  
- 056    If an agent learns that Adam has married Betty, they can infer that Betty has + 059    ##### Inferences: +
+ + 060  
- 057    married Adam; if they learn that Charles killed Dorothy, that Dorothy has died. + 061    If an agent learns that Adam has married Betty, they can infer that Betty has
- 058    I'm not convinced that my representation of inferences here is ideal. + 062    married Adam; if they learn that Charles killed Dorothy, that Dorothy has died.
- 059    " + 063    I'm not convinced that my representation of inferences here is ideal. +
+ + 064    "
- 060    { ;; A significant attack is interesting whether or not it leads to deaths + 065    { ;; A significant attack is interesting whether or not it leads to deaths
- 061      :attack {:verb :attack :keys [:actor :other :location]} + 066      :attack {:verb :attack :keys [:actor :other :location]}
- 062      ;; Deaths of characters may be interesting + 067      ;; Deaths of characters may be interesting
- 063      :die {:verb :attack :keys [:actor :location]} + 068      :die {:verb :die :keys [:actor :location]}
- 064      ;; Deliberate killings are interesting. + 069      ;; Deliberate killings are interesting.
- 065      :kill {:verb :kill :keys [:actor :other :location] + 070      :kill {:verb :kill :keys [:actor :other :location]
- 066             :inferences [{:verb :die :actor :other :other :nil}]} + 071             :inferences [{:verb :die :actor :other :other :nil}]}
- 067      ;; Marriages may be interesting + 072      ;; Marriages may be interesting
- 068      :marry {:verb :marry :keys [:actor :other :location] + 073      :marry {:verb :marry :keys [:actor :other :location]
- 069              :inferences [{:verb :marry :actor :other :other :actor}]} + 074              :inferences [{:verb :marry :actor :other :other :actor}]}
- 070      ;; The end of ongoing open conflict between to characters may be interesting + 075      ;; The end of ongoing open conflict between to characters may be interesting
- 071      :peace {:verb :peace :keys [:actor :other :location] + 076      :peace {:verb :peace :keys [:actor :other :location]
- 072              :inferences [{:verb :peace :actor :other :other :actor}]} + 077              :inferences [{:verb :peace :actor :other :other :actor}]}
- 073      ;; Things related to the plot are interesting, but will require special + 078      ;; Things related to the plot are interesting, but will require special
- 074      ;; handling. Extra keys may be required by particular plot events. + 079      ;; handling. Extra keys may be required by particular plot events.
- 075      :plot {:verb :plot :keys [:actor :other :object :location]} + 080      :plot {:verb :plot :keys [:actor :other :object :location]}
- 076      ;; Rapes are interesting. + 081      ;; Rapes are interesting.
- 077      :rape {:verb :rape :keys [:actor :other :location] + 082      :rape {:verb :rape :keys [:actor :other :location]
- 078             ;; Should you also infer from rape that actor is male and adult? + 083             ;; Should you also infer from rape that actor is male and adult?
- 079             :inferences [{:verb :attack} + 084             :inferences [{:verb :attack}
- 080                          {:verb :sex} + 085                          {:verb :sex}
- 081                          {:verb :sex :actor :other :other :actor}]} + 086                          {:verb :sex :actor :other :other :actor}]}
- 082      ;; Merchants, especially, are interested in prices in other markets + 087      ;; Merchants, especially, are interested in prices in other markets
- 083      :sell {:verb :sell :keys [:actor :other :object :location :price]} + 088      :sell {:verb :sell :keys [:actor :other :object :location :price]}
- 084      ;; Sex can juicy gossip, although not normally if the participants are in an + 089      ;; Sex can juicy gossip, although not normally if the participants are in an
- 085      ;; established sexual relationship. + 090      ;; established sexual relationship.
- 086      :sex {:verb :sex :keys [:actor :other :location] + 091      :sex {:verb :sex :keys [:actor :other :location]
- 087            :inferences [{:verb :sex :actor :other :other :actor}]} + 092            :inferences [{:verb :sex :actor :other :other :actor}]}
- 088      ;; Thefts are interesting + 093      ;; Thefts are interesting
- 089      :steal {:verb :steal :keys [:actor :other :object :location]} + 094      :steal {:verb :steal :keys [:actor :other :object :location]}
- 090      ;; The succession of rulers is interesting; of respected craftsmen, + 095      ;; The succession of rulers is interesting; of respected craftsmen,
- 091      ;; potentially also interesting. + 096      ;; potentially also interesting.
- 092      :succession {:verb :succession :keys [:actor :other :location :rank]} + 097      :succession {:verb :succession :keys [:actor :other :location :rank]}
- 093      ;; The start of ongoing open conflict between to characters may be interesting + 098      ;; The start of ongoing open conflict between to characters may be interesting
- 094      :war {:verb :war :keys [:actor :other :location] + 099      :war {:verb :war :keys [:actor :other :location]
- 095            :inferences [{:verb :war :actor :other :other :actor}]} + 100            :inferences [{:verb :war :actor :other :other :actor}]}
- 096      }) + 101      })
- 097   + 102  
- 098   + 103  
- 099  (defn interest-in-character + 104  (defn interest-in-character
- 100    "Integer representation of how interesting this `character` is to this + 105    "Integer representation of how interesting this `character` is to this
- 101    `gossip`. + 106    `gossip`.
- 102    *TODO:* this assumes that characters are passed as keywords, but, as + 107    *TODO:* this assumes that characters are passed as keywords, but, as
- 103    documented above, they probably have to be maps, to allow for degradation." + 108    documented above, they probably have to be maps, to allow for degradation."
- 104    [gossip character] + 109    [gossip character]
- 105    (count + 110    (count
- 106      (concat + 111      (concat
- 107        (filter #(= (:actor % character)) (:knowledge gossip)) + 112        (filter #(= (:actor % character)) (:knowledge gossip))
- 108        (filter #(= (:other % character)) (:knowledge gossip))))) + 113        (filter #(= (:other % character)) (:knowledge gossip)))))
- 109   + 114  
- 110  (defn interesting-character? + 115  (defn interesting-character?
- 111    "Boolean representation of whether this `character` is interesting to this + 116    "Boolean representation of whether this `character` is interesting to this
- 112    `gossip`." + 117    `gossip`."
- 113    [gossip character] + 118    [gossip character]
- 114    (> (interest-in-character gossip character) 0)) + 119    (> (interest-in-character gossip character) 0))
- 115   + 120  
- 116  (defn interest-in-location + 121  (defn interest-in-location
- 117    "Integer representation of how interesting this `location` is to this + 122    "Integer representation of how interesting this `location` is to this
- 118    `gossip`." + 123    `gossip`."
- 119    [gossip location] + 124    [gossip location]
- 120    (cond + 125    (cond
- 121      (and (map? location) (number? (:x location)) (number? (:y location))) + 126      (and (map? location) (number? (:x location)) (number? (:y location)))
- 122      (if-let [home (:home gossip)] + 127      (if-let [home (:home gossip)]
- 123        (let [d (distance-between location home) + 128        (let [d (distance-between location home)
- 124              i (/ 10000 d) ;; 10000 at metre scale is 10km; interest should + 129              i (/ 10000 d) ;; 10000 at metre scale is 10km; interest should
- 125              ;;fall of with distance from home, but possibly on a log scale + 130              ;;fall off with distance from home, but possibly on a log scale
- 126              ] + 131              ]
- 127          (if (> i 1) i 0)) + 132          (if (> i 1) i 0))
- 128        0) + 133        0)
- 129      (coll? location) + 134      (coll? location)
- 130      (reduce + 135      (reduce
- 131        + + 136        +
- 132        (map + 137        (map
- 133          #(interest-in-location gossip %) + 138          #(interest-in-location gossip %)
- 134          location)) + 139          location))
- 135      :else + 140      :else
- 136      (count + 141      (count
- 137        (filter + 142        (filter
- 138          #(some (fn [x] (= x location)) (:location %)) + 143          #(some (fn [x] (= x location)) (:location %))
- 139          (cons {:location (:home gossip)} (:knowledge gossip)))))) + 144          (cons {:location (:home gossip)} (:knowledge gossip))))))
- 140   + 145  
- 141  ;; (interest-in-location {:home [{0, 0} :test-home] :knowledge []} [:test-home]) -
- - 142   -
- - 143  (defn interesting-location? -
- - 144    "True if the location of this news `item` is interesting to this `gossip`." -
- - 145    [gossip item] -
- - 146    (> (interest-in-location gossip (:location item)) 0)) + 146  ;; (interest-in-location {:home [{0, 0} :test-home] :knowledge []} [:test-home])
147  
- - 148  (defn interesting-object? + + 148  (defn interesting-location?
- 149    [gossip object] + 149    "True if the location of this news `item` is interesting to this `gossip`."
- 150    ;; TODO: Not yet (really) implemented + 150    [gossip item]
- - 151    true) + + 151    (> (interest-in-location gossip (:location item)) 0))
152  
- - 153  (defn interesting-topic? + + 153  (defn interesting-object?
- 154    [gossip topic] + 154    [gossip object]
155    ;; TODO: Not yet (really) implemented @@ -475,272 +475,302 @@ 157  
+ + 158  (defn interesting-topic? +
+ + 159    [gossip topic] +
+ + 160    ;; TODO: Not yet (really) implemented +
+ + 161    true) +
+ + 162   +
- 158  (defn interesting-item? + 163  (defn interesting-item?
- 159    "True if anything about this news `item` is interesting to this `gossip`." + 164    "True if anything about this news `item` is interesting to this `gossip`."
- 160    [gossip item] + 165    [gossip item]
- 161       (or + 166       (or
- 162         (interesting-character? gossip (:actor item)) + 167         (interesting-character? gossip (:actor item))
- 163         (interesting-character? gossip (:other item)) + 168         (interesting-character? gossip (:other item))
- 164         (interesting-location? gossip (:location item)) + 169         (interesting-location? gossip (:location item))
- 165         (interesting-object? gossip (:object item)) + 170         (interesting-object? gossip (:object item))
- 166         (interesting-topic? gossip (:verb item)))) + 171         (interesting-topic? gossip (:verb item))))
- 167   + 172  
- 168  (defn infer + 173  (defn infer
- 169    "Infer a new knowledge item from this `item`, following this `rule`" + 174    "Infer a new knowledge item from this `item`, following this `rule`"
- 170    [item rule] + 175    [item rule]
- 171    (reduce merge + 176    (reduce merge
- 172            item + 177            item
- 173            (cons + 178            (cons
- 174              {:verb (:verb rule)} + 179              {:verb (:verb rule)}
- 175              (map (fn [k] {k (apply (k rule) (list item))}) + 180              (map (fn [k] {k (apply (k rule) (list item))})
- 176                   (remove + 181                   (remove
- 177                     #(= % :verb) + 182                     #(= % :verb)
- 178                     (keys rule)))))) + 183                     (keys rule))))))
- 179   + 184  
- 180  (declare learn-news-item) + 185  (declare learn-news-item)
- 181   + 186  
- 182  (defn make-all-inferences + 187  (defn make-all-inferences
- 183    "Return a list of knowledge entries inferred from this news `item` by this + 188    "Return a list of knowledge entries that can be inferred from this news
- 184    `gossip`." + 189    `item`."
- 185    [item] + 190    [item]
- 186    (set + 191    (set
- 187      (reduce + 192      (reduce
- 188        concat + 193        concat
- 189        (map + 194        (map
- 190          #(:knowledge (learn-news-item {} (infer item %) false)) + 195          #(:knowledge (learn-news-item {} (infer item %) false))
- 191          (:inferences (news-topics (:verb item))))))) + 196          (:inferences (news-topics (:verb item)))))))
- 192   + 197  
- 193  (defn degrade-character + 198  (defn degrade-character
- 194    "Return a character specification like this `character`, but comprising + 199    "Return a character specification like this `character`, but comprising
- 195    only those properties this `gossip` is interested in." + 200    only those properties this `gossip` is interested in."
- 196    [gossip character] + 201    [gossip character]
- 197    ;; TODO: Not yet (really) implemented + 202    ;; TODO: Not yet (really) implemented
- 198    character) + 203    character)
- 199   + 204  
- 200  (defn degrade-location + 205  (defn degrade-location
- 201    "Return a location specification like this `location`, but comprising + 206    "Return a location specification like this `location`, but comprising
- 202    only those elements this `gossip` is interested in. If none, return + 207    only those elements this `gossip` is interested in. If none, return
- 203    `nil`." + 208    `nil`."
- 204    [gossip location] + 209    [gossip location]
- 205    (let [l (if + 210    (let [l (if
- 206      (coll? location) + 211      (coll? location)
- 207      (filter + 212      (filter
- 208        #(when (interesting-location? gossip %) %) + 213        #(when (interesting-location? gossip %) %)
- 209        location))] + 214        location))]
- 210      (when-not (empty? l) l))) + 215      (when-not (empty? l) l)))
- 211   + 216  
- 212  (defn learn-news-item + 217  (defn learn-news-item
- 213    "Return a gossip like this `gossip`, which has learned this news `item` if + 218    "Return a gossip like this `gossip`, which has learned this news `item` if
- 214    it is of interest to them." + 219    it is of interest to them."
- 215    ;; TODO: Not yet implemented + 220    ;; TODO: Not yet implemented
- 216    ([gossip item] + 221    ([gossip item]
- 217     (learn-news-item gossip item true)) + 222     (learn-news-item gossip item true))
- 218    ([gossip item follow-inferences?] + 223    ([gossip item follow-inferences?]
- 219     (if + 224     (if
- 220       (interesting-item? gossip item) -
- - 221       (let [g (assoc gossip :knowledge -
- - 222                 (cons -
- - 223                   (assoc + 225       (interesting-item? gossip item)
- 224                     item + 226       (let +
+ + 227         [g (assoc +
+ + 228              gossip +
+ + 229              :knowledge
- 225                     :nth-hand (if + 230              (cons
- 226                                 (number? (:nth-hand item)) + 231                (assoc +
+ + 232                  item +
+ + 233                  :nth-hand (if +
+ + 234                              (number? (:nth-hand item))
- 227                                 (inc (:nth-hand item)) + 235                              (inc (:nth-hand item))
- 228                                 1) + 236                              1)
- - 229                     :date (if (number? (:date item)) (:date item) (game-time)) + + 237                  :time-stamp (if
- - 230                     :location (degrade-location gossip (:location item)) + + 238                                (number? (:time-stamp item))
- - 231                     ;; ought to degratde the location -
- - 232                     ;; ought to maybe-degrade characters we're not yet interested in -
- - 233                     ) -
- - 234                   ;; ought not to add knowledge items we already have, except -
- - 235                   ;; to replace if new item is of increased specificity -
- - 236                   (:knowledge gossip)))] + + 239                                (:time-stamp item)
- 237         (if follow-inferences? + 240                                (game-time))
- - 238           (assoc -
- - 239             g + + 241                  :location (degrade-location gossip (:location item))
- 240             :knowledge + 242                  ;; TODO: ought to maybe-degrade characters we're not yet interested in
- - 241             (concat (:knowledge g) (make-all-inferences item))) + + 243                  ) +
+ + 244                ;; TODO: ought not to add knowledge items we already have, except +
+ + 245                ;; to replace if new item is of increased specificity +
+ + 246                (:knowledge gossip)))] +
+ + 247         (if follow-inferences? +
+ + 248           (assoc
- 242           g)) + 249             g +
+ + 250             :knowledge +
+ + 251             (concat (:knowledge g) (make-all-inferences item))) +
+ + 252           g))
- 243       gossip))) + 253       gossip)))
- 244   + 254  
- 245   + 255  
- 246   + 256  
diff --git a/docs/cloverage/the_great_game/objects/container.clj.html b/docs/cloverage/the_great_game/objects/container.clj.html new file mode 100644 index 0000000..992deb8 --- /dev/null +++ b/docs/cloverage/the_great_game/objects/container.clj.html @@ -0,0 +1,41 @@ + + + + the_great_game/objects/container.clj + + + + 001  (ns the-great-game.objects.container +
+ + 002    (:require +
+ + 003      [the-great-game.objects.game-object :refer :all])) +
+ + 004   +
+ + 005  (defprotocol ProtoContainer +
+ + 006    (contents +
+ + 007      [container] +
+ + 008              "Return a sequence of the contents of this `container`, or `nil` if empty.") +
+ + 009    (is-empty? +
+ + 010      [container] +
+ + 011      "Return `true` if this `container` is empty, else `false`.")) +
+ + diff --git a/docs/cloverage/the_great_game/objects/game_object.clj.html b/docs/cloverage/the_great_game/objects/game_object.clj.html new file mode 100644 index 0000000..d553a53 --- /dev/null +++ b/docs/cloverage/the_great_game/objects/game_object.clj.html @@ -0,0 +1,65 @@ + + + + the_great_game/objects/game_object.clj + + + + 001  (ns the-great-game.objects.game-object +
+ + 002    "Anything at all in the game world") +
+ + 003   +
+ + 004  (defprotocol ProtoObject +
+ + 005    "An object in the world" +
+ + 006    (id [object] "Returns the unique id of this object.") +
+ + 007    (reify-object +
+ + 008      [object] +
+ + 009      "Adds this `object` to the global object list. If the `object` has a +
+ + 010      non-nil value for its `id` method, keys it to that id - **but** if the +
+ + 011      id value is already in use, throws a hard exception. Returns the id to +
+ + 012      which the object is keyed in the global object list.")) +
+ + 013   +
+ + 014  (defrecord GameObject +
+ + 015    [id] +
+ + 016    ;; "An object in the world" +
+ + 017    ProtoObject +
+ + 018    (id [_] id) +
+ + 019    (reify-object [object] "TODO: doesn't work yet")) +
+ + diff --git a/docs/codox/Baking-the-world.html b/docs/codox/Baking-the-world.html index c588bd8..0e624ad 100644 --- a/docs/codox/Baking-the-world.html +++ b/docs/codox/Baking-the-world.html @@ -1,6 +1,6 @@ -Baking the world

Baking the world

+Baking the world

Baking the world

Wednesday, 8 May 2019

Devogilla’s Bridge in Dumfries, early foourteenth century

In previous posts, I’ve described algorithms for dynamically populating and dynamically settling a game world. But at kilometre scale (and I think we need a higher resolution than that - something closer to hectare scale), settling the British Isles using my existing algorithms takes about 24 hours of continuous compute on an eight core, 3GHz machine. You cannot do that every time you launch a new game.

diff --git a/docs/codox/Pathmaking.html b/docs/codox/Pathmaking.html new file mode 100644 index 0000000..966e6e7 --- /dev/null +++ b/docs/codox/Pathmaking.html @@ -0,0 +1,79 @@ + +Pathmaking

Pathmaking

+

NOTE: this file is called ‘pathmaking’, not ‘pathfinding’, because ‘pathfinding’ has a very specific meaning/usage in game design which is only part of what I want to talk about here.

+

Stages in creating routes between locations

+

The ‘procedural’ phase

+

see also Baking-the-world

+

Towards the end of the procedural phase of the build process, every agent within the game world must move through the complete range of their needs-driven repertoire. Merchants must traverse their trading routes; soldiers must patrol routes within their employers domain; primary producers and craftspeople must visit the craftspeople who supply them; every character must visit their local inn, and must move daily between their dwelling and their workplace if different; and so on. They must do this over a considerable period - say 365 simulated days.

+

At the start of the baking phase, routes - roads, tracks and paths - designed by the game designers already exist.

+

The algorithmic part of choosing a route is the same during this baking phase as in actual game play except that during the baking phase the routemap is being dynamically updated, creating a new path or augmenting an existing path wherever any agent goes.

+

Thus the ‘weight’ of any section of route is a function of the total number of times that route segment has been traversed by an agent during this baking phase. At the end of the baking phase, routes travelled more than R times are rendered as roads, T times as tracks, and P times as footpaths, where R, T and P are all chosen by the game designer but generally R > T > P.

+

Algorithmic rules

+
    +
  1. No route may pass through any part of a reserved holding, except the holding which is its origin, if any, and the holding which is its destination (and in any case we won’t render paths or roads within holdings, although traversal information may be used to determine whether a holding, or part of it, is paved/cobbled;
  2. +
  3. No route may pass through any building, with the exception of a city gate;
  4. +
  5. We don’t have bicycles: going uphill costs work, and you don’t get that cost back on the down hill. Indeed, downhills are at least as expensive to traverse as flat ground;
  6. +
  7. Any existing route segment costs only a third as much to traverse as open ground having the same gradient;
  8. +
  9. A more used route costs less to traverse than a less used route.
  10. +
+

River crossings

+

Crossing rivers is expensive - say five times as expensive as level open ground (but this will probably need tuning). Where a river is shallow enough, (i.e. where the amount of water passing is below some threshold) then a path crossing will be rendered as stepping stones and a track crossing as a ford. Where it’s deeper than that, a path crossing either isn’t rendered at all or is rendered as a light footbridge. A track or road crossing is rendered as a bridge. However, the maximum length of a bridge varies with the amount of traffic on the route segment, and if the crossing exceeds that length then a ferry is used. Road bridges will be more substantial than track bridges, for example in a biome with both timber and stone available road bridges might be rendered as stone bridges while track bridges were rendered as timber. If the watercourse is marked as navigable, the bridge must have a lifting section. It is assumed here that bridges are genetic buildings like most other in-game buildings, and so don’t need to be individually designed.

+

Representation

+

At some stage in the future I’ll have actual game models to work with and $DEITY knows what the representation of those will be like, but to get this started I need two inputs: a heightmap, from which gradients can be derived, and a route map. The heightmap can conventionally be a monochrome raster image, and that’s easy. The route map needs to be a vector representation, and SVG will be as convenient as any. So from the point of view of routing during the baking phase, a route map shall be an SVG with the following classes:

+
    +
  • exclusion used on polygons representing e.g. buildings, or impassable terrain which may not be traversed at all;
  • +
  • openwater used on polygons representing oceans and lakes, which may be traversed only by boat (or possibly swimming, for limited distances);
  • +
  • watercourse used on paths representing rivers or streams, with some additional attribute giving rate of flow;
  • +
  • navigable may be an additional class on a path also marked watercourse indicating that it is navigable by cargo vessels;
  • +
  • route used on paths representing a path, track or road whose final representation will be dynamically assigned at the end of baking, with some additional attribute giving total traversals to date;
  • +
  • path used on paths representing a path designed by the designers, which will certainly be rendered as a path no matter how frequently it is traversed;
  • +
  • track used on paths representing a track designed by the designers, which will certainly be rendered as a track no matter how frequently it is traversed;
  • +
  • road used on paths representing a road designed by the designers, which will certainly be rendered as a road no matter how (in)frequently it is traversed.
  • +
+

At the end of the baking process the routing engine should be able to write out an updated SVG. New routes should be splined curves, so that they have natural bends not sharp angles.

+

The ‘Walkmap’

+

Conventional game pathfinding practice is to divide the traversable area into a mesh of ‘convex polygons’, where a ‘convex polygon’ in this sense is, essentially, a polygon having no bays. Routes traverse from a starting point to the centre of a polygon ajacent to the polygon in which the starting point is located. I have reservations as to whether this will do what I need since I’m not convinced it will produce naturalistic paths; however, it’s worth at least experimenting with.

+

There are existing utilities (such as hmm) which convert heightmaps into suitable geometry files; however all I’ve found so far convert to [binary STL](https://en.wikipedia.org/wiki/STL_(file_format)). This isn’t a format I find very useful; I’d prefer an XML dialect, and SVG is good enough for me.

+

hmm converts the heightmap into a tesselation of triangles, which are necessarily convex in the sense given above. Utilities (such as binary-stl-toASCII) exist to convert binary STL to an ASCII encoded equivalent, which may be easier to parse.

+

So the pipeline seems to be

+
    +
  1. heightmap to binary STL
  2. +
  3. (optional) binary STL to ASCII STL
  4. +
  5. STL to SVG (where ‘SVG’ here is shorthand for a convenient vector format)
  6. +
  7. Exclude holdings, buildings, open water, and other exclusions
  8. +
  9. Where we have excluded exclusions, ensure that any non-convex polygons we’ve created are divided into new convex polygons.
  10. +
+

I shall have to write custom code for 4 and 5 above, and, looking at what’s available, probably 3 as well.

+

I’m working on a separate library, walkmap, which will attempt to implement this pipeline.

+

Pathmaking and scale

+

Dealing with large heightmaps - doing anything at all with them - is extremely compute intensive. Just converting a 1000x1000 heightmap from STL to SVG is currently taking 8 hours and 15 minutes; and it ends up with a 46 megabyte SVG file! However, most of the time cost is in writing. Reading the STL file takes four and a quarter seconds; converting that STL to SVG in memory takes less than five seconds. So the huge cost is writing the file with Dali.

+
walkmap.core=> (time (def stl (decode-binary-stl "../the-great-game/resources/maps/heightmap.stl")))
+"Elapsed time: 4285.231513 msecs"
+#'walkmap.core/stl
+walkmap.core=> (time (def svg (stl-to-svg stl)))
+"Elapsed time: 4865.798059 msecs"
+#'walkmap.core/svg
+
+

“Elapsed time: 2.969569560662E7 msecs”

+

We cannot effectively do routing at metre scale - which is what we ultimately need in settlements - across the entire thousand kilometre square map in one pass. But also we don’t need to because much of the continent is by design relatively unpeopled and relatively untracked. The basic concept of the Steppe is that there are two north/south routes, the one over the Midnight Pass into the Great Place and the one via Hans’hua down to the Cities of the Coast, and those can be part of the ‘designed roads’ map. So we can basically exclude most of the Steppe from routing altogether. We can also - for equally obvious reasons exclude the ocean. The ocean makes up roughly half of the 1000x1000 kilometre map, the steppe and plateau take up half of what’s left, mountain massifs eat into the remainder and my feeling is that much of the eastern part of the continent is probably too arid to be settled. So we probably end up only having to dynamically route about 20% of the entire map.

+

However, this doesn’t get round the main problem with scale, and pathmaking. If we pathmake at kilometre scale, then curves will be necessarily very long and sweeping - because each path segment will be at least a kilometre long. And, actually, that’s fine for very long distance roads in unpopulated fairly flat territory. It’s not so good for long distance roads in rugged terrain, but…

+

Phase one: hand-designed routes

+

While, given the bottlenecks of the few mountain passes and the one possible pass over the plateau, the caravan routes we want would almost certainly emerge organically out of dynamic routing. But, actually, I know more or less where they need to be and it’s probably easiest to hand design them. It will certainly save an enormous amount of brute-force compute time.

+

I think I have to accept that if I want Alpe d’Huez-style switchbacks up the Sunset and Midnight passes, they’re going to have to be hand designed. The same applies to where the Hans’hua caravan road ascends the plateau.

+

Phase two: route segments ‘for free’ out of settlement activity

+

If we start by pathmaking around settlements, we can make a first start by giving the template for a holding a segment of track parallel to and just in front of its frontage, and a segment of path along its left hand and rear edges. That, actually, is going to provide 90% of all routing within a settlement, and it’s done for us within the Settling-a-game-world phase.

+

Phase three: metre scale routing around settlements

+

So if we then collect groups of contiguous 100x100 metre zones each of which has at least one settled holding, we can route at one metre scale over that and what it will essentially do is join up and augment the route segments generated by settlement. Areas of dense settlement do not make up a great deal of the map. Note that experience may show that the metre scale routing is superflous.

+

Phases four, five and six: increasing granularity

+

Taking the augmented route map comprised of

+
    +
  1. The hand-designed, mainly long distance or plot-important routes;
  2. +
  3. The route segments bordering holdings;
  4. +
  5. The metre scale routing
  6. +
+

we can then collect contiguous groups of zones each having at least one holding, where in phase four each zone is a kilometre square and divided into 100x100 grid so that we route at ten metre scale; in phase five we use ten kilometre by ten kilometre zones and we route at 100 metre scale; in phase six, 100 km by 100 km zones and we route at kilometre scale. This process should automatically link up all settlements on the south and west coasts, all those on the north coast, and all in the Great Place; and seeing that the posited pre-designed caravan roads already join the south coast to the north, the north to the Great Place and the Great Place to the south coast, we’re done.

+

At least one of phases three, four, five and six is probably redundant; but without trying I’m not sure which.

+

Tidying up

+

After the full set of increasing-scale passes is complete, we should automatically cull any route segments generated in the settlement phase which have never actually been traversed.

+

Following that, there may be scope for some final manual tweaking, if desired; I think this is most likely to happen where roads routed at kilometre scale cross rugged terrain.

\ No newline at end of file diff --git a/docs/codox/Populating-a-game-world.html b/docs/codox/Populating-a-game-world.html index 8a50174..5ea5c9e 100644 --- a/docs/codox/Populating-a-game-world.html +++ b/docs/codox/Populating-a-game-world.html @@ -1,6 +1,6 @@ -Populating a game world

Populating a game world

+Populating a game world

Populating a game world

Saturday, 6 July 2013

(You might want to read this essay in conjunction with my older essay, Settling a game world, which covers similar ground but which this hopefully advances on)

For an economy to work people have to be able to move between occupations to fill economic niches. In steady state, non player character (NPC) males become adult as ‘vagrants’, and then move through the state transitions described in this document. The pattern for females is different.

diff --git a/docs/codox/Settling-a-game-world.html b/docs/codox/Settling-a-game-world.html index f7b58df..1bdac1f 100644 --- a/docs/codox/Settling-a-game-world.html +++ b/docs/codox/Settling-a-game-world.html @@ -1,6 +1,6 @@ -Settling a game world

Settling a game world

+Settling a game world

Settling a game world

Wednesday, 30 December 2009

This essay is part of a series with ‘Worlds and Flats’ and ‘The spread of knowledge in a large game world’; if you haven’t read those you may want to read them before reading this. This essay describes how a large world can come into being and can evolve. I’ve written again on this subject since - see ‘Populating a game world’)

Microworld

diff --git a/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html b/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html index 9dd26f5..21193ca 100644 --- a/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html +++ b/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html @@ -1,6 +1,6 @@ -The spread of knowledge in a large game world

The spread of knowledge in a large game world

+The spread of knowledge in a large game world

The spread of knowledge in a large game world

Saturday, 26 April 2008

part of the role of Dandelion, in The Witcher games, is to provide the player with news

Note

diff --git a/docs/codox/Voice-acting-considered-harmful.html b/docs/codox/Voice-acting-considered-harmful.html index 7e5c1ad..44121b1 100644 --- a/docs/codox/Voice-acting-considered-harmful.html +++ b/docs/codox/Voice-acting-considered-harmful.html @@ -1,6 +1,6 @@ -Voice acting considered harmful

Voice acting considered harmful

+Voice acting considered harmful

Voice acting considered harmful

Wednesday, 25 February 2015

The Witcher: Conversation with Kalkstein

Long, long, time ago, I can still remember when… we played (and wrote) adventure games where the user typed at a command line, and the system printed back at them. A Read-Eval-Print loop in the classic Lisp sense, and I wrote my adventure games in Lisp. I used the same opportunistic parser whether the developer was building the game Create a new room north of here called dungeon-3 the player was playing the game Pick up the rusty sword and go north or the player was talking to a non-player character Say to the wizard ‘can you tell me the way to the castle’ Of course, the parser didn’t ‘understand’ English. It worked on trees of words, in which terminal nodes were actions and branching nodes were key words, and it had the property that any word it didn’t recognise at that point in sentence was a noise word and could be ignored. A few special hacks (such as ‘the’, ‘a’, or ‘an’ was an indicator that what came next was probably a noun phrase, and thus that if there was more than one sword in the player’s immediate environment the one that was wanted was the one tagged with the adjective ‘rusty’), and you ended up with a parser that most of the time convincingly interpreted most of what the player threw at it.

diff --git a/docs/codox/economy.html b/docs/codox/economy.html index b5c7ecb..c4dbafb 100644 --- a/docs/codox/economy.html +++ b/docs/codox/economy.html @@ -1,6 +1,6 @@ -Game world economy

Game world economy

+Game world economy

Game world economy

Broadly this essay extends ideas presented in Populating a game world, q.v.

Primary producers

Herdsfolk

diff --git a/docs/codox/index.html b/docs/codox/index.html index d645463..f7aab85 100644 --- a/docs/codox/index.html +++ b/docs/codox/index.html @@ -1,3 +1,3 @@ -The-great-game 0.1.1-SNAPSHOT

The-great-game 0.1.1-SNAPSHOT

Released under the GNU General Public License,version 2.0 or (at your option) any later version

Prototype code towards the great game I've been writing about for ten years, and know I will never finish.

Installation

To install, add the following dependency to your project or build file:

[the-great-game "0.1.1-SNAPSHOT"]

Topics

Namespaces

the-great-game.agent.agent

Anything in the game world with agency

Public variables and functions:

    the-great-game.gossip.gossip

    Interchange of news events between gossip agents

    Public variables and functions:

    the-great-game.merchants.markets

    Adjusting quantities and prices in markets.

    Public variables and functions:

    the-great-game.merchants.merchant-utils

    Useful functions for doing low-level things with merchants.

    the-great-game.merchants.merchants

    Trade planning for merchants, primarily.

    Public variables and functions:

    the-great-game.merchants.planning

    Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them.

    the-great-game.merchants.strategies.simple

    Default trading strategy for merchants.

    Public variables and functions:

    the-great-game.utils

    TODO: write docs

    Public variables and functions:

    the-great-game.world.location

    Functions dealing with location in the world.

    Public variables and functions:

    the-great-game.world.routes

    Conceptual (plan level) routes, represented as tuples of location ids.

    Public variables and functions:

    the-great-game.world.run

    Run the whole simulation

    Public variables and functions:

    the-great-game.world.world

    Access to data about the world

    Public variables and functions:

    \ No newline at end of file +The-great-game 0.1.1-SNAPSHOT

    The-great-game 0.1.1-SNAPSHOT

    Released under the GNU General Public License,version 2.0 or (at your option) any later version

    Prototype code towards the great game I've been writing about for ten years, and know I will never finish.

    Installation

    To install, add the following dependency to your project or build file:

    [the-great-game "0.1.1-SNAPSHOT"]

    Topics

    Namespaces

    the-great-game.agent.agent

    Anything in the game world with agency

    Public variables and functions:

    the-great-game.gossip.gossip

    Interchange of news events between gossip agents

    Public variables and functions:

    the-great-game.merchants.markets

    Adjusting quantities and prices in markets.

    Public variables and functions:

    the-great-game.merchants.merchant-utils

    Useful functions for doing low-level things with merchants.

    the-great-game.merchants.merchants

    Trade planning for merchants, primarily.

    Public variables and functions:

    the-great-game.merchants.planning

    Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them.

    the-great-game.merchants.strategies.simple

    Default trading strategy for merchants.

    Public variables and functions:

    the-great-game.objects.container

    TODO: write docs

    Public variables and functions:

    the-great-game.objects.game-object

    Anything at all in the game world

    Public variables and functions:

    the-great-game.utils

    TODO: write docs

    Public variables and functions:

    the-great-game.world.location

    Functions dealing with location in the world.

    Public variables and functions:

    the-great-game.world.routes

    Conceptual (plan level) routes, represented as tuples of location ids.

    Public variables and functions:

    the-great-game.world.run

    Run the whole simulation

    Public variables and functions:

    the-great-game.world.world

    Access to data about the world

    Public variables and functions:

    \ No newline at end of file diff --git a/docs/codox/intro.html b/docs/codox/intro.html index ebeff11..a892c58 100644 --- a/docs/codox/intro.html +++ b/docs/codox/intro.html @@ -1,6 +1,6 @@ -Introduction to the-great-game

    Introduction to the-great-game

    +Introduction to the-great-game

    Introduction to the-great-game

    The Great Game

    In this essay I’m going to try to pull together a number of my architectural ideas about the Great Game which I know I’m never actually going to build - because it’s vastly too big for any one person to build - into one overall vision.

    So, firstly, how does one characterise this game?

    diff --git a/docs/codox/modelling_trading_cost_and_risk.html b/docs/codox/modelling_trading_cost_and_risk.html index 58c4b74..93ea97f 100644 --- a/docs/codox/modelling_trading_cost_and_risk.html +++ b/docs/codox/modelling_trading_cost_and_risk.html @@ -1,6 +1,6 @@ -Modelling trading cost and risk

    Modelling trading cost and risk

    +Modelling trading cost and risk

    Modelling trading cost and risk

    In a dynamic pre-firearms world with many small states and contested regions, trade is not going to be straightforward. Not only will different routes have different physical characteristics - more or less mountainous, more or fewer unbridged river crossings - they will also have different political characteristics: more of less taxed, more or less effectively policed.

    Raids by outlaws are expected to be part of the game economy. News of raids are the sort of things which may propagate through the gossip system. So are changes in taxation regime. Obviously, knowledge items can affect merchants’ trading strategy; in existing prototype code, individual merchants already each keep their own cache of known historical prices, and exchange historical price data with one another; and use this price data to select trades to make.

    So: to what extent is it worth modelling the spread of knowledge of trade cost and risk?

    diff --git a/docs/codox/naming-of-characters.html b/docs/codox/naming-of-characters.html index 3258a8a..e0f2dea 100644 --- a/docs/codox/naming-of-characters.html +++ b/docs/codox/naming-of-characters.html @@ -1,6 +1,6 @@ -Naming of Characters

    Naming of Characters

    +Naming of Characters

    Naming of Characters

    Generally speaking, in modern RPGs, every character with any impact on the plot has a distinct name. But if we are going to give all non-player characters sufficient agency to impact on the plot, then we must have a way of naming tens or hundreds of thousands of characters, and distinct names will become problematic (even if we’re procedurally generating names, which we shall have to do. So this note is about how characters are named.

    The full name of each character will be made up as follows:

    [epithet] [clan] [personal-name] the [trade-or-rank] of [location], son/daughter of [parent]

    diff --git a/docs/codox/on-dying.html b/docs/codox/on-dying.html index d84d7de..a52e81a 100644 --- a/docs/codox/on-dying.html +++ b/docs/codox/on-dying.html @@ -1,6 +1,6 @@ -On Dying

    On Dying

    +On Dying

    On Dying

    Death is the end of your story. One of the tropes in games which, for me, most breaks immersion is when you lose a fight and are presented with a screen that says ‘you are dead. Do you want to reload your last save?’ Life is not like that. We do not have save-states. We die.

    So how could this be better handled?

    You lose a fight. Switch to cutscene: the battlefield, after the fight, your body is there. Probably no sound. A party of non-enemies crosses the battlefield and finds your body. We see surprise and concern. They gather around you. Cut to interior scene, you are in a bed, unconcious, being tended; cut to similar interior scene, you are in a bed, conscious, being tended; cut to exterior scene, you are sitting with some of your saviours, and the game restarts.

    diff --git a/docs/codox/orgnic-quests.html b/docs/codox/orgnic-quests.html index 05c712d..49b6973 100644 --- a/docs/codox/orgnic-quests.html +++ b/docs/codox/orgnic-quests.html @@ -1,6 +1,6 @@ -Organic Quests

    Organic Quests

    +Organic Quests

    Organic Quests

    The structure of a modern Role Playing Came revolves around ‘quests’: tasks that the player character is invited to do, either by the framing narrative of the game or by some non-player character (‘the Quest Giver’). Normally there is one core quest which provides the overarching narrative for the whole game. [Wikipedia](https://en.wikipedia.org/wiki/Quest_(gaming)) offers a typology of quests as follows:

    1. Kill quests
    2. diff --git a/docs/codox/sandbox.html b/docs/codox/sandbox.html index e5b4a25..975e6d8 100644 --- a/docs/codox/sandbox.html +++ b/docs/codox/sandbox.html @@ -1,6 +1,6 @@ -Sandbox

      Sandbox

      +Sandbox

      Sandbox

      Up to now I’ve been thinking of the Great Game as essentially an RPG with some sandbox-like elements; but I think it may be better to think of it as a sandbox game with some RPG like elements.

      Why?

      The core of the game is a world in which non-player characters have enough individual knowledge of the world and their immediate surroundings that they can sensibly answer questions like

      diff --git a/docs/codox/sexual-dimorphism.html b/docs/codox/sexual-dimorphism.html index de010b7..90c7153 100644 --- a/docs/codox/sexual-dimorphism.html +++ b/docs/codox/sexual-dimorphism.html @@ -1,6 +1,6 @@ -Sexual dimorphism

      Sexual dimorphism

      +Sexual dimorphism

      Sexual dimorphism

      This essay is going to upset a lot of people, so let’s start with a statement of what it is about: it is an attempt to describe the systematically different behaviours of men and women, in sufficient detail that this can be represented by agents in a game world. It’s trying to allow as broad as possible a range of cultures to be represented, so when I’m talking about what I consider to be behaviours of particular cultures, I’ll say that.

      Of course, I’m writing this from the view point of an old white male. It’s not possible to write about these things from a totally neutral viewpoint, and every one of us will have prejudices.

      OK? Let’s start.

      diff --git a/docs/codox/the-great-game.agent.agent.html b/docs/codox/the-great-game.agent.agent.html index 079a700..7e659af 100644 --- a/docs/codox/the-great-game.agent.agent.html +++ b/docs/codox/the-great-game.agent.agent.html @@ -1,3 +1,10 @@ -the-great-game.agent.agent documentation

      the-great-game.agent.agent

      Anything in the game world with agency

      \ No newline at end of file +the-great-game.agent.agent documentation

      the-great-game.agent.agent

      Anything in the game world with agency

      ProtoAgent

      protocol

      An object which can act in the world

      members

      act

      (act actor world circle)

      Allow actor to do something in this world, in the context of this circle; return the new state of the actor if something was done, nil if nothing was done. Circle is expected to be one of

      +
        +
      • :active - actors within visual/audible range of the player character;
      • +
      • :pending - actors not in the active circle, but sufficiently close to it that they may enter the active circle within a short period;
      • +
      • :background - actors who are active in the background in order to handle trade, news, et cetera;
      • +
      • other - actors who are not members of any other circle, although I’m not clear whether it would ever be appropriate to invoke an act method on them.
      • +
      +

      The act method must not have side effects; it must only return a new state. If the actor’s intention is to seek to change the state of something else in the game world, it must add a representation of that intention to the sequence which will be returned by its pending-intentions method.

      pending-intentions

      (pending-intentions actor)

      Returns a sequence of effects an actor intends, as a consequence of acting. The encoding of these is not yet defined.

      \ No newline at end of file diff --git a/docs/codox/the-great-game.gossip.gossip.html b/docs/codox/the-great-game.gossip.gossip.html index 177c964..3e5f1a4 100644 --- a/docs/codox/the-great-game.gossip.gossip.html +++ b/docs/codox/the-great-game.gossip.gossip.html @@ -1,3 +1,3 @@ -the-great-game.gossip.gossip documentation

      the-great-game.gossip.gossip

      Interchange of news events between gossip agents

      dialogue

      (dialogue enquirer respondent world)

      Dialogue between an enquirer and an agent in this world; returns a map identical to enquirer except that its :gossip collection may have additional entries.

      gather-news

      (gather-news world)(gather-news world gossip)

      TODO: write docs

      move-gossip

      (move-gossip gossip world new-location)

      Return a world like this world but with this gossip moved to this new-location. Many gossips are essentially shadow-records of agents of other types, and the movement of the gossip should be controlled by the run function of the type of the record they shadow. The #run function below does NOT call this function.

      run

      (run world)

      Return a world like this world, with news items exchanged between gossip agents.

      \ No newline at end of file +the-great-game.gossip.gossip documentation

      the-great-game.gossip.gossip

      Interchange of news events between gossip agents

      dialogue

      (dialogue enquirer respondent world)

      Dialogue between an enquirer and an agent in this world; returns a map identical to enquirer except that its :gossip collection may have additional entries.

      gather-news

      (gather-news world)(gather-news world gossip)

      TODO: write docs

      move-gossip

      (move-gossip gossip world new-location)

      Return a world like this world but with this gossip moved to this new-location. Many gossips are essentially shadow-records of agents of other types, and the movement of the gossip should be controlled by the run function of the type of the record they shadow. The #run function below does NOT call this function.

      run

      (run world)

      Return a world like this world, with news items exchanged between gossip agents.

      \ No newline at end of file diff --git a/docs/codox/the-great-game.gossip.news-items.html b/docs/codox/the-great-game.gossip.news-items.html index ee90317..f3c6832 100644 --- a/docs/codox/the-great-game.gossip.news-items.html +++ b/docs/codox/the-great-game.gossip.news-items.html @@ -1,6 +1,6 @@ -the-great-game.gossip.news-items documentation

      the-great-game.gossip.news-items

      Categories of news events interesting to gossip agents

      degrade-character

      (degrade-character gossip character)

      Return a character specification like this character, but comprising only those properties this gossip is interested in.

      degrade-location

      (degrade-location gossip location)

      Return a location specification like this location, but comprising only those elements this gossip is interested in. If none, return nil.

      infer

      (infer item rule)

      Infer a new knowledge item from this item, following this rule

      interest-in-character

      (interest-in-character gossip character)

      Integer representation of how interesting this character is to this gossip. TODO: this assumes that characters are passed as keywords, but, as documented above, they probably have to be maps, to allow for degradation.

      interest-in-location

      (interest-in-location gossip location)

      Integer representation of how interesting this location is to this gossip.

      interesting-character?

      (interesting-character? gossip character)

      Boolean representation of whether this character is interesting to this gossip.

      interesting-item?

      (interesting-item? gossip item)

      True if anything about this news item is interesting to this gossip.

      interesting-location?

      (interesting-location? gossip item)

      True if the location of this news item is interesting to this gossip.

      interesting-object?

      (interesting-object? gossip object)

      TODO: write docs

      interesting-topic?

      (interesting-topic? gossip topic)

      TODO: write docs

      learn-news-item

      (learn-news-item gossip item)(learn-news-item gossip item follow-inferences?)

      Return a gossip like this gossip, which has learned this news item if it is of interest to them.

      make-all-inferences

      (make-all-inferences item)

      Return a list of knowledge entries inferred from this news item by this gossip.

      news-topics

      Topics of interest to gossip agents. Topics are keyed in this map by their verbs. The keys associated with each topic are the extra pieces of information required to give context to a gossip item. Generally:

      +the-great-game.gossip.news-items documentation

      the-great-game.gossip.news-items

      Categories of news events interesting to gossip agents

      degrade-character

      (degrade-character gossip character)

      Return a character specification like this character, but comprising only those properties this gossip is interested in.

      degrade-location

      (degrade-location gossip location)

      Return a location specification like this location, but comprising only those elements this gossip is interested in. If none, return nil.

      infer

      (infer item rule)

      Infer a new knowledge item from this item, following this rule

      interest-in-character

      (interest-in-character gossip character)

      Integer representation of how interesting this character is to this gossip. TODO: this assumes that characters are passed as keywords, but, as documented above, they probably have to be maps, to allow for degradation.

      interest-in-location

      (interest-in-location gossip location)

      Integer representation of how interesting this location is to this gossip.

      interesting-character?

      (interesting-character? gossip character)

      Boolean representation of whether this character is interesting to this gossip.

      interesting-item?

      (interesting-item? gossip item)

      True if anything about this news item is interesting to this gossip.

      interesting-location?

      (interesting-location? gossip item)

      True if the location of this news item is interesting to this gossip.

      interesting-object?

      (interesting-object? gossip object)

      TODO: write docs

      interesting-topic?

      (interesting-topic? gossip topic)

      TODO: write docs

      learn-news-item

      (learn-news-item gossip item)(learn-news-item gossip item follow-inferences?)

      Return a gossip like this gossip, which has learned this news item if it is of interest to them.

      make-all-inferences

      (make-all-inferences item)

      Return a list of knowledge entries that can be inferred from this news item.

      news-topics

      Topics of interest to gossip agents. Topics are keyed in this map by their verbs. The keys associated with each topic are the extra pieces of information required to give context to a gossip item. Generally:

    we can then collect contiguous groups of zones each having at least one holding, where in phase four each zone is a kilometre square and divided into 100x100 grid so that we route at ten metre scale; in phase five we use ten kilometre by ten kilometre zones and we route at 100 metre scale; in phase six, 100 km by 100 km zones and we route at kilometre scale. This process should automatically link up all settlements on the south and west coasts, all those on the north coast, and all in the Great Place; and seeing that the posited pre-designed caravan roads already join the south coast to the north, the north to the Great Place and the Great Place to the south coast, we’re done.

    At least one of phases three, four, five and six is probably redundant; but without trying I’m not sure which.

    +

    Relevant actor classes by phase

    +

    Craftspeople and primary producers do travel between settlements, but only exceptionally. They mainly travel within at most a few kilometres of home; so they are primarily relevant in phases four and five, and need not be activated during phase six. Similarly, merchants primarily travel between settlements, and rarely within settlements; therefore, they need not be activated in phase four, and probably not even in phase five; but they must do a lot of journeys - substantially their full repertoire - in phase six.

    Tidying up

    After the full set of increasing-scale passes is complete, we should automatically cull any route segments generated in the settlement phase which have never actually been traversed.

    Following that, there may be scope for some final manual tweaking, if desired; I think this is most likely to happen where roads routed at kilometre scale cross rugged terrain.

    \ No newline at end of file diff --git a/docs/codox/Populating-a-game-world.html b/docs/codox/Populating-a-game-world.html index 5ea5c9e..695ef2c 100644 --- a/docs/codox/Populating-a-game-world.html +++ b/docs/codox/Populating-a-game-world.html @@ -1,6 +1,6 @@ -Populating a game world

    Populating a game world

    +Populating a game world

    Populating a game world

    Saturday, 6 July 2013

    (You might want to read this essay in conjunction with my older essay, Settling a game world, which covers similar ground but which this hopefully advances on)

    For an economy to work people have to be able to move between occupations to fill economic niches. In steady state, non player character (NPC) males become adult as ‘vagrants’, and then move through the state transitions described in this document. The pattern for females is different.

    diff --git a/docs/codox/Settling-a-game-world.html b/docs/codox/Settling-a-game-world.html index 1bdac1f..b46a745 100644 --- a/docs/codox/Settling-a-game-world.html +++ b/docs/codox/Settling-a-game-world.html @@ -1,6 +1,6 @@ -Settling a game world

    Settling a game world

    +Settling a game world

    Settling a game world

    Wednesday, 30 December 2009

    This essay is part of a series with ‘Worlds and Flats’ and ‘The spread of knowledge in a large game world’; if you haven’t read those you may want to read them before reading this. This essay describes how a large world can come into being and can evolve. I’ve written again on this subject since - see ‘Populating a game world’)

    Microworld

    diff --git a/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html b/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html index 21193ca..4b8dc93 100644 --- a/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html +++ b/docs/codox/The-spread-of-knowledge-in-a-large-game-world.html @@ -1,6 +1,6 @@ -The spread of knowledge in a large game world

    The spread of knowledge in a large game world

    +The spread of knowledge in a large game world

    The spread of knowledge in a large game world

    Saturday, 26 April 2008

    part of the role of Dandelion, in The Witcher games, is to provide the player with news

    Note

    diff --git a/docs/codox/Voice-acting-considered-harmful.html b/docs/codox/Voice-acting-considered-harmful.html index 44121b1..1b1b3fe 100644 --- a/docs/codox/Voice-acting-considered-harmful.html +++ b/docs/codox/Voice-acting-considered-harmful.html @@ -1,6 +1,6 @@ -Voice acting considered harmful

    Voice acting considered harmful

    +Voice acting considered harmful

    Voice acting considered harmful

    Wednesday, 25 February 2015

    The Witcher: Conversation with Kalkstein

    Long, long, time ago, I can still remember when… we played (and wrote) adventure games where the user typed at a command line, and the system printed back at them. A Read-Eval-Print loop in the classic Lisp sense, and I wrote my adventure games in Lisp. I used the same opportunistic parser whether the developer was building the game Create a new room north of here called dungeon-3 the player was playing the game Pick up the rusty sword and go north or the player was talking to a non-player character Say to the wizard ‘can you tell me the way to the castle’ Of course, the parser didn’t ‘understand’ English. It worked on trees of words, in which terminal nodes were actions and branching nodes were key words, and it had the property that any word it didn’t recognise at that point in sentence was a noise word and could be ignored. A few special hacks (such as ‘the’, ‘a’, or ‘an’ was an indicator that what came next was probably a noun phrase, and thus that if there was more than one sword in the player’s immediate environment the one that was wanted was the one tagged with the adjective ‘rusty’), and you ended up with a parser that most of the time convincingly interpreted most of what the player threw at it.

    diff --git a/docs/codox/economy.html b/docs/codox/economy.html index c4dbafb..9bd68f7 100644 --- a/docs/codox/economy.html +++ b/docs/codox/economy.html @@ -1,6 +1,6 @@ -Game world economy

    Game world economy

    +Game world economy

    Game world economy

    Broadly this essay extends ideas presented in Populating a game world, q.v.

    Primary producers

    Herdsfolk

    diff --git a/docs/codox/index.html b/docs/codox/index.html index f7aab85..2d0f0d2 100644 --- a/docs/codox/index.html +++ b/docs/codox/index.html @@ -1,3 +1,3 @@ -The-great-game 0.1.1-SNAPSHOT

    The-great-game 0.1.1-SNAPSHOT

    Released under the GNU General Public License,version 2.0 or (at your option) any later version

    Prototype code towards the great game I've been writing about for ten years, and know I will never finish.

    Installation

    To install, add the following dependency to your project or build file:

    [the-great-game "0.1.1-SNAPSHOT"]

    Topics

    Namespaces

    the-great-game.agent.agent

    Anything in the game world with agency

    Public variables and functions:

    the-great-game.gossip.gossip

    Interchange of news events between gossip agents

    Public variables and functions:

    the-great-game.merchants.markets

    Adjusting quantities and prices in markets.

    Public variables and functions:

    the-great-game.merchants.merchant-utils

    Useful functions for doing low-level things with merchants.

    the-great-game.merchants.merchants

    Trade planning for merchants, primarily.

    Public variables and functions:

    the-great-game.merchants.planning

    Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them.

    the-great-game.merchants.strategies.simple

    Default trading strategy for merchants.

    Public variables and functions:

    the-great-game.objects.container

    TODO: write docs

    Public variables and functions:

    the-great-game.objects.game-object

    Anything at all in the game world

    Public variables and functions:

    the-great-game.utils

    TODO: write docs

    Public variables and functions:

    the-great-game.world.location

    Functions dealing with location in the world.

    Public variables and functions:

    the-great-game.world.routes

    Conceptual (plan level) routes, represented as tuples of location ids.

    Public variables and functions:

    the-great-game.world.run

    Run the whole simulation

    Public variables and functions:

    the-great-game.world.world

    Access to data about the world

    Public variables and functions:

    \ No newline at end of file +The-great-game 0.1.2-SNAPSHOT

    The-great-game 0.1.2-SNAPSHOT

    Released under the GNU General Public License,version 2.0 or (at your option) any later version

    Prototype code towards the great game I've been writing about for ten years, and know I will never finish.

    Installation

    To install, add the following dependency to your project or build file:

    [journeyman-cc/the-great-game "0.1.2-SNAPSHOT"]

    Topics

    Namespaces

    the-great-game.agent.agent

    Anything in the game world with agency

    Public variables and functions:

    the-great-game.gossip.gossip

    Interchange of news events between gossip agents

    Public variables and functions:

    the-great-game.merchants.markets

    Adjusting quantities and prices in markets.

    Public variables and functions:

    the-great-game.merchants.merchant-utils

    Useful functions for doing low-level things with merchants.

    the-great-game.merchants.merchants

    Trade planning for merchants, primarily.

    Public variables and functions:

    the-great-game.merchants.planning

    Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them.

    the-great-game.merchants.strategies.simple

    Default trading strategy for merchants.

    Public variables and functions:

    the-great-game.objects.container

    TODO: write docs

    Public variables and functions:

    the-great-game.objects.game-object

    Anything at all in the game world

    Public variables and functions:

    the-great-game.utils

    TODO: write docs

    Public variables and functions:

    the-great-game.world.location

    Functions dealing with location in the world.

    Public variables and functions:

    the-great-game.world.routes

    Conceptual (plan level) routes, represented as tuples of location ids.

    Public variables and functions:

    the-great-game.world.run

    Run the whole simulation

    Public variables and functions:

    the-great-game.world.world

    Access to data about the world

    Public variables and functions:

    \ No newline at end of file diff --git a/docs/codox/intro.html b/docs/codox/intro.html index a892c58..708ac64 100644 --- a/docs/codox/intro.html +++ b/docs/codox/intro.html @@ -1,6 +1,6 @@ -Introduction to the-great-game

    Introduction to the-great-game

    +Introduction to the-great-game

    Introduction to the-great-game

    The Great Game

    In this essay I’m going to try to pull together a number of my architectural ideas about the Great Game which I know I’m never actually going to build - because it’s vastly too big for any one person to build - into one overall vision.

    So, firstly, how does one characterise this game?

    diff --git a/docs/codox/modelling_trading_cost_and_risk.html b/docs/codox/modelling_trading_cost_and_risk.html index 93ea97f..0e4b71a 100644 --- a/docs/codox/modelling_trading_cost_and_risk.html +++ b/docs/codox/modelling_trading_cost_and_risk.html @@ -1,6 +1,6 @@ -Modelling trading cost and risk

    Modelling trading cost and risk

    +Modelling trading cost and risk

    Modelling trading cost and risk

    In a dynamic pre-firearms world with many small states and contested regions, trade is not going to be straightforward. Not only will different routes have different physical characteristics - more or less mountainous, more or fewer unbridged river crossings - they will also have different political characteristics: more of less taxed, more or less effectively policed.

    Raids by outlaws are expected to be part of the game economy. News of raids are the sort of things which may propagate through the gossip system. So are changes in taxation regime. Obviously, knowledge items can affect merchants’ trading strategy; in existing prototype code, individual merchants already each keep their own cache of known historical prices, and exchange historical price data with one another; and use this price data to select trades to make.

    So: to what extent is it worth modelling the spread of knowledge of trade cost and risk?

    diff --git a/docs/codox/naming-of-characters.html b/docs/codox/naming-of-characters.html index e0f2dea..d36f96d 100644 --- a/docs/codox/naming-of-characters.html +++ b/docs/codox/naming-of-characters.html @@ -1,6 +1,6 @@ -Naming of Characters

    Naming of Characters

    +Naming of Characters

    Naming of Characters

    Generally speaking, in modern RPGs, every character with any impact on the plot has a distinct name. But if we are going to give all non-player characters sufficient agency to impact on the plot, then we must have a way of naming tens or hundreds of thousands of characters, and distinct names will become problematic (even if we’re procedurally generating names, which we shall have to do. So this note is about how characters are named.

    The full name of each character will be made up as follows:

    [epithet] [clan] [personal-name] the [trade-or-rank] of [location], son/daughter of [parent]

    diff --git a/docs/codox/on-dying.html b/docs/codox/on-dying.html index a52e81a..8b6ad91 100644 --- a/docs/codox/on-dying.html +++ b/docs/codox/on-dying.html @@ -1,6 +1,6 @@ -On Dying

    On Dying

    +On Dying

    On Dying

    Death is the end of your story. One of the tropes in games which, for me, most breaks immersion is when you lose a fight and are presented with a screen that says ‘you are dead. Do you want to reload your last save?’ Life is not like that. We do not have save-states. We die.

    So how could this be better handled?

    You lose a fight. Switch to cutscene: the battlefield, after the fight, your body is there. Probably no sound. A party of non-enemies crosses the battlefield and finds your body. We see surprise and concern. They gather around you. Cut to interior scene, you are in a bed, unconcious, being tended; cut to similar interior scene, you are in a bed, conscious, being tended; cut to exterior scene, you are sitting with some of your saviours, and the game restarts.

    diff --git a/docs/codox/orgnic-quests.html b/docs/codox/orgnic-quests.html index 49b6973..ae56c9c 100644 --- a/docs/codox/orgnic-quests.html +++ b/docs/codox/orgnic-quests.html @@ -1,6 +1,6 @@ -Organic Quests

    Organic Quests

    +Organic Quests

    Organic Quests

    The structure of a modern Role Playing Came revolves around ‘quests’: tasks that the player character is invited to do, either by the framing narrative of the game or by some non-player character (‘the Quest Giver’). Normally there is one core quest which provides the overarching narrative for the whole game. [Wikipedia](https://en.wikipedia.org/wiki/Quest_(gaming)) offers a typology of quests as follows:

    1. Kill quests
    2. diff --git a/docs/codox/sandbox.html b/docs/codox/sandbox.html index 975e6d8..4ec0232 100644 --- a/docs/codox/sandbox.html +++ b/docs/codox/sandbox.html @@ -1,6 +1,6 @@ -Sandbox

      Sandbox

      +Sandbox

      Sandbox

      Up to now I’ve been thinking of the Great Game as essentially an RPG with some sandbox-like elements; but I think it may be better to think of it as a sandbox game with some RPG like elements.

      Why?

      The core of the game is a world in which non-player characters have enough individual knowledge of the world and their immediate surroundings that they can sensibly answer questions like

      diff --git a/docs/codox/sexual-dimorphism.html b/docs/codox/sexual-dimorphism.html index 90c7153..07f0ce8 100644 --- a/docs/codox/sexual-dimorphism.html +++ b/docs/codox/sexual-dimorphism.html @@ -1,6 +1,6 @@ -Sexual dimorphism

      Sexual dimorphism

      +Sexual dimorphism

      Sexual dimorphism

      This essay is going to upset a lot of people, so let’s start with a statement of what it is about: it is an attempt to describe the systematically different behaviours of men and women, in sufficient detail that this can be represented by agents in a game world. It’s trying to allow as broad as possible a range of cultures to be represented, so when I’m talking about what I consider to be behaviours of particular cultures, I’ll say that.

      Of course, I’m writing this from the view point of an old white male. It’s not possible to write about these things from a totally neutral viewpoint, and every one of us will have prejudices.

      OK? Let’s start.

      diff --git a/docs/codox/the-great-game.agent.agent.html b/docs/codox/the-great-game.agent.agent.html index 7e659af..efd5f84 100644 --- a/docs/codox/the-great-game.agent.agent.html +++ b/docs/codox/the-great-game.agent.agent.html @@ -1,6 +1,6 @@ -the-great-game.agent.agent documentation

      the-great-game.agent.agent

      Anything in the game world with agency

      ProtoAgent

      protocol

      An object which can act in the world

      members

      act

      (act actor world circle)

      Allow actor to do something in this world, in the context of this circle; return the new state of the actor if something was done, nil if nothing was done. Circle is expected to be one of

      +the-great-game.agent.agent documentation

      the-great-game.agent.agent

      Anything in the game world with agency

      ProtoAgent

      protocol

      An object which can act in the world

      members

      act

      (act actor world circle)

      Allow actor to do something in this world, in the context of this circle; return the new state of the actor if something was done, nil if nothing was done. Circle is expected to be one of

      • :active - actors within visual/audible range of the player character;
      • :pending - actors not in the active circle, but sufficiently close to it that they may enter the active circle within a short period;
      • diff --git a/docs/codox/the-great-game.gossip.gossip.html b/docs/codox/the-great-game.gossip.gossip.html index 3e5f1a4..1779077 100644 --- a/docs/codox/the-great-game.gossip.gossip.html +++ b/docs/codox/the-great-game.gossip.gossip.html @@ -1,3 +1,3 @@ -the-great-game.gossip.gossip documentation

        the-great-game.gossip.gossip

        Interchange of news events between gossip agents

        dialogue

        (dialogue enquirer respondent world)

        Dialogue between an enquirer and an agent in this world; returns a map identical to enquirer except that its :gossip collection may have additional entries.

        gather-news

        (gather-news world)(gather-news world gossip)

        TODO: write docs

        move-gossip

        (move-gossip gossip world new-location)

        Return a world like this world but with this gossip moved to this new-location. Many gossips are essentially shadow-records of agents of other types, and the movement of the gossip should be controlled by the run function of the type of the record they shadow. The #run function below does NOT call this function.

        run

        (run world)

        Return a world like this world, with news items exchanged between gossip agents.

        \ No newline at end of file +the-great-game.gossip.gossip documentation

        the-great-game.gossip.gossip

        Interchange of news events between gossip agents

        dialogue

        (dialogue enquirer respondent world)

        Dialogue between an enquirer and an agent in this world; returns a map identical to enquirer except that its :gossip collection may have additional entries.

        gather-news

        (gather-news world)(gather-news world gossip)

        TODO: write docs

        move-gossip

        (move-gossip gossip world new-location)

        Return a world like this world but with this gossip moved to this new-location. Many gossips are essentially shadow-records of agents of other types, and the movement of the gossip should be controlled by the run function of the type of the record they shadow. The #run function below does NOT call this function.

        run

        (run world)

        Return a world like this world, with news items exchanged between gossip agents.

        \ No newline at end of file diff --git a/docs/codox/the-great-game.gossip.news-items.html b/docs/codox/the-great-game.gossip.news-items.html index f3c6832..fa4a10f 100644 --- a/docs/codox/the-great-game.gossip.news-items.html +++ b/docs/codox/the-great-game.gossip.news-items.html @@ -1,6 +1,6 @@ -the-great-game.gossip.news-items documentation

        the-great-game.gossip.news-items

        Categories of news events interesting to gossip agents

        degrade-character

        (degrade-character gossip character)

        Return a character specification like this character, but comprising only those properties this gossip is interested in.

        degrade-location

        (degrade-location gossip location)

        Return a location specification like this location, but comprising only those elements this gossip is interested in. If none, return nil.

        infer

        (infer item rule)

        Infer a new knowledge item from this item, following this rule

        interest-in-character

        (interest-in-character gossip character)

        Integer representation of how interesting this character is to this gossip. TODO: this assumes that characters are passed as keywords, but, as documented above, they probably have to be maps, to allow for degradation.

        interest-in-location

        (interest-in-location gossip location)

        Integer representation of how interesting this location is to this gossip.

        interesting-character?

        (interesting-character? gossip character)

        Boolean representation of whether this character is interesting to this gossip.

        interesting-item?

        (interesting-item? gossip item)

        True if anything about this news item is interesting to this gossip.

        interesting-location?

        (interesting-location? gossip item)

        True if the location of this news item is interesting to this gossip.

        interesting-object?

        (interesting-object? gossip object)

        TODO: write docs

        interesting-topic?

        (interesting-topic? gossip topic)

        TODO: write docs

        learn-news-item

        (learn-news-item gossip item)(learn-news-item gossip item follow-inferences?)

        Return a gossip like this gossip, which has learned this news item if it is of interest to them.

        make-all-inferences

        (make-all-inferences item)

        Return a list of knowledge entries that can be inferred from this news item.

        news-topics

        Topics of interest to gossip agents. Topics are keyed in this map by their verbs. The keys associated with each topic are the extra pieces of information required to give context to a gossip item. Generally:

        +the-great-game.gossip.news-items documentation

        the-great-game.gossip.news-items

        Categories of news events interesting to gossip agents

        degrade-character

        (degrade-character gossip character)

        Return a character specification like this character, but comprising only those properties this gossip is interested in.

        degrade-location

        (degrade-location gossip location)

        Return a location specification like this location, but comprising only those elements this gossip is interested in. If none, return nil.

        infer

        (infer item rule)

        Infer a new knowledge item from this item, following this rule

        interest-in-character

        (interest-in-character gossip character)

        Integer representation of how interesting this character is to this gossip. TODO: this assumes that characters are passed as keywords, but, as documented above, they probably have to be maps, to allow for degradation.

        interest-in-location

        (interest-in-location gossip location)

        Integer representation of how interesting this location is to this gossip.

        interesting-character?

        (interesting-character? gossip character)

        Boolean representation of whether this character is interesting to this gossip.

        interesting-item?

        (interesting-item? gossip item)

        True if anything about this news item is interesting to this gossip.

        interesting-location?

        (interesting-location? gossip item)

        True if the location of this news item is interesting to this gossip.

        interesting-object?

        (interesting-object? gossip object)

        TODO: write docs

        interesting-topic?

        (interesting-topic? gossip topic)

        TODO: write docs

        learn-news-item

        (learn-news-item gossip item)(learn-news-item gossip item follow-inferences?)

        Return a gossip like this gossip, which has learned this news item if it is of interest to them.

        make-all-inferences

        (make-all-inferences item)

        Return a list of knowledge entries that can be inferred from this news item.

        news-topics

        Topics of interest to gossip agents. Topics are keyed in this map by their verbs. The keys associated with each topic are the extra pieces of information required to give context to a gossip item. Generally:

        • actor is the id of the character who it is reported performed the action;
        • other is the id of the character on whom it is reported the action was performed;
        • diff --git a/docs/codox/the-great-game.merchants.markets.html b/docs/codox/the-great-game.merchants.markets.html index e85c827..9e41495 100644 --- a/docs/codox/the-great-game.merchants.markets.html +++ b/docs/codox/the-great-game.merchants.markets.html @@ -1,3 +1,3 @@ -the-great-game.merchants.markets documentation

          the-great-game.merchants.markets

          Adjusting quantities and prices in markets.

          adjust-quantity-and-price

          (adjust-quantity-and-price world city commodity)

          Adjust the quantity of this commodity currently in stock in this city of this world. Return a fragmentary world which can be deep-merged into this world.

          new-price

          (new-price old stock supply demand)

          If stock is greater than the maximum of supply and demand, then there is surplus and old price is too high, so shold be reduced. If lower, then it is too low and should be increased.

          run

          (run world)

          Return a world like this world, with quantities and prices in markets updated to reflect supply and demand.

          update-markets

          (update-markets world)(update-markets world city)(update-markets world city commodity)

          Return a world like this world, with quantities and prices in markets updated to reflect supply and demand. If city or city and commodity are specified, return a fragmentary world with only the changes for that city (and commodity if specified) populated.

          \ No newline at end of file +the-great-game.merchants.markets documentation

          the-great-game.merchants.markets

          Adjusting quantities and prices in markets.

          adjust-quantity-and-price

          (adjust-quantity-and-price world city commodity)

          Adjust the quantity of this commodity currently in stock in this city of this world. Return a fragmentary world which can be deep-merged into this world.

          new-price

          (new-price old stock supply demand)

          If stock is greater than the maximum of supply and demand, then there is surplus and old price is too high, so shold be reduced. If lower, then it is too low and should be increased.

          run

          (run world)

          Return a world like this world, with quantities and prices in markets updated to reflect supply and demand.

          update-markets

          (update-markets world)(update-markets world city)(update-markets world city commodity)

          Return a world like this world, with quantities and prices in markets updated to reflect supply and demand. If city or city and commodity are specified, return a fragmentary world with only the changes for that city (and commodity if specified) populated.

          \ No newline at end of file diff --git a/docs/codox/the-great-game.merchants.merchant-utils.html b/docs/codox/the-great-game.merchants.merchant-utils.html index fd91803..6479e51 100644 --- a/docs/codox/the-great-game.merchants.merchant-utils.html +++ b/docs/codox/the-great-game.merchants.merchant-utils.html @@ -1,3 +1,3 @@ -the-great-game.merchants.merchant-utils documentation

          the-great-game.merchants.merchant-utils

          Useful functions for doing low-level things with merchants.

          add-known-prices

          (add-known-prices merchant world)

          Add the current prices at this merchant’s location in the world to a new cache of known prices, and return it.

          add-stock

          (add-stock a b)

          Where a and b are both maps all of whose values are numbers, return a map whose keys are a union of the keys of a and b and whose values are the sums of their respective values.

          burden

          (burden merchant world)

          The total weight of the current cargo carried by this merchant in this world.

          can-afford

          (can-afford merchant world commodity)

          Return the number of units of this commodity which this merchant can afford to buy in this world.

          can-carry

          (can-carry merchant world commodity)

          Return the number of units of this commodity which this merchant can carry in this world, given their current burden.

          expected-price

          (expected-price merchant commodity city)

          Find the price anticipated, given this world, by this merchant for this commodity in this city. If no information, assume 1. merchant should be passed as a map, commodity and city should be passed as keywords.

          \ No newline at end of file +the-great-game.merchants.merchant-utils documentation

          the-great-game.merchants.merchant-utils

          Useful functions for doing low-level things with merchants.

          add-known-prices

          (add-known-prices merchant world)

          Add the current prices at this merchant’s location in the world to a new cache of known prices, and return it.

          add-stock

          (add-stock a b)

          Where a and b are both maps all of whose values are numbers, return a map whose keys are a union of the keys of a and b and whose values are the sums of their respective values.

          burden

          (burden merchant world)

          The total weight of the current cargo carried by this merchant in this world.

          can-afford

          (can-afford merchant world commodity)

          Return the number of units of this commodity which this merchant can afford to buy in this world.

          can-carry

          (can-carry merchant world commodity)

          Return the number of units of this commodity which this merchant can carry in this world, given their current burden.

          expected-price

          (expected-price merchant commodity city)

          Find the price anticipated, given this world, by this merchant for this commodity in this city. If no information, assume 1. merchant should be passed as a map, commodity and city should be passed as keywords.

          \ No newline at end of file diff --git a/docs/codox/the-great-game.merchants.merchants.html b/docs/codox/the-great-game.merchants.merchants.html index 68be86f..ac2c730 100644 --- a/docs/codox/the-great-game.merchants.merchants.html +++ b/docs/codox/the-great-game.merchants.merchants.html @@ -1,3 +1,3 @@ -the-great-game.merchants.merchants documentation

          the-great-game.merchants.merchants

          Trade planning for merchants, primarily.

          run

          (run world)

          Return a partial world based on this world, but with each merchant moved.

          \ No newline at end of file +the-great-game.merchants.merchants documentation

          the-great-game.merchants.merchants

          Trade planning for merchants, primarily.

          run

          (run world)

          Return a partial world based on this world, but with each merchant moved.

          \ No newline at end of file diff --git a/docs/codox/the-great-game.merchants.planning.html b/docs/codox/the-great-game.merchants.planning.html index 3d82cfa..d843fc5 100644 --- a/docs/codox/the-great-game.merchants.planning.html +++ b/docs/codox/the-great-game.merchants.planning.html @@ -1,6 +1,6 @@ -the-great-game.merchants.planning documentation

          the-great-game.merchants.planning

          Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them.

          augment-plan

          (augment-plan merchant world plan)

          Augment this plan constructed in this world for this merchant with the :quantity of goods which should be bought and the :expected-profit of the trade.

          +the-great-game.merchants.planning documentation

          the-great-game.merchants.planning

          Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them.

          augment-plan

          (augment-plan merchant world plan)

          Augment this plan constructed in this world for this merchant with the :quantity of goods which should be bought and the :expected-profit of the trade.

          Returns the augmented plan.

          generate-trade-plans

          (generate-trade-plans merchant world commodity)

          Generate all possible trade plans for this merchant and this commodity in this world.

          Returned plans are maps with keys:

            diff --git a/docs/codox/the-great-game.merchants.strategies.simple.html b/docs/codox/the-great-game.merchants.strategies.simple.html index e2b151a..9d2e4c7 100644 --- a/docs/codox/the-great-game.merchants.strategies.simple.html +++ b/docs/codox/the-great-game.merchants.strategies.simple.html @@ -1,4 +1,4 @@ -the-great-game.merchants.strategies.simple documentation

            the-great-game.merchants.strategies.simple

            Default trading strategy for merchants.

            +the-great-game.merchants.strategies.simple documentation

            the-great-game.merchants.strategies.simple

            Default trading strategy for merchants.

            The simple strategy buys a single product in the local market if there is one which can be traded profitably, trades it to the chosen target market, and sells it there. If there is no commodity locally which can be traded profitably, moves towards home with no cargo. If at home and no commodity can be traded profitably, does not move.

            move-merchant

            (move-merchant merchant world)

            Handle general en route movement of this merchant in this world; return a (partial or full) world like this world but in which the merchant may have been moved ot updated.

            plan-and-buy

            (plan-and-buy merchant world)

            Return a world like this world, in which this merchant has planned a new trade, and bought appropriate stock for it. If no profitable trade can be planned, the merchant is simply moved towards their home.

            re-plan

            (re-plan merchant world)

            Having failed to sell a cargo at current location, re-plan a route to sell the current cargo. Returns a revised world.

            sell-and-buy

            (sell-and-buy merchant world)

            Return a new world like this world, in which this merchant has sold their current stock in their current location, and planned a new trade, and bought appropriate stock for it.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.objects.container.html b/docs/codox/the-great-game.objects.container.html index 58d2d56..2a28aac 100644 --- a/docs/codox/the-great-game.objects.container.html +++ b/docs/codox/the-great-game.objects.container.html @@ -1,3 +1,3 @@ -the-great-game.objects.container documentation

            the-great-game.objects.container

            TODO: write docs

            ProtoContainer

            protocol

            members

            contents

            (contents container)

            Return a sequence of the contents of this container, or nil if empty.

            is-empty?

            (is-empty? container)

            Return true if this container is empty, else false.

            \ No newline at end of file +the-great-game.objects.container documentation

            the-great-game.objects.container

            TODO: write docs

            ProtoContainer

            protocol

            members

            contents

            (contents container)

            Return a sequence of the contents of this container, or nil if empty.

            is-empty?

            (is-empty? container)

            Return true if this container is empty, else false.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.objects.game-object.html b/docs/codox/the-great-game.objects.game-object.html index 70023d4..b486c1c 100644 --- a/docs/codox/the-great-game.objects.game-object.html +++ b/docs/codox/the-great-game.objects.game-object.html @@ -1,3 +1,3 @@ -the-great-game.objects.game-object documentation

            the-great-game.objects.game-object

            Anything at all in the game world

            ProtoObject

            protocol

            An object in the world

            members

            id

            (id object)

            Returns the unique id of this object.

            reify-object

            (reify-object object)

            Adds this object to the global object list. If the object has a non-nil value for its id method, keys it to that id - but if the id value is already in use, throws a hard exception. Returns the id to which the object is keyed in the global object list.

            \ No newline at end of file +the-great-game.objects.game-object documentation

            the-great-game.objects.game-object

            Anything at all in the game world

            ProtoObject

            protocol

            An object in the world

            members

            id

            (id object)

            Returns the unique id of this object.

            reify-object

            (reify-object object)

            Adds this object to the global object list. If the object has a non-nil value for its id method, keys it to that id - but if the id value is already in use, throws a hard exception. Returns the id to which the object is keyed in the global object list.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.time.html b/docs/codox/the-great-game.time.html index adb005d..56da7e3 100644 --- a/docs/codox/the-great-game.time.html +++ b/docs/codox/the-great-game.time.html @@ -1,3 +1,3 @@ -the-great-game.time documentation

            the-great-game.time

            TODO: write docs

            canonical-ordering-of-houses

            The canonical ordering of religious houses.

            date-string

            (date-string game-time)

            Return a correctly formatted date for this game-time in the calendar of the Great Place.

            day

            (day game-time)

            Day of the eight-day week represented by this game-time.

            day-of-year

            macro

            (day-of-year game-time)

            The day of the year represented by this game-time, ignoring leap years.

            days-in-season

            TODO: write docs

            days-in-week

            This world has an eight day week.

            days-of-week

            The eight-day week of the game world. This differs from the canonical ordering of houses in that it omits the eye.

            game-day-length

            The Java clock advances in milliseconds, which is fine. But we need game-days to be shorter than real world days. A Witcher 3 game day is 1 hour 36 minutes, or 96 minutes, which is presumably researched. Round it up to 100 minutes for easier calculation.

            game-start-time

            The start time of this run.

            game-time

            (game-time)(game-time timestamp)

            With no arguments, the current game time. If a Java timestamp value is passed (as a long), the game time represented by that value.

            now

            (now)

            For now, we’ll use Java timestamp for time; ultimately, we need a concept of game-time which allows us to drive day/night cycle, seasons, et cetera, but what matters about time is that it is a value which increases.

            season

            (season game-time)

            TODO: write docs

            seasons-in-year

            Nine seasons in a year, one for each house (although the order is different.

            seasons-of-year

            The ordering of seasons in the year is different from the canonical ordering of the houses, for reasons of the agricultural cycle.

            waiting-day?

            Does this game-time represent a waiting day?

            week

            (week game-time)

            Week of season represented by this game-time.

            weeks-in-season

            To fit nine seasons of eight day weeks into 365 days, each must be of five weeks.

            weeks-of-season

            To fit nine seasons of eight day weeks into 365 days, each must be of five weeks.

            \ No newline at end of file +the-great-game.time documentation

            the-great-game.time

            TODO: write docs

            canonical-ordering-of-houses

            The canonical ordering of religious houses.

            date-string

            (date-string game-time)

            Return a correctly formatted date for this game-time in the calendar of the Great Place.

            day

            (day game-time)

            Day of the eight-day week represented by this game-time.

            day-of-year

            macro

            (day-of-year game-time)

            The day of the year represented by this game-time, ignoring leap years.

            days-in-season

            TODO: write docs

            days-in-week

            This world has an eight day week.

            days-of-week

            The eight-day week of the game world. This differs from the canonical ordering of houses in that it omits the eye.

            game-day-length

            The Java clock advances in milliseconds, which is fine. But we need game-days to be shorter than real world days. A Witcher 3 game day is 1 hour 36 minutes, or 96 minutes, which is presumably researched. Round it up to 100 minutes for easier calculation.

            game-start-time

            The start time of this run.

            game-time

            (game-time)(game-time timestamp)

            With no arguments, the current game time. If a Java timestamp value is passed (as a long), the game time represented by that value.

            now

            (now)

            For now, we’ll use Java timestamp for time; ultimately, we need a concept of game-time which allows us to drive day/night cycle, seasons, et cetera, but what matters about time is that it is a value which increases.

            season

            (season game-time)

            TODO: write docs

            seasons-in-year

            Nine seasons in a year, one for each house (although the order is different.

            seasons-of-year

            The ordering of seasons in the year is different from the canonical ordering of the houses, for reasons of the agricultural cycle.

            waiting-day?

            Does this game-time represent a waiting day?

            week

            (week game-time)

            Week of season represented by this game-time.

            weeks-in-season

            To fit nine seasons of eight day weeks into 365 days, each must be of five weeks.

            weeks-of-season

            To fit nine seasons of eight day weeks into 365 days, each must be of five weeks.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.utils.html b/docs/codox/the-great-game.utils.html index 254c9c2..be772c9 100644 --- a/docs/codox/the-great-game.utils.html +++ b/docs/codox/the-great-game.utils.html @@ -1,3 +1,3 @@ -the-great-game.utils documentation

            the-great-game.utils

            TODO: write docs

            cyclic?

            (cyclic? route)

            True if two or more elements of route are identical

            deep-merge

            (deep-merge & maps)

            make-target-filter

            (make-target-filter targets)

            Construct a filter which, when applied to a list of maps, will pass those which match these targets, where each target is a tuple [key value].

            \ No newline at end of file +the-great-game.utils documentation

            the-great-game.utils

            TODO: write docs

            cyclic?

            (cyclic? route)

            True if two or more elements of route are identical

            deep-merge

            (deep-merge & maps)

            make-target-filter

            (make-target-filter targets)

            Construct a filter which, when applied to a list of maps, will pass those which match these targets, where each target is a tuple [key value].

            \ No newline at end of file diff --git a/docs/codox/the-great-game.world.location.html b/docs/codox/the-great-game.world.location.html index d0eb7c6..370fc6e 100644 --- a/docs/codox/the-great-game.world.location.html +++ b/docs/codox/the-great-game.world.location.html @@ -1,3 +1,3 @@ -the-great-game.world.location documentation

            the-great-game.world.location

            Functions dealing with location in the world.

            distance-between

            (distance-between location-1 location-2)

            TODO: write docs

            get-coords

            (get-coords location)

            Return the coordinates in the game world of location, which may be 1. A coordinate pair in the format {:x 5 :y 32}; 2. A location, as discussed above; 3. Any other gameworld object, having a :location property whose value is one of the above.

            \ No newline at end of file +the-great-game.world.location documentation

            the-great-game.world.location

            Functions dealing with location in the world.

            distance-between

            (distance-between location-1 location-2)

            TODO: write docs

            get-coords

            (get-coords location)

            Return the coordinates in the game world of location, which may be 1. A coordinate pair in the format {:x 5 :y 32}; 2. A location, as discussed above; 3. Any other gameworld object, having a :location property whose value is one of the above.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.world.routes.html b/docs/codox/the-great-game.world.routes.html index f54d7ee..ee6800a 100644 --- a/docs/codox/the-great-game.world.routes.html +++ b/docs/codox/the-great-game.world.routes.html @@ -1,3 +1,3 @@ -the-great-game.world.routes documentation

            the-great-game.world.routes

            Conceptual (plan level) routes, represented as tuples of location ids.

            find-route

            (find-route world-or-routes from to)

            Find a single route from from to to in this world-or-routes, which may be either a world as defined in the-great-game.world.world or else a sequence of tuples of keywords.

            find-routes

            (find-routes routes from)(find-routes routes from to)(find-routes routes from to steps)

            Find routes from among these routes from from; if to is supplied, to to, by breadth-first search.

            \ No newline at end of file +the-great-game.world.routes documentation

            the-great-game.world.routes

            Conceptual (plan level) routes, represented as tuples of location ids.

            find-route

            (find-route world-or-routes from to)

            Find a single route from from to to in this world-or-routes, which may be either a world as defined in the-great-game.world.world or else a sequence of tuples of keywords.

            find-routes

            (find-routes routes from)(find-routes routes from to)(find-routes routes from to steps)

            Find routes from among these routes from from; if to is supplied, to to, by breadth-first search.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.world.run.html b/docs/codox/the-great-game.world.run.html index f112cfc..ebfcea1 100644 --- a/docs/codox/the-great-game.world.run.html +++ b/docs/codox/the-great-game.world.run.html @@ -1,3 +1,3 @@ -the-great-game.world.run documentation

            the-great-game.world.run

            Run the whole simulation

            init

            (init)(init config)

            TODO: write docs

            run

            (run world)(run world date)

            The pipeline to run the simulation each game day. Returns a world like this world, with all the various active elements updated. The optional date argument, if supplied, is set as the :date of the returned world.

            \ No newline at end of file +the-great-game.world.run documentation

            the-great-game.world.run

            Run the whole simulation

            init

            (init)(init config)

            TODO: write docs

            run

            (run world)(run world date)

            The pipeline to run the simulation each game day. Returns a world like this world, with all the various active elements updated. The optional date argument, if supplied, is set as the :date of the returned world.

            \ No newline at end of file diff --git a/docs/codox/the-great-game.world.world.html b/docs/codox/the-great-game.world.world.html index 3d6c375..2965f11 100644 --- a/docs/codox/the-great-game.world.world.html +++ b/docs/codox/the-great-game.world.world.html @@ -1,3 +1,3 @@ -the-great-game.world.world documentation

            the-great-game.world.world

            Access to data about the world

            actual-price

            (actual-price world commodity city)

            Find the actual current price of this commodity in this city given this world. NOTE that merchants can only know the actual prices in the city in which they are currently located.

            default-world

            A basic world for testing concepts

            run

            (run world)(run world date)

            Return a world like this world with only the :date to this date (or id date not supplied, the current value incremented by one). For running other aspects of the simulation, see the-great-game.world.run.

            \ No newline at end of file +the-great-game.world.world documentation

            the-great-game.world.world

            Access to data about the world

            actual-price

            (actual-price world commodity city)

            Find the actual current price of this commodity in this city given this world. NOTE that merchants can only know the actual prices in the city in which they are currently located.

            default-world

            A basic world for testing concepts

            run

            (run world)(run world date)

            Return a world like this world with only the :date to this date (or id date not supplied, the current value incremented by one). For running other aspects of the simulation, see the-great-game.world.run.

            \ No newline at end of file diff --git a/project.clj b/project.clj index 8d385fe..60c7cec 100644 --- a/project.clj +++ b/project.clj @@ -1,4 +1,4 @@ -(defproject the-great-game "0.1.2-SNAPSHOT" +(defproject journeyman-cc/the-great-game "0.1.2-SNAPSHOT" :cloverage {:output "docs/cloverage"} :codox {:metadata {:doc "**TODO**: write docs" :doc/format :markdown} From 0b34d8100209cbce97e1e36b76cb532064cfefaf Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Mon, 29 Jun 2020 13:51:37 +0100 Subject: [PATCH 6/8] Working towards the beginnings of serious settlement code. --- doc/Dynamic-consequences.md | 57 + doc/building_on_microworld.md | 9 + project.clj | 11 +- resources/maps/barra/barra.edn | 1 + resources/maps/barra/barra.html | 1 + resources/maps/barra/barra.png | Bin 0 -> 4185 bytes resources/maps/barra/barra.xcf | Bin 0 -> 6741 bytes resources/maps/barra/barra_100.edn | 1 + resources/maps/barra/barra_100.html | 1 + resources/maps/barra/barra_100_edited.edn | 2256 +++++++++++++++++++++ resources/maps/barra/barra_101.edn | 1 + resources/maps/barra/barra_101.html | 1 + resources/maps/noise.png | Bin 0 -> 18076 bytes resources/maps/noise.xcf | Bin 0 -> 47808 bytes src/the_great_game/utils.clj | 10 + src/the_great_game/world/heightmap.clj | 158 ++ src/the_great_game/world/mw.clj | 7 + 17 files changed, 2511 insertions(+), 3 deletions(-) create mode 100644 doc/Dynamic-consequences.md create mode 100644 doc/building_on_microworld.md create mode 100644 resources/maps/barra/barra.edn create mode 100644 resources/maps/barra/barra.html create mode 100644 resources/maps/barra/barra.png create mode 100644 resources/maps/barra/barra.xcf create mode 100644 resources/maps/barra/barra_100.edn create mode 100644 resources/maps/barra/barra_100.html create mode 100644 resources/maps/barra/barra_100_edited.edn create mode 100644 resources/maps/barra/barra_101.edn create mode 100644 resources/maps/barra/barra_101.html create mode 100644 resources/maps/noise.png create mode 100644 resources/maps/noise.xcf create mode 100644 src/the_great_game/world/heightmap.clj create mode 100644 src/the_great_game/world/mw.clj diff --git a/doc/Dynamic-consequences.md b/doc/Dynamic-consequences.md new file mode 100644 index 0000000..d89a158 --- /dev/null +++ b/doc/Dynamic-consequences.md @@ -0,0 +1,57 @@ +# On the consequences of a dynamic game environment for storytelling + +First, a framing disclaimer: in [Racundra's First Cruise](https://books.google.co.uk/books?id=Ol1-DwAAQBAJ&lpg=PP1&pg=PT77#v=twopage&q&f=false), Arthur Ransome describes coming across a half built - and by the time he saw it, already obsolete - wooden sailing ship, in a Baltic forest. An old man was building it, by himself. He had been building it since he had been a young man. It's clear that Ransome believed the ship would never be finished. It's not clear whether the old man believed that it would, but nevertheless he was building it. + +I will never build a complete version of The Great Game; it will probably never even be a playable prototype. It is a minor side-project of someone who + +1. Is ill, and consequently has inconsistent levels of energy and concentration; +2. Has other things to do in the real world which necessarily take precedence. + +Nevertheless, in making design choices I want to specify something which could be built, which could, except for the technical innovations I'm trying myself to build, be built with the existing state of the art, and which if built, would be engaging and interesting to play. + +The defining characteristic of Role Playing Games - the subcategory of games in which I am interested - is that the actions, decisions and choices of the player make a significant difference to the outcome of the plot, significantly affect change in the world. This already raises challenges for the cinematic elements in telling the game story, and those cinematic elements are one of the key rewards to the player, one of the elements of the game's presentation which most build, and hold, player engagement. These challenges are clearly expressed in two very good videos I've watched recently: [Who's Commanding Shepard in Mass Effect?](https://youtu.be/bm0S4cn_rfw), which discusses how much control the player actually has/should have over the decisions of the character they play as; and [What Happened with Mass Effect Andromeda’s Animation?](https://youtu.be/NmLPpcVQFJM), which discusses how the more control the player has, the bigger the task of authoring animation of all conversations and plot events becomes. + +There are two key innovations I want to make in The Great Game which set it apart from existing Role Playing Games, both of which make the production of engaging cinematic presentation of conversation more difficult, nd I'll handle each in turn. But before I do, there's something I need to make clear about the nature of video games themselves: what they are for. Video games are a vehicle to tell stories, to convey narrative. They're a rich vehicle, because the narrative is not fixed: it is at least to some degree mutable, responsive to the input of the audience: the player. + +Clear? Let's move on. + +The innovations I am interested in are + +## Unconstrained natural speech input/output + +I want the player to be able to interact with non-player characters (and, indeed, potentially with other player characters, in a multi-player context) simply by speaking to them. This means that the things the player character says cannot be scripted: there is no way for the game designer to predict the full repertoire of the player's input. It also means that the game must construct, and put into the mouth of the non-player character being addressed, an appropriate response, given + +1. The speech interpretation engine's interpretation of what it is the player said; +2. The immediate game and plot context; +3. The particular non-player character addressed's knowledge of the game world; +4. The particular non-player character's attitude towards the player; +5. The particular non-player character's speech idiosyncracies, dialect, and voice + +and it must be pretty clear that the full range of potential responses is extremely large. Consequently, it's impossible that all non-player character speech acts can be voice acted; rather, this sort of generated speech must be synthesised. But a consequence of this is that the non-player character's facial animation during the conversation also cannot be motion captured from a human actor; rather, it, too, must be synthesized. + +This doesn't mean that speech acts by non-player characters which make plot points or advance the narrative can't be voice acted, but it does mean that the voice acting must be consistent with the simulated voice used for that non-player character - which is to say, probably, that the non-player character must use a synthetic voice derived from the voice of that particular voice actor. + +## Dynamic game environment + +Modern Role Playing Games are, in effect, extremely complex state machines: if you do the same things in the same sequence, the same outcomes will always occur. In a world full of monsters, bandits, warring armies and other dangers, the same quest givers will be in the same places at the same times. They are clockwork worlds, filled with clockwork automata. Of course, this has the advantage that is makes testing easier - and in a game with a complex branching narrative and many quests, testing is inevitably hard. + +My vision for The Great Game is different. It is that the economy - and with it, the day to day choices of non-player characters - should be modelled. This means, non-player characters may unexpectedly die. Of course, you could implement a tag for plot-relevant characters which prevents them being killed (except when required by the plot). + +## Plot follows player + +As Role Playing Games have moved towards open worlds - where the player's movement in the environment is relatively unconstrained - the clockwork has become strained. The player has to get to particular locations where particular events happen, and so the player has to be very heavily signposted. Another solution - which I'd like to explore - is 'plot follows character'. The player is free to wander at will in the world, and plot relevant events will happen on their path. And by that I don't mean that we associate a set of non-player characters which each quest - as current Role Playing Games do - and then uproot the whole set from wherever they normally live in the world and dumping down in the player's path; but rather, for each role in a quest or plot event, we define a set of characteristics required to fulfill that role, and then, when the player comes to a place where there are a set of characters who have those characteristics, the quest or plot event will happen. + +## Cut scenes, cinematics and rewarding the player + +There's no doubt at all that 'cut scenes' - in effect, short movies spliced into game play during which the player has no decisions to make but can simply watch the scene unroll - are elements of modern games which players enjoy, and see to some extent as 'rewards'. And in many games, these are beautifully constructed works. It is a very widely held view that the quality of cutscenes depends to a large degree on human authorship. The three choices I've made above: + +1. We can't always know exactly what non-player characters will say (although perhaps we can in the context of cut scenes where the player has no input); +2. We can't always know exactly which non-player characters will speak the lines; +3. We can't predict what a non-player character will say in response to a question, or how long that will take; +4. We can't always know where any particular plot event will take place. + +Each of these, obviously, make the task of authoring an animation harder. The general summary of what I'm saying here is that, although in animating a conversation or cutscene what the animator is essentially animating is the skeletons of the characters, and, provided that all character models are rigged on essentially similar skeletons, substituting one character model for another in an animated scene isn't a huge issue, with so much unknowable it is impossible that hand-authoring will be practicable, and so a lot will depend on the quality of the conversation system not merely to to produce convincingly enunciated and emoted sound, but also appropriate character animation and attractive cinematography. As you will have learned from the Mass Effect analysis videos I linked to above, that's a big ask. + +Essentially the gamble here is that players will find the much richer conversations, and consequent emergent gameplay, possible with non-player charcaters who have dynamic knowledge about their world sufficiently engaging to compensate for a less compelling cinematic experience. I believe that they would; but really the only way to find out would be to try. + +Interestingly, an [early preview](https://youtu.be/VwwZx5t5MIc?t=327) of CD PRoject Red's not-yet-complete [Cyberpunk 2077]() suggests that there will be very, very few cutscenes, suggesting that these very experienced storytellers don't feel they need cutscenes either to tell their story or maintain player engagement. (Later) It has to be said other commentators who have also played the Cyberpunk 2077 preview say that there are **a lot** of cutscenes, one of them describing the prologue as 'about half cutscenes' - so this impression I formed may be wrong). diff --git a/doc/building_on_microworld.md b/doc/building_on_microworld.md new file mode 100644 index 0000000..e7155a5 --- /dev/null +++ b/doc/building_on_microworld.md @@ -0,0 +1,9 @@ +# Building on Microworld + +In [Settling a Game World](Settling-a-game-world.html) I intended that a world should be populated by setting agents - settlers - to explore the map and select places to settle according to particular rules. In the meantime, I've built [MicroWorld](https://github.com/simon-brooke/mw-ui), a rule driven cellular automaton which makes a reasonably good job of modelling human settlement. It works, and I now plan to use it, as detailed in this note; but there are issues. + +First and formost, it's slow, and both processor and memory hungry. That means that at continent scale, a cell of one kilometre square is the minimum size which is really possible, which isn't small enough to create a settlement map of the density that a game will need. Even with 1km cells, even on the most powerful machines I have access to, a continent-size map will take many days to run. + +Of course it would be possible to do a run at one km scale top identify areas which would support settlement, and then to do a run on a ten metre grid on each of those areas to more precisely plot settlement. That's an idea which I haven't yet explored, which might prove fruitful. + +Secondly, being a cellular automaton, MicroWorld works on a grid. This means that everything is grid aligned, which is absolutely not what I want! So I think the way to leverage this is to use Microworld to establish which kilometre square cells om the grid should be populated (and roughly with what), and then switch to ad hoc code to populate those cells. diff --git a/project.clj b/project.clj index 60c7cec..5d457f3 100644 --- a/project.clj +++ b/project.clj @@ -5,10 +5,15 @@ :output-path "docs/codox" :source-uri "https://github.com/simon-brooke/the-great-game/blob/master/{filepath}#L{line}"} :cucumber-feature-paths ["test/features/"] - :dependencies [[org.clojure/clojure "1.8.0"] - [org.clojure/math.numeric-tower "0.0.4"] + :dependencies [[com.taoensso/timbre "4.10.0"] [environ "1.1.0"] - [com.taoensso/timbre "4.10.0"]] + [journeyman-cc/walkmap "0.1.0-SNAPSHOT"] + [me.raynes/fs "1.4.6"] + [mw-engine "0.1.6-SNAPSHOT"] + [org.clojure/algo.generic "0.1.3"] + [org.clojure/clojure "1.8.0"] + [org.clojure/math.numeric-tower "0.0.4"] + ] :description "Prototype code towards the great game I've been writing about for ten years, and know I will never finish." :license {:name "GNU General Public License,version 2.0 or (at your option) any later version" :url "https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html"} diff --git a/resources/maps/barra/barra.edn b/resources/maps/barra/barra.edn new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/resources/maps/barra/barra.edn @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/resources/maps/barra/barra.html b/resources/maps/barra/barra.html new file mode 100644 index 0000000..cdee284 --- /dev/null +++ b/resources/maps/barra/barra.html @@ -0,0 +1 @@ +Microworld render
            \ No newline at end of file diff --git a/resources/maps/barra/barra.png b/resources/maps/barra/barra.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f07999293f7ad3c310b0e26d905ba4f79c39c6 GIT binary patch literal 4185 zcmV-f5T@^mP)uJ@VVD_UC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$Or zQF$}6R&?d%y_c8YA7_1QpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv z1)yUy0P^?0*fb9UASvow`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q z{wNRKos+;6rV8ldy0Owz(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E`vOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G4 z1dM~{UdP6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4E zs0sQWIt5*Tu0n&*J!lk~f_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+ zAA{TB3-ERLHar49hi4Ih5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=nat zP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+edD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVbnL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0 zWMyP6Wy582WNT#4$d1qunl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8d zZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iu ztvy=3T65Yu+7a4Yv^%sXb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i z^lS773}6Fm1Fpe-gF!>Ip{*g$u-szvGhed;vo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*Z zvFf(^Xl-N7w{EeXveC4Ov)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx z)P8cQ&Qi|OhNWW;>JChYI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_W zICNY@+|jrX%s^&6b2i>5eqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!q zl}XcFH*PieWwLj2ZSq`7V9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I- z?$tAVKYn8-l({mqQ$Q8{O!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;c zwT88(J6|n-WB%w`m$h~4pmp)YIh_ z3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dl zbFb#!9eY1iCsp6Bajj|Hr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syT zu9enWavU5N9)I?I-1m1*_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$m zU2Q)a|9JSc+Uc4zvS-T963!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;; zJuhGEb?H5K#o@~7t9DmUU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX z=)z6+o0o6-+`4{y+3mqQ%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@ z>;2q1Vm)$Z)P1z?N$8UYW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHs zy69KwU-!MxeeuI@&cF4|M9z%AfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u010qNS#tmY3ljhU3ljkVnw%H_000Mc zNliruM;=CHPRxh&6He`zTf3sZ7REjBVyvep? z>0I=bi$fq22;|pA3cTRS+ z8uH$ET^9s_QtI<}y}rJB?~O5>^UY>+8lidJ8KL9x*tRX_JV}zXcfGc%sq zlu~-RTIg45_6*J8aMbib=d)x2#@9)a8EDS>_ zB_RZ%z4+tzq-+j&S(b#5aU5S>Uh29YhG85>Ddoj<{OxK=8DmPRYl*%mLP{wqC8%Xi zkk%U28prW^y}o$kG)>-nrPK$laA#37#_GD}oTG=))r1gAX&8pr-kvcQ$MMIFc_$#? zFvg%DP$C!G_;f)iK3;e7(0;!+#^9w1A%u|acKZ-gy{Cq%szPj%BvDF@)W79Nf7RDIoe7Rhn_5TdT7}GS3)_S#CUA*QtKt)k_@4fewQbLGx zt}M%O9Ids^IZCP4dbwO)3{O!MRaJpPqbNdtzY3`Ddt(f;Bc+_CsVE9-Ex0EPL&jLs zG@SEc7=#eBnnJJ$A>Mn=If&;0fU+zb$Fc8wgoF^HlZQ8xXP%9e^&TY05db)+R}URL)KhQ4vBo=bUrHFyI=-*z9#4Q`C5p zwH9$Y9*@>q2vgT}#+Wos8Dofz5Mr7p)c!b*#+dbbJ$s$60)i}f@9Vm*stR1(G>!LO zN-2bhqG$$f3oFmfKV%_R(#f4BW2cFN-5_Y86kvNYk@4!^ILIz z3Q!b9AhayYq9{TNkP$*i-}l~oSfW|f;7vhPH<`(g0D13$gE1zAI3AA(z%)&5+YZA3 z^SWNIqbNdN2q9q@3L*NwN2Oo0J2wMr+qP+%S*MVx!{GoXJRA;1QJ}5zJcqnfN|Pj6 zEEZ>j#A5*UeZSxDhhdOXE*1-j1LwT&dqN0$c(d6om&-iQlO%zF0L??h^&Ai=x3i+B*n>FbqLCVHj?=+c=K%Jh#@u z3wK>-t<_p{&LJQVoay+PS>~K8rP4I*x~}WGSvcc3w$`G{V1T^$)>@_1O}ux5L2KK# zEX!${@Wxtea6baGSS;GM)ml5}y!T-kqMLTR-2?M=?ik+ilBVfnq5NOUutNhg1&u@pQA%NnkhQOO^=AQTt;cahlVfgg+jhNP3n7MKz??dc zgj+^#|ao3Xb58r8!H$ppkhj?vMi6s zqm**D+dU;^r^Hy-HT)=S5WM24Wy57fQGDJ9-aiH@r6{Gykq`npHT#}Z#=16aJUC_E z`=Tfy?@~(W!}|@xwr!0u50tRW#5fGYYPG^Ms;WYzGsco6c}6h)QA3yzgb-PlRaI40 z)t^6qplcW^p4wa&03k5&sq-MwwykpxHu<|F1j>OzWm(pB-Fm%-@k8^!ucRjeLM1^N z=KVuhvv2;F1D$tOfBpJ}9HDfwEZb~0Q50dn43o|GrOY{}wQiaQd*1Wu&1Un>5&GNq j(D@%fetb_DK3M+)=8CFB>^8Q)00000NkvXXu0mjfm9qrZ literal 0 HcmV?d00001 diff --git a/resources/maps/barra/barra.xcf b/resources/maps/barra/barra.xcf new file mode 100644 index 0000000000000000000000000000000000000000..766fe5218509d74f2c542e4f84428013b0fe011d GIT binary patch literal 6741 zcmeHKcT`hJ-=3RFuK@u;f^-xF6$C4YAc!tjENcrPgeU|ILF{c^cP(od3s!Vh)YVm2 z>=jr=5d@?xNhI0i#v}$p3W9*S-&}0$_wByld){;2|D1DX=E*a^-;`&5lRLxaWMt8o zF;nTOoOBj|DH!HKIDp9(W(0wSJ>JATBtodW=tFJW!LVKM`= zc$uF%B|<6=&l5S^Oo9yn8C*VZ>iDtrS+nQRsTHsvQ$PVB05F)@S(B#4PKSMf_?T#V zHZ;QV#{|cCTL#j#DzYDbNO=b5=@53XV%4{&8sz3u59#h&L_euyP@O z39(mtP6h|!4v1+PEJikz(gNrCEM^+S_y$<;rcaHAcqEkFg53)z_riSEGB{5FqBFCW z^Em7@KHZP$PY;QR2&c!fa?@FSe&A#Vb1{RLLXXbO$YOAp1Mp$ZxEHX)wWULm!$Km$ z!U6{eLHR$Yf7$ri>R$tVZ$DV*r}XR@;#mHL`{MhB%PasOybWrz^9z@J5P<971K`y7 zh4VTNfb~WIiYj}p#}SX0G(JCT_@F_#xw%0c7BdJJ^mF=u4L)1`Gw3y55I){#?daoJ zsf?U-J{=d8nVFuM!=q@i&z);M}2!038 zzza|d1V9W>@CLMkx1b9_5GrDc*dxw}JK~KDKn5e>$Y>-6nTSk9W+Mv`Ho`@6kX6Wc z$W~-GatJwr6e5?Ao5(|?45>o?KqQC~(IK4#BEf<{Be)TK2!jaWgeXD+VLD+RflXLK zSV7oG*iJY=C?H%Q6cHX0o)KyZV!|6j8xauAiH<}MVjwY`7)?wh&LO4}dBiouEyO%x z0r4X77V$B$hA1YgiSI}hl0At|3M7pn#gS%^n4~47HKc8%L!`5$B2o#dh9n`il8j_a zvMYH2c{n+qJd4aG=aM&(^T?;k*T|*hS~5z0OQBF4DZZ3plsL+4$|A~2$~MXo$|cGJ zN)<&)X`@o9&eQ?aQPe~#gUY9Fq8_APpx&oeQ&DP%iMffp$zYRMlQ||_lMN<$Cg)7< znN*v+Ht908G4(bbZklMCV!GUPhv_NPTc(w!sA-p(t(mXcD6{Eii_F%W9Wc9SR%#|R z)0>-{_cxC)pJL82UuS;6{8#fQ<`VOF7Iqc^7SR@SEpjZjTb!|YVDX2A-qO<2$1>7# zjwRo6yJewevE?hv4l8@BAgg$*6sxsX`Bp_%)mAOmrq6 zkG5ype`kNnzSJJ2QE0xjc-kV`R@yJL3RfN_Ttr(e51gz3%tjRdfe>6g{1OfL=mx^>Fow^T_cy;Zfny)!(=OjQ$(? zU+ORNH1iDiO!eIB`N*@?%iU{|*D9~`UX9+S-r?S9-ut~Dd$;@e`poqC!RNY?+ z-gkxXd0(NQrQaC8C4L2dFa0V0;r@&LkNCd`AOwU4qy^*$R1P2v2phl|aAZK$K=Qzd zf!u)w1M34V0;2+#2A&U;1UUvx4B8NMJ*Z`n*PuCrb`5$w$QT?NoF05CSP)_tG9hF` z$gL3F;DEu*!TEz<4zU~(J7n#U8$+~12MlEmJvy`@)IM}l=ntWfLf?lC3*&`d3{wvC z8n$rQ;bHaRwD8H{+rpnjkR!%Mtc|!6@osq7aQ^Ts!!;uUM=Tz3ZiHf_??~3jQzNCL z`j29aIx$K-nm&5r=;NcsV?4$%#uSYCGtx6MCGvFS>nQ)IMNt=`TE+&C<&C{Iwmo`y z^y=sbuBuq;A+9e_SEeaJHmDx-AUQW-C4J5%&xP$ZFjHOE!{I|Ptjib-Yt6#`xfjg%Nv?^ zY`@w5oc-bh6A#=t=yh=C!R|w8hidc3=3hGOdU*5U_9H1rs*gq{gR~}srzk2aE@81qzv%j{b2q{`# z)OtPby7<8deduEX6O_ss5XyocRialh?B)&uoJ_Cx8T z1&;*9vx;AqOev`-O(=cxd+hJUkE0&ne=_RHowDI&H=l+-z5XohSy6dt`L*Yv&#zU4 zRTNbYtGw|d;>E41kyZDq$5cP88CUcB%lMbiYQL$is+&>QP(Qa`+>p|s_#^!fZR66$ zF2On>S-3@HBg%W_`l_JGzv+@VOng@|PE!8ov_Az>ru2<0Th@(klv~R4Uc0|8R18+! zQN}7?sJ>O9Z?fKWsW&y-HXm;BYxzwRsVQ%r)rx9)T1>Z1@2o##7;1RbHo5K9+l;qe z?OQsWJI=lffA_d^X6Ng!+-_?3f%pFJZy6JeLM#Kr;3dF@4WBK6oD2q=70Bjs;5EDF z9)SSAZ2t0e7Ck#Nos;5k=9kLGuVOrSF~+Mv9y^&q4-N|MNq+-EJ~sJ7*W|x({nSqX zXMnpd!!LgLJuKwYSdd))cjQMdFo(I3svS6l}Q zn~{;h_^1e=1qTfc9U2%gE??`@v@#aG0Ey$u{#0k9hJq3$X1x5}r-qA#1rV(=Fv^EiA4hr58mOC4{M*la@Jw^Z(pp#i0QNvp%&|p84P-@QYq77n9+#2;RO-vP)Vds zLa7!*u=iRW))(v6i8UAj=WCzW$&5I!>EVqU1J3KEb=8fi5p%@4jRpf|iFHcEf+ii- z2kX+v6h_P(d#4qNrKkZi-7TmN`gAv|3>X>bYXy*Z#JY46*fRm^Qiwz2$^=3s z-lyImm9=P;m`+kJQbV6Etz2oqoG_zOhR8aUm{KT^8zB#SHek+Jn_4JFn=zeAt;Z;E z0WFvd)~OW>BwEZLd#6HCg;Iq<4Ya6SqnEZon{J&-4~^RO%@V0x*RF?sb?TZW4N8oL zX>1YhiP@ zz8RGul8*Yy+N!Ds8H%89RZ1nQ)wG}zD1<_VN@P+&y`WJjlgm+5rI4!NW@uoOQYjXS z1m#a^h1K;^xlE=}3q`UfEz|-rv@2>#D=Ht{uV_RX4N_Dl70G0%QiTikMv0;grB9z; zzgkw;Ae2aDO+uLtF3hNfW4DMKYaic!TJgMIB#}#{s2mslwNa-ts00FG{nH1RZ$GaU zNM+4XIJFUTz}^@XQmI^CUs_yxwczCCvN{o}F~Z)|>YDOuiA+%Tu%zht)#7>yzQcX7 zW>xvsa}OJvnyRWQ9+Wl8P*e?BwN6-m>++Q+B6*XbsiC4y&?ML3#s+bHLq$osNUo4I z)mGLw3RJkUK_-#O1gK0b(<_=pLMaMk$`#Wnq!Jk_Z_&SPS8DV+9nR@ADq&4UjYzC$ zR;zWG2d0&ao9e5}o;0Eou>`J-4yDpTsii`tL8obHQMSNf*QgXwX$7jnU{GNiu^j7% zwJQW-R4i$d!@%!ut`y;vUL=yCQs@FHO_LI*jLpq01|xQuV31)U)ulLm-c@E D)hW`) literal 0 HcmV?d00001 diff --git a/resources/maps/barra/barra_100.edn b/resources/maps/barra/barra_100.edn new file mode 100644 index 0000000..a6ac638 --- /dev/null +++ b/resources/maps/barra/barra_100.edn @@ -0,0 +1 @@ +[[{:x 0, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 0, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 0, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 0, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 0, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 0, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 0, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 0, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 0, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 0, :state :climax, :altitude 14, :gradient 14, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 43, :y 0, :state :climax, :altitude 15, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 44, :y 0, :state :climax, :altitude 31, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 45, :y 0, :state :climax, :altitude 36, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 46, :y 0, :state :climax, :altitude 15, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 94} {:x 47, :y 0, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 1, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 1, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 1, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 1, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 1, :state :climax, :altitude 12, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 36, :y 1, :state :climax, :altitude 13, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} {:x 37, :y 1, :state :climax, :altitude 15, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 38, :y 1, :state :climax, :altitude 23, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 39, :y 1, :state :climax, :altitude 23, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 40, :y 1, :state :climax, :altitude 28, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 41, :y 1, :state :camp, :altitude 15, :gradient 28, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 15} {:x 42, :y 1, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 1, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 1, :state :water, :altitude 2, :gradient 35, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 1, :state :water, :altitude 2, :gradient 35, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 1, :state :water, :altitude 1, :gradient 35, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 1, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 2, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 2, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 2, :state :water, :altitude 2, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 2, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 2, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 2, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 2, :state :climax, :altitude 22, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 36, :y 2, :state :climax, :altitude 31, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} {:x 37, :y 2, :state :climax, :altitude 29, :gradient 38, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 38, :y 2, :state :climax, :altitude 33, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 39, :y 2, :state :climax, :altitude 36, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 40, :y 2, :state :climax, :altitude 29, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 41, :y 2, :state :climax, :altitude 15, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 42, :y 2, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 2, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 2, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 2, :state :climax, :altitude 15, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 94} {:x 46, :y 2, :state :house, :altitude 14, :gradient 16, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 51} {:x 47, :y 2, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 3, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 3, :state :climax, :altitude 14, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 29, :y 3, :state :grassland, :altitude 32, :gradient 16, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 72} {:x 30, :y 3, :state :climax, :altitude 17, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 31, :y 3, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 3, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 3, :state :climax, :altitude 22, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 36, :y 3, :state :climax, :altitude 31, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 37, :y 3, :state :climax, :altitude 43, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} {:x 38, :y 3, :state :climax, :altitude 51, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 39, :y 3, :state :climax, :altitude 42, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 40, :y 3, :state :climax, :altitude 28, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 41, :y 3, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 3, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 3, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 3, :state :camp, :altitude 17, :gradient 14, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 39} {:x 46, :y 3, :state :climax, :altitude 14, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 47, :y 3, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 4, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 4, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 4, :state :water, :altitude 2, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 4, :state :climax, :altitude 17, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 30, :y 4, :state :house, :altitude 12, :gradient 31, :generation 101, :rule "if state is in camp or abandoned and some neighbours are crop then state should be house", :fertility 77} {:x 31, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 4, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 4, :state :house, :altitude 13, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 55} {:x 36, :y 4, :state :pasture, :altitude 29, :gradient 42, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 24} {:x 37, :y 4, :state :pasture, :altitude 42, :gradient 22, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 38} {:x 38, :y 4, :state :climax, :altitude 46, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 39, :y 4, :state :climax, :altitude 38, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 40, :y 4, :state :climax, :altitude 27, :gradient 41, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 41, :y 4, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 4, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 4, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 5, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 5, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 21} {:x 20, :y 5, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 21, :y 5, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 5, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 5, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 5, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 5, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 5, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 5, :state :grassland, :altitude 31, :gradient 41, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 33} {:x 37, :y 5, :state :pasture, :altitude 32, :gradient 17, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 45} {:x 38, :y 5, :state :grassland, :altitude 37, :gradient 19, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 32} {:x 39, :y 5, :state :grassland, :altitude 33, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 44} {:x 40, :y 5, :state :grassland, :altitude 14, :gradient 37, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 41} {:x 41, :y 5, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 5, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 6, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 6, :state :climax, :altitude 17, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 19, :y 6, :state :pasture, :altitude 28, :gradient 25, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 27} {:x 20, :y 6, :state :climax, :altitude 24, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 21, :y 6, :state :water, :altitude 2, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 6, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 6, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 6, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 6, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 6, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 6, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 6, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 6, :state :house, :altitude 15, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 36} {:x 36, :y 6, :state :crop, :altitude 35, :gradient 42, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 61} {:x 37, :y 6, :state :crop, :altitude 32, :gradient 14, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 56} {:x 38, :y 6, :state :crop, :altitude 29, :gradient 16, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 21} {:x 39, :y 6, :state :camp, :altitude 27, :gradient 25, :generation 101, :rule "if state is camp and some neighbours are ploughland then state should be camp", :fertility 34} {:x 40, :y 6, :state :pasture, :altitude 12, :gradient 32, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 41, :y 6, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 7, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 7, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 7, :state :climax, :altitude 18, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 19, :y 7, :state :climax, :altitude 27, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 20, :y 7, :state :climax, :altitude 14, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 21, :y 7, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 7, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 7, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 7, :state :climax, :altitude 19, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 92} {:x 26, :y 7, :state :forest, :altitude 22, :gradient 34, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 29} {:x 27, :y 7, :state :house, :altitude 12, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 11} {:x 28, :y 7, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 7, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 7, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 7, :state :camp, :altitude 15, :gradient 34, :generation 101, :rule "if state is camp and some neighbours are ploughland then state should be camp", :fertility 37} {:x 36, :y 7, :state :grassland, :altitude 35, :gradient 41, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 37, :y 7, :state :crop, :altitude 43, :gradient 9, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 61} {:x 38, :y 7, :state :house, :altitude 37, :gradient 20, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 34} {:x 39, :y 7, :state :grassland, :altitude 27, :gradient 35, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 46} {:x 40, :y 7, :state :house, :altitude 12, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 30} {:x 41, :y 7, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 8, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 8, :state :climax, :altitude 14, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 18, :y 8, :state :crop, :altitude 31, :gradient 28, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 15} {:x 19, :y 8, :state :climax, :altitude 28, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 20, :y 8, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 8, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 8, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 8, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 8, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 8, :state :climax, :altitude 24, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 26, :y 8, :state :scrub, :altitude 35, :gradient 29, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 6} {:x 27, :y 8, :state :pasture, :altitude 35, :gradient 40, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 28, :y 8, :state :house, :altitude 22, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 11} {:x 29, :y 8, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 8, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 8, :state :water, :altitude 2, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 8, :state :house, :altitude 28, :gradient 42, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 65} {:x 37, :y 8, :state :crop, :altitude 37, :gradient 28, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 42} {:x 38, :y 8, :state :house, :altitude 36, :gradient 31, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 27} {:x 39, :y 8, :state :pasture, :altitude 23, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 33} {:x 40, :y 8, :state :water, :altitude 2, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 8, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 9, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 9, :state :house, :altitude 12, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 18, :y 9, :state :climax, :altitude 29, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 19, :y 9, :state :climax, :altitude 28, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 20, :y 9, :state :pasture, :altitude 18, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 47} {:x 21, :y 9, :state :pasture, :altitude 17, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 23} {:x 22, :y 9, :state :house, :altitude 23, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 20} {:x 23, :y 9, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 9, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 25, :y 9, :state :pasture, :altitude 31, :gradient 40, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 26, :y 9, :state :scrub, :altitude 41, :gradient 13, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 20} {:x 27, :y 9, :state :forest, :altitude 35, :gradient 39, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 25} {:x 28, :y 9, :state :house, :altitude 20, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 8} {:x 29, :y 9, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 9, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 9, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 9, :state :crop, :altitude 15, :gradient 36, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 25} {:x 37, :y 9, :state :forest, :altitude 26, :gradient 25, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 68} {:x 38, :y 9, :state :crop, :altitude 23, :gradient 36, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 37} {:x 39, :y 9, :state :house, :altitude 12, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 38} {:x 40, :y 9, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 9, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 10, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 10, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 10, :state :house, :altitude 23, :gradient 35, :generation 101, :rule "if state is house and some neighbours are crop then state should be house", :fertility 24} {:x 19, :y 10, :state :grassland, :altitude 28, :gradient 18, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 35} {:x 20, :y 10, :state :climax, :altitude 28, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 21, :y 10, :state :climax, :altitude 28, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 22, :y 10, :state :ploughland, :altitude 23, :gradient 27, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 22} {:x 23, :y 10, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 10, :state :pasture, :altitude 23, :gradient 35, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 40} {:x 25, :y 10, :state :pasture, :altitude 36, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 26, :y 10, :state :pasture, :altitude 37, :gradient 28, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 27, :y 10, :state :climax, :altitude 26, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 28, :y 10, :state :water, :altitude 2, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 10, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 10, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 10, :state :pasture, :altitude 18, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} {:x 37, :y 10, :state :pasture, :altitude 27, :gradient 25, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 37} {:x 38, :y 10, :state :scrub, :altitude 12, :gradient 26, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 79} {:x 39, :y 10, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 10, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 11, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 11, :state :grassland, :altitude 20, :gradient 35, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 12} {:x 19, :y 11, :state :grassland, :altitude 36, :gradient 22, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 51} {:x 20, :y 11, :state :forest, :altitude 32, :gradient 10, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 48} {:x 21, :y 11, :state :scrub, :altitude 27, :gradient 22, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 86} {:x 22, :y 11, :state :forest, :altitude 19, :gradient 30, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 58} {:x 23, :y 11, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 11, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 65} {:x 25, :y 11, :state :forest, :altitude 22, :gradient 36, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 39} {:x 26, :y 11, :state :pasture, :altitude 20, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 27, :y 11, :state :house, :altitude 13, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 25} {:x 28, :y 11, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 11, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 11, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 11, :state :house, :altitude 15, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 28} {:x 37, :y 11, :state :house, :altitude 18, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 10} {:x 38, :y 11, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 11, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 12, :state :crop, :altitude 15, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 55} {:x 19, :y 12, :state :house, :altitude 32, :gradient 22, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 50} {:x 20, :y 12, :state :grassland, :altitude 37, :gradient 12, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 54} {:x 21, :y 12, :state :house, :altitude 31, :gradient 22, :generation 101, :rule "if state is in camp or abandoned and some neighbours are crop then state should be house", :fertility 30} {:x 22, :y 12, :state :grassland, :altitude 15, :gradient 30, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 24} {:x 23, :y 12, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 12, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 12, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 12, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 12, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 12, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 12, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 13, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 13, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 13, :state :climax, :altitude 22, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 19, :y 13, :state :climax, :altitude 27, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 20, :y 13, :state :grassland, :altitude 27, :gradient 24, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 21, :y 13, :state :house, :altitude 24, :gradient 24, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 13} {:x 22, :y 13, :state :house, :altitude 23, :gradient 30, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 30} {:x 23, :y 13, :state :house, :altitude 22, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 24, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 13, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 13, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 14, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 14, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 14, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 14, :state :forest, :altitude 15, :gradient 30, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 47} {:x 18, :y 14, :state :climax, :altitude 27, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 19, :y 14, :state :climax, :altitude 26, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 20, :y 14, :state :crop, :altitude 17, :gradient 18, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 45} {:x 21, :y 14, :state :crop, :altitude 13, :gradient 20, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 19} {:x 22, :y 14, :state :ploughland, :altitude 29, :gradient 23, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 23} {:x 23, :y 14, :state :house, :altitude 18, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 49} {:x 24, :y 14, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 14, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 14, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 14, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 14, :state :house, :altitude 14, :gradient 39, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 44} {:x 33, :y 14, :state :climax, :altitude 22, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} {:x 34, :y 14, :state :climax, :altitude 13, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 35, :y 14, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 15, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 15, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 15, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 15, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 15, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 15, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 15, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 15, :state :fire, :altitude 13, :gradient 40, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 37} {:x 16, :y 15, :state :climax, :altitude 19, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} {:x 17, :y 15, :state :climax, :altitude 31, :gradient 46, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 18, :y 15, :state :climax, :altitude 29, :gradient 32, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 43} {:x 19, :y 15, :state :scrub, :altitude 26, :gradient 33, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 57} {:x 20, :y 15, :state :pasture, :altitude 14, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 27} {:x 21, :y 15, :state :water, :altitude 9, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 15, :state :grassland, :altitude 13, :gradient 28, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 27} {:x 23, :y 15, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 15, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 15, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 15, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 15, :state :waste, :altitude 14, :gradient 31, :generation 101, :rule "if state is camp then 1 chance in 5 state should be waste", :fertility 72} {:x 31, :y 15, :state :grassland, :altitude 19, :gradient 32, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 54} {:x 32, :y 15, :state :climax, :altitude 31, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 33, :y 15, :state :ploughland, :altitude 40, :gradient 20, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 42} {:x 34, :y 15, :state :climax, :altitude 23, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} {:x 35, :y 15, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 16, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 16, :state :house, :altitude 18, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 40} {:x 10, :y 16, :state :crop, :altitude 19, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 33} {:x 11, :y 16, :state :climax, :altitude 20, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} {:x 12, :y 16, :state :climax, :altitude 18, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 13, :y 16, :state :scrub, :altitude 17, :gradient 34, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 74} {:x 14, :y 16, :state :waste, :altitude 19, :gradient 51, :generation 101, :rule "if state is fire then state should be waste", :fertility 75} {:x 15, :y 16, :state :scrub, :altitude 35, :gradient 55, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 62} {:x 16, :y 16, :state :climax, :altitude 41, :gradient 43, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 41} {:x 17, :y 16, :state :climax, :altitude 45, :gradient 42, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 52} {:x 18, :y 16, :state :climax, :altitude 47, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} {:x 19, :y 16, :state :forest, :altitude 45, :gradient 47, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 65} {:x 20, :y 16, :state :climax, :altitude 35, :gradient 45, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 28} {:x 21, :y 16, :state :pasture, :altitude 19, :gradient 33, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} {:x 22, :y 16, :state :climax, :altitude 15, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 23, :y 16, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 16, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 16, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 16, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 16, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 16, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 16, :state :ploughland, :altitude 18, :gradient 31, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 85} {:x 30, :y 16, :state :ploughland, :altitude 32, :gradient 31, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 52} {:x 31, :y 16, :state :climax, :altitude 32, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 32, :y 16, :state :climax, :altitude 33, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 33, :y 16, :state :climax, :altitude 32, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 34, :y 16, :state :climax, :altitude 28, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 35, :y 16, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 17, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 17, :state :crop, :altitude 26, :gradient 30, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 40} {:x 10, :y 17, :state :pasture, :altitude 31, :gradient 23, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 25} {:x 11, :y 17, :state :climax, :altitude 36, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 12, :y 17, :state :heath, :altitude 35, :gradient 19, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 69} {:x 13, :y 17, :state :heath, :altitude 29, :gradient 18, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 54} {:x 14, :y 17, :state :scrub, :altitude 32, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 63} {:x 15, :y 17, :state :scrub, :altitude 52, :gradient 37, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 51} {:x 16, :y 17, :state :climax, :altitude 56, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 27} {:x 17, :y 17, :state :climax, :altitude 55, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 18, :y 17, :state :climax, :altitude 61, :gradient 12, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 19, :y 17, :state :climax, :altitude 54, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 20, :y 17, :state :scrub, :altitude 42, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 21, :y 17, :state :scrub, :altitude 31, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 29} {:x 22, :y 17, :state :climax, :altitude 27, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 23, :y 17, :state :climax, :altitude 22, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 61} {:x 24, :y 17, :state :climax, :altitude 17, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 25, :y 17, :state :climax, :altitude 12, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 26, :y 17, :state :climax, :altitude 12, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} {:x 27, :y 17, :state :waste, :altitude 12, :gradient 26, :generation 101, :rule "if state is fire then state should be waste", :fertility 57} {:x 28, :y 17, :state :heath, :altitude 13, :gradient 26, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 65} {:x 29, :y 17, :state :pasture, :altitude 23, :gradient 31, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 55} {:x 30, :y 17, :state :grassland, :altitude 31, :gradient 17, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 69} {:x 31, :y 17, :state :crop, :altitude 32, :gradient 16, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 48} {:x 32, :y 17, :state :crop, :altitude 29, :gradient 15, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 49} {:x 33, :y 17, :state :climax, :altitude 26, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 34, :y 17, :state :camp, :altitude 15, :gradient 31, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 46} {:x 35, :y 17, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 18, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 18, :state :house, :altitude 13, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 31} {:x 10, :y 18, :state :crop, :altitude 19, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 29} {:x 11, :y 18, :state :waste, :altitude 27, :gradient 35, :generation 101, :rule "if state is fire then state should be waste", :fertility 64} {:x 12, :y 18, :state :heath, :altitude 31, :gradient 14, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 67} {:x 13, :y 18, :state :scrub, :altitude 31, :gradient 8, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 37} {:x 14, :y 18, :state :scrub, :altitude 31, :gradient 24, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 55} {:x 15, :y 18, :state :climax, :altitude 41, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} {:x 16, :y 18, :state :scrub, :altitude 49, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 17, :y 18, :state :climax, :altitude 43, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 18, :y 18, :state :climax, :altitude 47, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 19, :y 18, :state :fire, :altitude 47, :gradient 25, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 45} {:x 20, :y 18, :state :forest, :altitude 40, :gradient 26, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 63} {:x 21, :y 18, :state :climax, :altitude 28, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 32} {:x 22, :y 18, :state :climax, :altitude 27, :gradient 9, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 23, :y 18, :state :climax, :altitude 27, :gradient 10, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 24, :y 18, :state :climax, :altitude 27, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} {:x 25, :y 18, :state :climax, :altitude 22, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 24} {:x 26, :y 18, :state :climax, :altitude 23, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} {:x 27, :y 18, :state :climax, :altitude 23, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 28, :y 18, :state :fire, :altitude 27, :gradient 17, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 43} {:x 29, :y 18, :state :pasture, :altitude 15, :gradient 19, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 43} {:x 30, :y 18, :state :waste, :altitude 17, :gradient 20, :generation 101, :rule "if state is fire then state should be waste", :fertility 61} {:x 31, :y 18, :state :house, :altitude 18, :gradient 20, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 52} {:x 32, :y 18, :state :house, :altitude 27, :gradient 19, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 43} {:x 33, :y 18, :state :climax, :altitude 31, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 74} {:x 34, :y 18, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 18, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 19, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 19, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 19, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 19, :state :waste, :altitude 22, :gradient 31, :generation 101, :rule "if state is fire then state should be waste", :fertility 28} {:x 12, :y 19, :state :waste, :altitude 27, :gradient 14, :generation 101, :rule "if state is fire then state should be waste", :fertility 85} {:x 13, :y 19, :state :fire, :altitude 31, :gradient 9, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 70} {:x 14, :y 19, :state :scrub, :altitude 28, :gradient 12, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 15, :y 19, :state :forest, :altitude 29, :gradient 24, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 47} {:x 16, :y 19, :state :scrub, :altitude 37, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 26} {:x 17, :y 19, :state :scrub, :altitude 41, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 30} {:x 18, :y 19, :state :climax, :altitude 37, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 19, :y 19, :state :heath, :altitude 38, :gradient 11, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 40} {:x 20, :y 19, :state :waste, :altitude 36, :gradient 19, :generation 101, :rule "if state is fire then state should be waste", :fertility 51} {:x 21, :y 19, :state :fire, :altitude 28, :gradient 20, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 46} {:x 22, :y 19, :state :climax, :altitude 26, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} {:x 23, :y 19, :state :climax, :altitude 26, :gradient 3, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 24, :y 19, :state :climax, :altitude 27, :gradient 6, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 41} {:x 25, :y 19, :state :climax, :altitude 27, :gradient 11, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 32} {:x 26, :y 19, :state :forest, :altitude 22, :gradient 11, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 41} {:x 27, :y 19, :state :fire, :altitude 24, :gradient 19, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 40} {:x 28, :y 19, :state :climax, :altitude 29, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 29, :y 19, :state :heath, :altitude 22, :gradient 24, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 61} {:x 30, :y 19, :state :waste, :altitude 12, :gradient 22, :generation 101, :rule "if state is fire then state should be waste", :fertility 45} {:x 31, :y 19, :state :crop, :altitude 13, :gradient 21, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 52} {:x 32, :y 19, :state :grassland, :altitude 15, :gradient 32, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 38} {:x 33, :y 19, :state :house, :altitude 17, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 47} {:x 34, :y 19, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 20, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 20, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 20, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 20, :state :climax, :altitude 23, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 12, :y 20, :state :heath, :altitude 32, :gradient 37, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 63} {:x 13, :y 20, :state :fire, :altitude 36, :gradient 32, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 44} {:x 14, :y 20, :state :heath, :altitude 35, :gradient 31, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 47} {:x 15, :y 20, :state :scrub, :altitude 37, :gradient 36, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 65} {:x 16, :y 20, :state :scrub, :altitude 52, :gradient 36, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 75} {:x 17, :y 20, :state :scrub, :altitude 56, :gradient 28, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} {:x 18, :y 20, :state :scrub, :altitude 43, :gradient 29, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 40} {:x 19, :y 20, :state :scrub, :altitude 36, :gradient 14, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 20, :y 20, :state :climax, :altitude 46, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 21, :y 20, :state :climax, :altitude 41, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 22, :y 20, :state :climax, :altitude 29, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 23, :y 20, :state :scrub, :altitude 26, :gradient 3, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 45} {:x 24, :y 20, :state :climax, :altitude 28, :gradient 3, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} {:x 25, :y 20, :state :climax, :altitude 28, :gradient 18, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} {:x 26, :y 20, :state :climax, :altitude 17, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 27, :y 20, :state :climax, :altitude 20, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} {:x 28, :y 20, :state :waste, :altitude 36, :gradient 15, :generation 101, :rule "if state is fire then state should be waste", :fertility 38} {:x 29, :y 20, :state :waste, :altitude 35, :gradient 24, :generation 101, :rule "if state is fire then state should be waste", :fertility 49} {:x 30, :y 20, :state :fire, :altitude 28, :gradient 23, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 86} {:x 31, :y 20, :state :climax, :altitude 33, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 32, :y 20, :state :climax, :altitude 15, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 33, :y 20, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 20, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 21, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 21, :state :climax, :altitude 12, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 10, :y 21, :state :forest, :altitude 12, :gradient 26, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 60} {:x 11, :y 21, :state :scrub, :altitude 24, :gradient 44, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 12, :y 21, :state :fire, :altitude 45, :gradient 36, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 40} {:x 13, :y 21, :state :forest, :altitude 59, :gradient 27, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 64} {:x 14, :y 21, :state :climax, :altitude 50, :gradient 24, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 55} {:x 15, :y 21, :state :scrub, :altitude 49, :gradient 38, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 76} {:x 16, :y 21, :state :climax, :altitude 64, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} {:x 17, :y 21, :state :scrub, :altitude 65, :gradient 34, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 18, :y 21, :state :climax, :altitude 50, :gradient 41, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} {:x 19, :y 21, :state :heath, :altitude 38, :gradient 19, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 49} {:x 20, :y 21, :state :fire, :altitude 38, :gradient 10, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 64} {:x 21, :y 21, :state :scrub, :altitude 38, :gradient 17, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} {:x 22, :y 21, :state :climax, :altitude 29, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 23, :y 21, :state :climax, :altitude 27, :gradient 5, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} {:x 24, :y 21, :state :climax, :altitude 28, :gradient 7, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} {:x 25, :y 21, :state :climax, :altitude 29, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 30} {:x 26, :y 21, :state :climax, :altitude 35, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 36} {:x 27, :y 21, :state :climax, :altitude 28, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 28, :y 21, :state :climax, :altitude 28, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} {:x 29, :y 21, :state :fire, :altitude 27, :gradient 35, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 70} {:x 30, :y 21, :state :climax, :altitude 23, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 44} {:x 31, :y 21, :state :camp, :altitude 22, :gradient 32, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 47} {:x 32, :y 21, :state :water, :altitude 2, :gradient 32, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 21, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 22, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 22, :state :pasture, :altitude 23, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 48} {:x 10, :y 22, :state :scrub, :altitude 27, :gradient 15, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 71} {:x 11, :y 22, :state :waste, :altitude 27, :gradient 33, :generation 101, :rule "if state is fire then state should be waste", :fertility 40} {:x 12, :y 22, :state :heath, :altitude 40, :gradient 35, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 70} {:x 13, :y 22, :state :scrub, :altitude 59, :gradient 32, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 37} {:x 14, :y 22, :state :climax, :altitude 54, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 33} {:x 15, :y 22, :state :scrub, :altitude 54, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 70} {:x 16, :y 22, :state :fire, :altitude 73, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 75} {:x 17, :y 22, :state :forest, :altitude 77, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} {:x 18, :y 22, :state :climax, :altitude 55, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 19, :y 22, :state :climax, :altitude 42, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 20, :y 22, :state :waste, :altitude 40, :gradient 15, :generation 101, :rule "if state is fire then state should be waste", :fertility 51} {:x 21, :y 22, :state :fire, :altitude 36, :gradient 22, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 31} {:x 22, :y 22, :state :fire, :altitude 31, :gradient 14, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 76} {:x 23, :y 22, :state :fire, :altitude 29, :gradient 9, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 49} {:x 24, :y 22, :state :climax, :altitude 28, :gradient 7, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 25, :y 22, :state :climax, :altitude 33, :gradient 10, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 26, :y 22, :state :pasture, :altitude 36, :gradient 8, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 11} {:x 27, :y 22, :state :pasture, :altitude 28, :gradient 22, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 23} {:x 28, :y 22, :state :climax, :altitude 14, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} {:x 29, :y 22, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 22, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 22, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 22, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 22, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 23, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 23, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 23, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 23, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 23, :state :pasture, :altitude 15, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 34} {:x 10, :y 23, :state :waste, :altitude 27, :gradient 25, :generation 101, :rule "if state is fire then state should be waste", :fertility 52} {:x 11, :y 23, :state :heath, :altitude 27, :gradient 18, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 74} {:x 12, :y 23, :state :waste, :altitude 27, :gradient 32, :generation 101, :rule "if state is fire then state should be waste", :fertility 47} {:x 13, :y 23, :state :waste, :altitude 32, :gradient 32, :generation 101, :rule "if state is fire then state should be waste", :fertility 56} {:x 14, :y 23, :state :scrub, :altitude 38, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 15, :y 23, :state :waste, :altitude 43, :gradient 35, :generation 101, :rule "if state is fire then state should be waste", :fertility 67} {:x 16, :y 23, :state :climax, :altitude 57, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 17, :y 23, :state :climax, :altitude 69, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} {:x 18, :y 23, :state :scrub, :altitude 54, :gradient 37, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} {:x 19, :y 23, :state :climax, :altitude 50, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 20, :y 23, :state :waste, :altitude 51, :gradient 15, :generation 101, :rule "if state is fire then state should be waste", :fertility 52} {:x 21, :y 23, :state :heath, :altitude 41, :gradient 22, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 64} {:x 22, :y 23, :state :waste, :altitude 35, :gradient 13, :generation 101, :rule "if state is fire then state should be waste", :fertility 68} {:x 23, :y 23, :state :fire, :altitude 31, :gradient 16, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 38} {:x 24, :y 23, :state :climax, :altitude 26, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 25, :y 23, :state :climax, :altitude 29, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} {:x 26, :y 23, :state :pasture, :altitude 29, :gradient 22, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} {:x 27, :y 23, :state :climax, :altitude 27, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 28, :y 23, :state :climax, :altitude 26, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 29, :y 23, :state :camp, :altitude 12, :gradient 25, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 24} {:x 30, :y 23, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 24, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 24, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 24, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 24, :state :house, :altitude 14, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 32} {:x 8, :y 24, :state :climax, :altitude 14, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 9, :y 24, :state :grassland, :altitude 12, :gradient 28, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 29} {:x 10, :y 24, :state :climax, :altitude 22, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 11, :y 24, :state :climax, :altitude 37, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 12, :y 24, :state :fire, :altitude 37, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 31} {:x 13, :y 24, :state :fire, :altitude 36, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 51} {:x 14, :y 24, :state :scrub, :altitude 41, :gradient 45, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 40} {:x 15, :y 24, :state :heath, :altitude 54, :gradient 56, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 46} {:x 16, :y 24, :state :climax, :altitude 64, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 17, :y 24, :state :forest, :altitude 79, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 18, :y 24, :state :climax, :altitude 69, :gradient 43, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 19, :y 24, :state :forest, :altitude 51, :gradient 37, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 58} {:x 20, :y 24, :state :fire, :altitude 43, :gradient 20, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 43} {:x 21, :y 24, :state :forest, :altitude 37, :gradient 24, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 30} {:x 22, :y 24, :state :waste, :altitude 29, :gradient 24, :generation 101, :rule "if state is fire then state should be waste", :fertility 67} {:x 23, :y 24, :state :climax, :altitude 28, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 24, :y 24, :state :climax, :altitude 19, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 25, :y 24, :state :climax, :altitude 14, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 26, :y 24, :state :climax, :altitude 22, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 27, :y 24, :state :climax, :altitude 20, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 28, :y 24, :state :house, :altitude 20, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 43} {:x 29, :y 24, :state :water, :altitude 2, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 24, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 25, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 25, :state :house, :altitude 12, :gradient 44, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 16} {:x 6, :y 25, :state :climax, :altitude 24, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 7, :y 25, :state :crop, :altitude 29, :gradient 50, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 27} {:x 8, :y 25, :state :house, :altitude 29, :gradient 40, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 20} {:x 9, :y 25, :state :grassland, :altitude 26, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 48} {:x 10, :y 25, :state :climax, :altitude 26, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 11, :y 25, :state :climax, :altitude 41, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} {:x 12, :y 25, :state :climax, :altitude 59, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 13, :y 25, :state :scrub, :altitude 61, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 14, :y 25, :state :scrub, :altitude 59, :gradient 41, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 73} {:x 15, :y 25, :state :forest, :altitude 77, :gradient 55, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} {:x 16, :y 25, :state :forest, :altitude 94, :gradient 42, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 17, :y 25, :state :scrub, :altitude 93, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 18, :y 25, :state :forest, :altitude 79, :gradient 52, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 19, :y 25, :state :scrub, :altitude 55, :gradient 48, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 42} {:x 20, :y 25, :state :fire, :altitude 42, :gradient 27, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 49} {:x 21, :y 25, :state :scrub, :altitude 35, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 22, :y 25, :state :climax, :altitude 27, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 23, :y 25, :state :fire, :altitude 17, :gradient 28, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 72} {:x 24, :y 25, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 25, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 25, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 25, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 25, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 25, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 25, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 26, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 26, :state :climax, :altitude 20, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 6, :y 26, :state :crop, :altitude 45, :gradient 65, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 22} {:x 7, :y 26, :state :grassland, :altitude 52, :gradient 62, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 37} {:x 8, :y 26, :state :grassland, :altitude 46, :gradient 60, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 9, :y 26, :state :grassland, :altitude 31, :gradient 60, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 29} {:x 10, :y 26, :state :pasture, :altitude 28, :gradient 37, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 60} {:x 11, :y 26, :state :scrub, :altitude 37, :gradient 33, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 50} {:x 12, :y 26, :state :scrub, :altitude 55, :gradient 30, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 25} {:x 13, :y 26, :state :scrub, :altitude 63, :gradient 28, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 18} {:x 14, :y 26, :state :climax, :altitude 60, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 15, :y 26, :state :forest, :altitude 74, :gradient 49, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 16, :y 26, :state :scrub, :altitude 96, :gradient 44, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 17, :y 26, :state :forest, :altitude 77, :gradient 58, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 74} {:x 18, :y 26, :state :pasture, :altitude 61, :gradient 65, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 56} {:x 19, :y 26, :state :climax, :altitude 41, :gradient 52, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 20, :y 26, :state :pasture, :altitude 31, :gradient 28, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 60} {:x 21, :y 26, :state :waste, :altitude 28, :gradient 22, :generation 101, :rule "if state is fire then state should be waste", :fertility 64} {:x 22, :y 26, :state :pasture, :altitude 24, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 74} {:x 23, :y 26, :state :water, :altitude 2, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 26, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 26, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 27, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 27, :state :water, :altitude 1, :gradient 35, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 27, :state :climax, :altitude 22, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 6, :y 27, :state :climax, :altitude 52, :gradient 57, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 7, :y 27, :state :pasture, :altitude 77, :gradient 41, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 50} {:x 8, :y 27, :state :heath, :altitude 86, :gradient 48, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 50} {:x 9, :y 27, :state :climax, :altitude 63, :gradient 58, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 10, :y 27, :state :pasture, :altitude 38, :gradient 50, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 48} {:x 11, :y 27, :state :scrub, :altitude 33, :gradient 30, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 48} {:x 12, :y 27, :state :scrub, :altitude 33, :gradient 37, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 75} {:x 13, :y 27, :state :climax, :altitude 47, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 14, :y 27, :state :scrub, :altitude 47, :gradient 41, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} {:x 15, :y 27, :state :pasture, :altitude 50, :gradient 63, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 64} {:x 16, :y 27, :state :crop, :altitude 64, :gradient 63, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 32} {:x 17, :y 27, :state :crop, :altitude 55, :gradient 58, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 58} {:x 18, :y 27, :state :crop, :altitude 38, :gradient 49, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 31} {:x 19, :y 27, :state :climax, :altitude 28, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 20, :y 27, :state :fire, :altitude 27, :gradient 15, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 75} {:x 21, :y 27, :state :climax, :altitude 27, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 22, :y 27, :state :pasture, :altitude 20, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 23, :y 27, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 27, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 28, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 28, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 25} {:x 5, :y 28, :state :crop, :altitude 36, :gradient 51, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 38} {:x 6, :y 28, :state :climax, :altitude 52, :gradient 55, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} {:x 7, :y 28, :state :forest, :altitude 70, :gradient 46, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 8, :y 28, :state :scrub, :altitude 79, :gradient 46, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 59} {:x 9, :y 28, :state :scrub, :altitude 78, :gradient 48, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 29} {:x 10, :y 28, :state :climax, :altitude 56, :gradient 45, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} {:x 11, :y 28, :state :scrub, :altitude 35, :gradient 30, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} {:x 12, :y 28, :state :climax, :altitude 26, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} {:x 13, :y 28, :state :climax, :altitude 33, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 14, :y 28, :state :pasture, :altitude 37, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 56} {:x 15, :y 28, :state :pasture, :altitude 33, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 62} {:x 16, :y 28, :state :crop, :altitude 40, :gradient 31, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 35} {:x 17, :y 28, :state :house, :altitude 50, :gradient 26, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 43} {:x 18, :y 28, :state :pasture, :altitude 42, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 19, :y 28, :state :house, :altitude 37, :gradient 15, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 19} {:x 20, :y 28, :state :ploughland, :altitude 33, :gradient 16, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 30} {:x 21, :y 28, :state :pasture, :altitude 26, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 19} {:x 22, :y 28, :state :house, :altitude 17, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 14} {:x 23, :y 28, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 29, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 29, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 29, :state :ploughland, :altitude 12, :gradient 35, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 31} {:x 5, :y 29, :state :grassland, :altitude 32, :gradient 40, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 44} {:x 6, :y 29, :state :heath, :altitude 41, :gradient 42, :generation 101, :rule "if state is waste and some neighbours are forest then state should be heath", :fertility 62} {:x 7, :y 29, :state :scrub, :altitude 40, :gradient 51, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 8, :y 29, :state :scrub, :altitude 50, :gradient 52, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 9, :y 29, :state :scrub, :altitude 60, :gradient 52, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 62} {:x 10, :y 29, :state :climax, :altitude 52, :gradient 51, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 67} {:x 11, :y 29, :state :climax, :altitude 35, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 12, :y 29, :state :scrub, :altitude 26, :gradient 22, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 59} {:x 13, :y 29, :state :scrub, :altitude 24, :gradient 24, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 49} {:x 14, :y 29, :state :pasture, :altitude 28, :gradient 24, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 67} {:x 15, :y 29, :state :house, :altitude 33, :gradient 19, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 47} {:x 16, :y 29, :state :ploughland, :altitude 43, :gradient 17, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 18} {:x 17, :y 29, :state :house, :altitude 49, :gradient 21, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 21} {:x 18, :y 29, :state :grassland, :altitude 41, :gradient 23, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 13} {:x 19, :y 29, :state :inn, :altitude 38, :gradient 15, :generation 101, :rule "if state is house and some neighbours are market and more than 1 neighbours are house then 1 chance in 5 state should be inn", :fertility 34} {:x 20, :y 29, :state :crop, :altitude 37, :gradient 36, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 25} {:x 21, :y 29, :state :grassland, :altitude 22, :gradient 36, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 18} {:x 22, :y 29, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 29, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 30, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 30, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 17} {:x 4, :y 30, :state :ploughland, :altitude 28, :gradient 31, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 20} {:x 5, :y 30, :state :climax, :altitude 31, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 6, :y 30, :state :climax, :altitude 28, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} {:x 7, :y 30, :state :scrub, :altitude 28, :gradient 23, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} {:x 8, :y 30, :state :fire, :altitude 37, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 83} {:x 9, :y 30, :state :forest, :altitude 27, :gradient 42, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 64} {:x 10, :y 30, :state :climax, :altitude 28, :gradient 47, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 28} {:x 11, :y 30, :state :climax, :altitude 32, :gradient 42, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} {:x 12, :y 30, :state :fire, :altitude 28, :gradient 26, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 58} {:x 13, :y 30, :state :pasture, :altitude 13, :gradient 19, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 74} {:x 14, :y 30, :state :pasture, :altitude 24, :gradient 24, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 44} {:x 15, :y 30, :state :scrub, :altitude 33, :gradient 30, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 66} {:x 16, :y 30, :state :house, :altitude 35, :gradient 36, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 32} {:x 17, :y 30, :state :pasture, :altitude 36, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 18, :y 30, :state :house, :altitude 29, :gradient 47, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 28} {:x 19, :y 30, :state :grassland, :altitude 27, :gradient 40, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 12} {:x 20, :y 30, :state :house, :altitude 27, :gradient 37, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 21, :y 30, :state :water, :altitude 2, :gradient 36, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 30, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 31, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 31, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 31, :state :water, :altitude 1, :gradient 35, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 31, :state :ploughland, :altitude 24, :gradient 44, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 35} {:x 5, :y 31, :state :climax, :altitude 29, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 6, :y 31, :state :climax, :altitude 31, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} {:x 7, :y 31, :state :heath, :altitude 28, :gradient 23, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 45} {:x 8, :y 31, :state :scrub, :altitude 27, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 68} {:x 9, :y 31, :state :waste, :altitude 26, :gradient 19, :generation 101, :rule "if state is fire then state should be waste", :fertility 68} {:x 10, :y 31, :state :scrub, :altitude 18, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 45} {:x 11, :y 31, :state :heath, :altitude 13, :gradient 22, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 48} {:x 12, :y 31, :state :waste, :altitude 10, :gradient 23, :generation 101, :rule "if state is fire then state should be waste", :fertility 66} {:x 13, :y 31, :state :water, :altitude 9, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 31, :state :pasture, :altitude 23, :gradient 32, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 59} {:x 15, :y 31, :state :pasture, :altitude 17, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} {:x 16, :y 31, :state :scrub, :altitude 13, :gradient 35, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 59} {:x 17, :y 31, :state :ploughland, :altitude 14, :gradient 35, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 21} {:x 18, :y 31, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 19, :y 31, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 31, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 31, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 31, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 32, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 32, :state :camp, :altitude 17, :gradient 31, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 56} {:x 3, :y 32, :state :climax, :altitude 22, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 92} {:x 4, :y 32, :state :climax, :altitude 36, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} {:x 5, :y 32, :state :climax, :altitude 45, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 25} {:x 6, :y 32, :state :climax, :altitude 50, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 7, :y 32, :state :heath, :altitude 45, :gradient 29, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 44} {:x 8, :y 32, :state :heath, :altitude 35, :gradient 30, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 46} {:x 9, :y 32, :state :waste, :altitude 32, :gradient 38, :generation 101, :rule "if state is fire then state should be waste", :fertility 27} {:x 10, :y 32, :state :climax, :altitude 24, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 11, :y 32, :state :climax, :altitude 19, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 12, :y 32, :state :waste, :altitude 20, :gradient 23, :generation 101, :rule "if state is fire then state should be waste", :fertility 77} {:x 13, :y 32, :state :climax, :altitude 20, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 36} {:x 14, :y 32, :state :pasture, :altitude 14, :gradient 30, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 49} {:x 15, :y 32, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 32, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 32, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 32, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 32, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 32, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 33, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 33, :state :climax, :altitude 26, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 3, :y 33, :state :climax, :altitude 32, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 4, :y 33, :state :climax, :altitude 33, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 5, :y 33, :state :fire, :altitude 41, :gradient 35, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 63} {:x 6, :y 33, :state :waste, :altitude 46, :gradient 38, :generation 101, :rule "if state is fire then state should be waste", :fertility 73} {:x 7, :y 33, :state :climax, :altitude 55, :gradient 38, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 8, :y 33, :state :waste, :altitude 56, :gradient 32, :generation 101, :rule "if state is fire then state should be waste", :fertility 48} {:x 9, :y 33, :state :climax, :altitude 38, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} {:x 10, :y 33, :state :climax, :altitude 27, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 11, :y 33, :state :climax, :altitude 31, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} {:x 12, :y 33, :state :fire, :altitude 32, :gradient 17, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 47} {:x 13, :y 33, :state :climax, :altitude 31, :gradient 18, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 14, :y 33, :state :pasture, :altitude 26, :gradient 30, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 32} {:x 15, :y 33, :state :pasture, :altitude 12, :gradient 25, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 24} {:x 16, :y 33, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 33, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 34, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 34, :state :climax, :altitude 12, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 90} {:x 3, :y 34, :state :climax, :altitude 12, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} {:x 4, :y 34, :state :climax, :altitude 15, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 5, :y 34, :state :climax, :altitude 17, :gradient 45, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 6, :y 34, :state :fire, :altitude 18, :gradient 38, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 78} {:x 7, :y 34, :state :climax, :altitude 29, :gradient 38, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} {:x 8, :y 34, :state :climax, :altitude 36, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 9, :y 34, :state :fire, :altitude 23, :gradient 44, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 61} {:x 10, :y 34, :state :climax, :altitude 12, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 11, :y 34, :state :climax, :altitude 14, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 12, :y 34, :state :climax, :altitude 17, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} {:x 13, :y 34, :state :climax, :altitude 18, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 14, :y 34, :state :climax, :altitude 18, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 15, :y 34, :state :climax, :altitude 23, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 52} {:x 16, :y 34, :state :house, :altitude 18, :gradient 22, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 17, :y 34, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 34, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 34, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 34, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 34, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 35, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 35, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 35, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 35, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 35, :state :ploughland, :altitude 22, :gradient 36, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 49} {:x 6, :y 35, :state :ploughland, :altitude 24, :gradient 20, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 40} {:x 7, :y 35, :state :pasture, :altitude 26, :gradient 19, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 49} {:x 8, :y 35, :state :climax, :altitude 26, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 9, :y 35, :state :climax, :altitude 27, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 10, :y 35, :state :climax, :altitude 24, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 50} {:x 11, :y 35, :state :climax, :altitude 27, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} {:x 12, :y 35, :state :climax, :altitude 22, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 13, :y 35, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 35, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 35, :state :climax, :altitude 13, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 16, :y 35, :state :climax, :altitude 12, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 17, :y 35, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 35, :state :climax, :altitude 17, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 19, :y 35, :state :climax, :altitude 32, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 20, :y 35, :state :climax, :altitude 26, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 21, :y 35, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 36, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 36, :state :house, :altitude 24, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 42} {:x 6, :y 36, :state :scrub, :altitude 37, :gradient 22, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 39} {:x 7, :y 36, :state :crop, :altitude 32, :gradient 13, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 35} {:x 8, :y 36, :state :grassland, :altitude 27, :gradient 9, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 9, :y 36, :state :climax, :altitude 32, :gradient 7, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 10, :y 36, :state :climax, :altitude 31, :gradient 10, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} {:x 11, :y 36, :state :climax, :altitude 33, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 12, :y 36, :state :climax, :altitude 26, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 13, :y 36, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 36, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 36, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 36, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 36, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 36, :state :climax, :altitude 19, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 19, :y 36, :state :climax, :altitude 49, :gradient 18, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 20, :y 36, :state :climax, :altitude 35, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 21, :y 36, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 37, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 37, :state :house, :altitude 13, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 34} {:x 6, :y 37, :state :crop, :altitude 35, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 20} {:x 7, :y 37, :state :house, :altitude 35, :gradient 19, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 49} {:x 8, :y 37, :state :house, :altitude 28, :gradient 23, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 34} {:x 9, :y 37, :state :climax, :altitude 27, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 10, :y 37, :state :climax, :altitude 29, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 11, :y 37, :state :climax, :altitude 23, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 12, :y 37, :state :heath, :altitude 18, :gradient 32, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 50} {:x 13, :y 37, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 37, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 37, :state :climax, :altitude 17, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 95} {:x 19, :y 37, :state :climax, :altitude 33, :gradient 47, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 20, :y 37, :state :camp, :altitude 23, :gradient 48, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp"} {:x 21, :y 37, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 38, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 38, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 38, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 38, :state :water, :altitude 2, :gradient 34, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 38, :state :house, :altitude 19, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 28} {:x 7, :y 38, :state :grassland, :altitude 19, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 20} {:x 8, :y 38, :state :pasture, :altitude 18, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 41} {:x 9, :y 38, :state :grassland, :altitude 12, :gradient 27, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 20} {:x 10, :y 38, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 38, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 38, :state :water, :altitude 2, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 38, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 38, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 38, :state :camp, :altitude 12, :gradient 32, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 15} {:x 19, :y 38, :state :climax, :altitude 17, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 20, :y 38, :state :water, :altitude 2, :gradient 32, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 38, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 39, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 39, :state :climax, :altitude 12, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 4, :y 39, :state :house, :altitude 19, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 5, :y 39, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 39, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 39, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 39, :state :pasture, :altitude 15, :gradient 48, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 26} {:x 9, :y 39, :state :house, :altitude 26, :gradient 47, :generation 101, :rule "if state is house and some neighbours are crop then state should be house", :fertility 43} {:x 10, :y 39, :state :camp, :altitude 26, :gradient 48, :generation 101, :rule "if state is in waste or grassland and some neighbours are market then state should be camp", :fertility 49} {:x 11, :y 39, :state :crop, :altitude 23, :gradient 48, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 52} {:x 12, :y 39, :state :house, :altitude 13, :gradient 41, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 58} {:x 13, :y 39, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 39, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 39, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 39, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 39, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 39, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 39, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 40, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 40, :state :pasture, :altitude 13, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 4, :y 40, :state :ploughland, :altitude 28, :gradient 26, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 12} {:x 5, :y 40, :state :house, :altitude 14, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 15} {:x 6, :y 40, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 40, :state :house, :altitude 15, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 39} {:x 8, :y 40, :state :house, :altitude 29, :gradient 49, :generation 101, :rule "if state is house and some neighbours are market then state should be house", :fertility 37} {:x 9, :y 40, :state :grassland, :altitude 49, :gradient 46, :generation 101, :rule "if state is market then state should be grassland", :fertility 9} {:x 10, :y 40, :state :climax, :altitude 49, :gradient 38, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 68} {:x 11, :y 40, :state :grassland, :altitude 42, :gradient 48, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 46} {:x 12, :y 40, :state :pasture, :altitude 28, :gradient 50, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 77} {:x 13, :y 40, :state :grassland, :altitude 18, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 49} {:x 14, :y 40, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 41, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 41, :state :climax, :altitude 12, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 4, :y 41, :state :climax, :altitude 28, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 5, :y 41, :state :scrub, :altitude 18, :gradient 27, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 17} {:x 6, :y 41, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 41, :state :house, :altitude 14, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 8, :y 41, :state :scrub, :altitude 29, :gradient 49, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 62} {:x 9, :y 41, :state :house, :altitude 50, :gradient 37, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 38} {:x 10, :y 41, :state :scrub, :altitude 61, :gradient 19, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 54} {:x 11, :y 41, :state :scrub, :altitude 51, :gradient 33, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 53} {:x 12, :y 41, :state :climax, :altitude 35, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 13, :y 41, :state :pasture, :altitude 20, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 75} {:x 14, :y 41, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 41, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 42, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 42, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 42, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 42, :state :camp, :altitude 14, :gradient 27, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 21} {:x 5, :y 42, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 22} {:x 6, :y 42, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 42, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 42, :state :climax, :altitude 24, :gradient 49, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 36} {:x 9, :y 42, :state :crop, :altitude 32, :gradient 47, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 20} {:x 10, :y 42, :state :house, :altitude 40, :gradient 41, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 18} {:x 11, :y 42, :state :grassland, :altitude 40, :gradient 33, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 33} {:x 12, :y 42, :state :pasture, :altitude 32, :gradient 31, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} {:x 13, :y 42, :state :climax, :altitude 23, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 14, :y 42, :state :water, :altitude 2, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 42, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 43, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 43, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 3, :y 43, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 4, :y 43, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 43, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 43, :state :water, :altitude 2, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 43, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 43, :state :house, :altitude 14, :gradient 31, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 38} {:x 9, :y 43, :state :pasture, :altitude 20, :gradient 39, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} {:x 10, :y 43, :state :grassland, :altitude 28, :gradient 39, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 30} {:x 11, :y 43, :state :pasture, :altitude 28, :gradient 23, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 50} {:x 12, :y 43, :state :fire, :altitude 28, :gradient 25, :generation 101, :rule "if state is climax then 1 chance in 500 state should be fire", :fertility 73} {:x 13, :y 43, :state :climax, :altitude 23, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 14, :y 43, :state :water, :altitude 2, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 43, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 44, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 44, :state :house, :altitude 17, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 6} {:x 3, :y 44, :state :camp, :altitude 28, :gradient 36, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 20} {:x 4, :y 44, :state :water, :altitude 2, :gradient 36, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 44, :state :camp, :altitude 12, :gradient 21, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 47} {:x 6, :y 44, :state :climax, :altitude 22, :gradient 14, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 95} {:x 7, :y 44, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 44, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 44, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 44, :state :house, :altitude 20, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 36} {:x 11, :y 44, :state :climax, :altitude 17, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 12, :y 44, :state :climax, :altitude 22, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 88} {:x 13, :y 44, :state :climax, :altitude 15, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 88} {:x 14, :y 44, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 44, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 45, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 45, :state :climax, :altitude 19, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 3, :y 45, :state :climax, :altitude 37, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 4, :y 45, :state :climax, :altitude 14, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} {:x 5, :y 45, :state :water, :altitude 2, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 45, :state :house, :altitude 15, :gradient 21, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 7, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 45, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 45, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 45, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] [{:x 0, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 1, :y 46, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} {:x 2, :y 46, :state :climax, :altitude 13, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 3, :y 46, :state :climax, :altitude 22, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 4, :y 46, :state :water, :altitude 2, :gradient 36, :generation 101, :rule "if state is water then state should be water"} {:x 5, :y 46, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 6, :y 46, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 7, :y 46, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} {:x 8, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 9, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 10, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 11, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 12, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 13, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 14, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 15, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 16, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 17, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 18, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 19, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 20, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 21, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 22, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 23, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 24, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 25, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 26, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 27, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 28, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 29, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 30, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 31, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 32, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 33, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 34, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 35, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 36, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 37, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 38, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 39, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 40, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 41, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 42, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 43, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 44, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 45, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 46, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} {:x 47, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}]] \ No newline at end of file diff --git a/resources/maps/barra/barra_100.html b/resources/maps/barra/barra_100.html new file mode 100644 index 0000000..400d8d1 --- /dev/null +++ b/resources/maps/barra/barra_100.html @@ -0,0 +1 @@ +Microworld render
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxclimaxcampwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxclimaxclimaxwaterwaterwaterclimaxhousewater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxgrasslandclimaxwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxclimaxwaterwaterwaterwatercampclimaxwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxhousewaterwaterwaterwaterhousepasturepastureclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhousehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwatergrasslandpasturegrasslandgrasslandgrasslandwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxpastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhousecropcropcropcamppasturewaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxwaterwaterwaterwaterclimaxforesthousewaterwaterwaterwaterwaterwaterwatercampgrasslandcrophousegrasslandhousewaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxcropclimaxwaterwaterwaterwaterwaterclimaxscrubpasturehousewaterwaterwaterwaterwaterwaterwaterhousecrophousepasturewaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhouseclimaxclimaxpasturepasturehousewaterhousepasturescrubforesthousewaterwaterwaterwaterwaterwaterwatercropforestcrophousewaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhousegrasslandclimaxclimaxploughlandwaterpasturepasturepastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterpasturepasturescrubwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwatergrasslandgrasslandforestscrubforestwaterhouseforestpasturehousewaterwaterwaterwaterwaterwaterwaterwaterhousehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwatercrophousegrasslandhousegrasslandwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxgrasslandhousehousehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterforestclimaxclimaxcropcropploughlandhousewaterwaterwaterwaterwaterwaterwaterwaterhouseclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterfireclimaxclimaxclimaxscrubpasturewatergrasslandwaterwaterwaterwaterwaterwaterwaterwastegrasslandclimaxploughlandclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterhousecropclimaxclimaxscrubwastescrubclimaxclimaxclimaxforestclimaxpastureclimaxwaterwaterwaterwaterwaterwaterploughlandploughlandclimaxclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwatercroppastureclimaxheathheathscrubscrubclimaxclimaxclimaxclimaxscrubscrubclimaxclimaxclimaxclimaxclimaxwasteheathpasturegrasslandcropcropclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterhousecropwasteheathscrubscrubclimaxscrubclimaxclimaxfireforestclimaxclimaxclimaxclimaxclimaxclimaxclimaxfirepasturewastehousehouseclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwastewastefirescrubforestscrubscrubclimaxheathwastefireclimaxclimaxclimaxclimaxforestfireclimaxheathwastecropgrasslandhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxheathfireheathscrubscrubscrubscrubscrubclimaxclimaxclimaxscrubclimaxclimaxclimaxclimaxwastewastefireclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterclimaxforestscrubfireforestclimaxscrubclimaxscrubclimaxheathfirescrubclimaxclimaxclimaxclimaxclimaxclimaxclimaxfireclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterpasturescrubwasteheathscrubclimaxscrubfireforestclimaxclimaxwastefirefirefireclimaxclimaxpasturepastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterpasturewasteheathwastewastescrubwasteclimaxclimaxscrubclimaxwasteheathwastefireclimaxclimaxpastureclimaxclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterhouseclimaxgrasslandclimaxclimaxfirefirescrubheathclimaxforestclimaxforestfireforestwasteclimaxclimaxclimaxclimaxclimaxhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterhouseclimaxcrophousegrasslandclimaxclimaxclimaxscrubscrubforestforestscrubforestscrubfirescrubclimaxfirewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterclimaxcropgrasslandgrasslandgrasslandpasturescrubscrubscrubclimaxforestscrubforestpastureclimaxpasturewastepasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterclimaxclimaxpastureheathclimaxpasturescrubscrubclimaxscrubpasturecropcropcropclimaxfireclimaxpasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterhousecropclimaxforestscrubscrubclimaxscrubclimaxclimaxpasturepasturecrophousepasturehouseploughlandpasturehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterploughlandgrasslandheathscrubscrubscrubclimaxclimaxscrubscrubpasturehouseploughlandhousegrasslandinncropgrasslandwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterhouseploughlandclimaxclimaxscrubfireforestclimaxclimaxfirepasturepasturescrubhousepasturehousegrasslandhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterploughlandclimaxclimaxheathscrubwastescrubheathwastewaterpasturepasturescrubploughlandhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwatercampclimaxclimaxclimaxclimaxheathheathwasteclimaxclimaxwasteclimaxpasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxclimaxfirewasteclimaxwasteclimaxclimaxclimaxfireclimaxpasturepasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxclimaxclimaxfireclimaxclimaxfireclimaxclimaxclimaxclimaxclimaxclimaxhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterploughlandploughlandpastureclimaxclimaxclimaxclimaxclimaxwaterwaterclimaxclimaxwaterclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterhousescrubcropgrasslandclimaxclimaxclimaxclimaxwaterwaterwaterwaterwaterclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterhousecrophousehouseclimaxclimaxclimaxheathwaterwaterwaterwaterwaterclimaxclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterhousegrasslandpasturegrasslandwaterwaterwaterwaterwaterwaterwaterwatercampclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterclimaxhousewaterwaterwaterpasturehousecampcrophousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterpastureploughlandhousewaterhousehousegrasslandclimaxgrasslandpasturegrasslandwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterclimaxclimaxscrubwaterhousescrubhousescrubscrubclimaxpasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwatercamphousewaterwaterclimaxcrophousegrasslandpastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterhousepasturegrasslandpasturefireclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterhousecampwatercampclimaxwaterwaterwaterhouseclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxclimaxwaterhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            \ No newline at end of file diff --git a/resources/maps/barra/barra_100_edited.edn b/resources/maps/barra/barra_100_edited.edn new file mode 100644 index 0000000..019936e --- /dev/null +++ b/resources/maps/barra/barra_100_edited.edn @@ -0,0 +1,2256 @@ +[[{:x 0, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 0, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 0, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 0, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 0, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 0, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 0, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 0, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 0, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 0, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 0, :state :climax, :altitude 14, :gradient 14, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} + {:x 43, :y 0, :state :climax, :altitude 15, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} + {:x 44, :y 0, :state :climax, :altitude 31, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} + {:x 45, :y 0, :state :climax, :altitude 36, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 46, :y 0, :state :climax, :altitude 15, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 94} + {:x 47, :y 0, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 1, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 1, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 1, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 1, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 1, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 1, :state :climax, :altitude 12, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} + {:x 36, :y 1, :state :climax, :altitude 13, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} + {:x 37, :y 1, :state :climax, :altitude 15, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} + {:x 38, :y 1, :state :climax, :altitude 23, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 39, :y 1, :state :climax, :altitude 23, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 40, :y 1, :state :climax, :altitude 28, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} + {:x 41, :y 1, :state :camp, :altitude 15, :gradient 28, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 15} + {:x 42, :y 1, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 1, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 1, :state :water, :altitude 2, :gradient 35, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 1, :state :water, :altitude 2, :gradient 35, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 1, :state :water, :altitude 1, :gradient 35, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 1, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 2, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 2, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 2, :state :water, :altitude 2, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 2, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 2, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 2, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 2, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 2, :state :climax, :altitude 22, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} + {:x 36, :y 2, :state :climax, :altitude 31, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} + {:x 37, :y 2, :state :climax, :altitude 29, :gradient 38, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} + {:x 38, :y 2, :state :climax, :altitude 33, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} + {:x 39, :y 2, :state :climax, :altitude 36, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} + {:x 40, :y 2, :state :climax, :altitude 29, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 41, :y 2, :state :climax, :altitude 15, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} + {:x 42, :y 2, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 2, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 2, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 2, :state :climax, :altitude 15, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 94} + {:x 46, :y 2, :state :house, :altitude 14, :gradient 16, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 51} + {:x 47, :y 2, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 3, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 3, :state :climax, :altitude 14, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} + {:x 29, :y 3, :state :grassland, :altitude 32, :gradient 16, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 72} + {:x 30, :y 3, :state :climax, :altitude 17, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} + {:x 31, :y 3, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 3, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 3, :state :climax, :altitude 22, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} + {:x 36, :y 3, :state :climax, :altitude 31, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} + {:x 37, :y 3, :state :climax, :altitude 43, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} + {:x 38, :y 3, :state :climax, :altitude 51, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 39, :y 3, :state :climax, :altitude 42, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} + {:x 40, :y 3, :state :climax, :altitude 28, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} + {:x 41, :y 3, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 3, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 3, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 3, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 3, :state :camp, :altitude 17, :gradient 14, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 39} + {:x 46, :y 3, :state :climax, :altitude 14, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} + {:x 47, :y 3, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 4, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 4, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 4, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 4, :state :water, :altitude 2, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 4, :state :climax, :altitude 17, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 30, :y 4, :state :house, :altitude 12, :gradient 31, :generation 101, :rule "if state is in camp or abandoned and some neighbours are crop then state should be house", :fertility 77} + {:x 31, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 4, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 4, :state :house, :altitude 13, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 55} + {:x 36, :y 4, :state :pasture, :altitude 29, :gradient 42, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 24} + {:x 37, :y 4, :state :pasture, :altitude 42, :gradient 22, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 38} + {:x 38, :y 4, :state :climax, :altitude 46, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 39, :y 4, :state :climax, :altitude 38, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} + {:x 40, :y 4, :state :climax, :altitude 27, :gradient 41, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 41, :y 4, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 4, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 4, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 4, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 4, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 5, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 5, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 21} + {:x 20, :y 5, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 21, :y 5, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 5, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 5, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 5, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 5, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 5, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 5, :state :harbour, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 5, :state :market, :altitude 31, :gradient 41, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 33} + {:x 37, :y 5, :state :pasture, :altitude 32, :gradient 17, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 45} + {:x 38, :y 5, :state :grassland, :altitude 37, :gradient 19, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 32} + {:x 39, :y 5, :state :grassland, :altitude 33, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 44} + {:x 40, :y 5, :state :grassland, :altitude 14, :gradient 37, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 41} + {:x 41, :y 5, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 5, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 5, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 6, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 6, :state :climax, :altitude 17, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} + {:x 19, :y 6, :state :pasture, :altitude 28, :gradient 25, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 27} + {:x 20, :y 6, :state :climax, :altitude 24, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} + {:x 21, :y 6, :state :water, :altitude 2, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 6, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 6, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 6, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 6, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 6, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 6, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 6, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 6, :state :inn, :altitude 15, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 36} + {:x 36, :y 6, :state :crop, :altitude 35, :gradient 42, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 61} + {:x 37, :y 6, :state :crop, :altitude 32, :gradient 14, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 56} + {:x 38, :y 6, :state :crop, :altitude 29, :gradient 16, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 21} + {:x 39, :y 6, :state :camp, :altitude 27, :gradient 25, :generation 101, :rule "if state is camp and some neighbours are ploughland then state should be camp", :fertility 34} + {:x 40, :y 6, :state :pasture, :altitude 12, :gradient 32, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 41, :y 6, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 6, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 7, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 7, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 7, :state :climax, :altitude 18, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} + {:x 19, :y 7, :state :climax, :altitude 27, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} + {:x 20, :y 7, :state :climax, :altitude 14, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 21, :y 7, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 7, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 7, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 7, :state :climax, :altitude 19, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 92} + {:x 26, :y 7, :state :forest, :altitude 22, :gradient 34, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 29} + {:x 27, :y 7, :state :house, :altitude 12, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 11} + {:x 28, :y 7, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 7, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 7, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 7, :state :camp, :altitude 15, :gradient 34, :generation 101, :rule "if state is camp and some neighbours are ploughland then state should be camp", :fertility 37} + {:x 36, :y 7, :state :grassland, :altitude 35, :gradient 41, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} + {:x 37, :y 7, :state :crop, :altitude 43, :gradient 9, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 61} + {:x 38, :y 7, :state :house, :altitude 37, :gradient 20, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 34} + {:x 39, :y 7, :state :grassland, :altitude 27, :gradient 35, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 46} + {:x 40, :y 7, :state :house, :altitude 12, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 30} + {:x 41, :y 7, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 7, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 8, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 8, :state :climax, :altitude 14, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} + {:x 18, :y 8, :state :crop, :altitude 31, :gradient 28, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 15} + {:x 19, :y 8, :state :climax, :altitude 28, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} + {:x 20, :y 8, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 8, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 8, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 8, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 8, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 8, :state :climax, :altitude 24, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} + {:x 26, :y 8, :state :scrub, :altitude 35, :gradient 29, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 6} + {:x 27, :y 8, :state :pasture, :altitude 35, :gradient 40, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 28, :y 8, :state :house, :altitude 22, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 11} + {:x 29, :y 8, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 8, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 8, :state :water, :altitude 2, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 8, :state :house, :altitude 28, :gradient 42, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 65} + {:x 37, :y 8, :state :crop, :altitude 37, :gradient 28, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 42} + {:x 38, :y 8, :state :house, :altitude 36, :gradient 31, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 27} + {:x 39, :y 8, :state :pasture, :altitude 23, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 33} + {:x 40, :y 8, :state :water, :altitude 2, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 8, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 8, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 9, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 9, :state :house, :altitude 12, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 18, :y 9, :state :climax, :altitude 29, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} + {:x 19, :y 9, :state :climax, :altitude 28, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} + {:x 20, :y 9, :state :pasture, :altitude 18, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 47} + {:x 21, :y 9, :state :pasture, :altitude 17, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 23} + {:x 22, :y 9, :state :house, :altitude 23, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 20} + {:x 23, :y 9, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 9, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 25, :y 9, :state :pasture, :altitude 31, :gradient 40, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 26, :y 9, :state :scrub, :altitude 41, :gradient 13, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 20} + {:x 27, :y 9, :state :forest, :altitude 35, :gradient 39, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 25} + {:x 28, :y 9, :state :house, :altitude 20, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 8} + {:x 29, :y 9, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 9, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 9, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 9, :state :crop, :altitude 15, :gradient 36, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 25} + {:x 37, :y 9, :state :forest, :altitude 26, :gradient 25, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 68} + {:x 38, :y 9, :state :crop, :altitude 23, :gradient 36, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 37} + {:x 39, :y 9, :state :house, :altitude 12, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 38} + {:x 40, :y 9, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 9, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 9, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 10, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 10, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 10, :state :house, :altitude 23, :gradient 35, :generation 101, :rule "if state is house and some neighbours are crop then state should be house", :fertility 24} + {:x 19, :y 10, :state :grassland, :altitude 28, :gradient 18, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 35} + {:x 20, :y 10, :state :climax, :altitude 28, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} + {:x 21, :y 10, :state :climax, :altitude 28, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 22, :y 10, :state :ploughland, :altitude 23, :gradient 27, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 22} + {:x 23, :y 10, :state :harbour, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 10, :state :pasture, :altitude 23, :gradient 35, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 40} + {:x 25, :y 10, :state :pasture, :altitude 36, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 26, :y 10, :state :pasture, :altitude 37, :gradient 28, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 27, :y 10, :state :climax, :altitude 26, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} + {:x 28, :y 10, :state :water, :altitude 2, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 10, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 10, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 10, :state :pasture, :altitude 18, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} + {:x 37, :y 10, :state :pasture, :altitude 27, :gradient 25, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 37} + {:x 38, :y 10, :state :scrub, :altitude 12, :gradient 26, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 79} + {:x 39, :y 10, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 10, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 10, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 11, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 11, :state :grassland, :altitude 20, :gradient 35, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 12} + {:x 19, :y 11, :state :grassland, :altitude 36, :gradient 22, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 51} + {:x 20, :y 11, :state :forest, :altitude 32, :gradient 10, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 48} + {:x 21, :y 11, :state :scrub, :altitude 27, :gradient 22, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 86} + {:x 22, :y 11, :state :forest, :altitude 19, :gradient 30, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 58} + {:x 23, :y 11, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 11, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 65} + {:x 25, :y 11, :state :forest, :altitude 22, :gradient 36, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 39} + {:x 26, :y 11, :state :pasture, :altitude 20, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 27, :y 11, :state :house, :altitude 13, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 25} + {:x 28, :y 11, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 11, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 11, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 11, :state :house, :altitude 15, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 28} + {:x 37, :y 11, :state :house, :altitude 18, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 10} + {:x 38, :y 11, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 11, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 11, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 12, :state :crop, :altitude 15, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 55} + {:x 19, :y 12, :state :house, :altitude 32, :gradient 22, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 50} + {:x 20, :y 12, :state :grassland, :altitude 37, :gradient 12, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 54} + {:x 21, :y 12, :state :inn, :altitude 31, :gradient 22, :generation 101, :rule "if state is in camp or abandoned and some neighbours are crop then state should be house", :fertility 30} + {:x 22, :y 12, :state :market, :altitude 15, :gradient 30, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 24} + {:x 23, :y 12, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 12, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 12, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 12, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 12, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 12, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 12, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 12, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 12, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 13, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 13, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 13, :state :climax, :altitude 22, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 19, :y 13, :state :climax, :altitude 27, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} + {:x 20, :y 13, :state :grassland, :altitude 27, :gradient 24, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} + {:x 21, :y 13, :state :house, :altitude 24, :gradient 24, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 13} + {:x 22, :y 13, :state :house, :altitude 23, :gradient 30, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 30} + {:x 23, :y 13, :state :house, :altitude 22, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 24, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 13, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 13, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 13, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 13, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 14, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 14, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 14, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 14, :state :forest, :altitude 15, :gradient 30, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 47} + {:x 18, :y 14, :state :climax, :altitude 27, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} + {:x 19, :y 14, :state :climax, :altitude 26, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} + {:x 20, :y 14, :state :crop, :altitude 17, :gradient 18, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 45} + {:x 21, :y 14, :state :crop, :altitude 13, :gradient 20, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 19} + {:x 22, :y 14, :state :ploughland, :altitude 29, :gradient 23, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 23} + {:x 23, :y 14, :state :house, :altitude 18, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 49} + {:x 24, :y 14, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 14, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 14, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 14, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 14, :state :house, :altitude 14, :gradient 39, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 44} + {:x 33, :y 14, :state :climax, :altitude 22, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} + {:x 34, :y 14, :state :climax, :altitude 13, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} + {:x 35, :y 14, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 14, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 15, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 15, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 15, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 15, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 15, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 15, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 15, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 15, :state :climax, :altitude 13, :gradient 40, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 37} + {:x 16, :y 15, :state :climax, :altitude 19, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} + {:x 17, :y 15, :state :climax, :altitude 31, :gradient 46, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} + {:x 18, :y 15, :state :climax, :altitude 29, :gradient 32, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 43} + {:x 19, :y 15, :state :scrub, :altitude 26, :gradient 33, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 57} + {:x 20, :y 15, :state :pasture, :altitude 14, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 27} + {:x 21, :y 15, :state :water, :altitude 9, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 15, :state :grassland, :altitude 13, :gradient 28, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 27} + {:x 23, :y 15, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 15, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 15, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 15, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 15, :state :scrub, :altitude 14, :gradient 31, :generation 101, :rule "if state is camp then 1 chance in 5 state should be waste", :fertility 72} + {:x 31, :y 15, :state :grassland, :altitude 19, :gradient 32, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 54} + {:x 32, :y 15, :state :climax, :altitude 31, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 33, :y 15, :state :ploughland, :altitude 40, :gradient 20, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 42} + {:x 34, :y 15, :state :climax, :altitude 23, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} + {:x 35, :y 15, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 15, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 16, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 16, :state :house, :altitude 18, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 40} + {:x 10, :y 16, :state :crop, :altitude 19, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 33} + {:x 11, :y 16, :state :climax, :altitude 20, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} + {:x 12, :y 16, :state :climax, :altitude 18, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} + {:x 13, :y 16, :state :scrub, :altitude 17, :gradient 34, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 74} + {:x 14, :y 16, :state :scrub, :altitude 19, :gradient 51, :generation 101, :rule "if state is fire then state should be waste", :fertility 75} + {:x 15, :y 16, :state :scrub, :altitude 35, :gradient 55, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 62} + {:x 16, :y 16, :state :climax, :altitude 41, :gradient 43, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 41} + {:x 17, :y 16, :state :climax, :altitude 45, :gradient 42, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 52} + {:x 18, :y 16, :state :climax, :altitude 47, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} + {:x 19, :y 16, :state :forest, :altitude 45, :gradient 47, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 65} + {:x 20, :y 16, :state :climax, :altitude 35, :gradient 45, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 28} + {:x 21, :y 16, :state :pasture, :altitude 19, :gradient 33, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} + {:x 22, :y 16, :state :climax, :altitude 15, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 23, :y 16, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 16, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 16, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 16, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 16, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 16, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 16, :state :ploughland, :altitude 18, :gradient 31, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 85} + {:x 30, :y 16, :state :ploughland, :altitude 32, :gradient 31, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 52} + {:x 31, :y 16, :state :climax, :altitude 32, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} + {:x 32, :y 16, :state :climax, :altitude 33, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} + {:x 33, :y 16, :state :climax, :altitude 32, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} + {:x 34, :y 16, :state :climax, :altitude 28, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 35, :y 16, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 16, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 17, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 17, :state :crop, :altitude 26, :gradient 30, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 40} + {:x 10, :y 17, :state :pasture, :altitude 31, :gradient 23, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 25} + {:x 11, :y 17, :state :climax, :altitude 36, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 12, :y 17, :state :heath, :altitude 35, :gradient 19, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 69} + {:x 13, :y 17, :state :heath, :altitude 29, :gradient 18, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 54} + {:x 14, :y 17, :state :scrub, :altitude 32, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 63} + {:x 15, :y 17, :state :scrub, :altitude 52, :gradient 37, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 51} + {:x 16, :y 17, :state :climax, :altitude 56, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 27} + {:x 17, :y 17, :state :climax, :altitude 55, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} + {:x 18, :y 17, :state :climax, :altitude 61, :gradient 12, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 19, :y 17, :state :climax, :altitude 54, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} + {:x 20, :y 17, :state :scrub, :altitude 42, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} + {:x 21, :y 17, :state :scrub, :altitude 31, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 29} + {:x 22, :y 17, :state :climax, :altitude 27, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} + {:x 23, :y 17, :state :climax, :altitude 22, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 61} + {:x 24, :y 17, :state :climax, :altitude 17, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 25, :y 17, :state :climax, :altitude 12, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} + {:x 26, :y 17, :state :climax, :altitude 12, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} + {:x 27, :y 17, :state :scrub, :altitude 12, :gradient 26, :generation 101, :rule "if state is fire then state should be waste", :fertility 57} + {:x 28, :y 17, :state :heath, :altitude 13, :gradient 26, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 65} + {:x 29, :y 17, :state :pasture, :altitude 23, :gradient 31, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 55} + {:x 30, :y 17, :state :grassland, :altitude 31, :gradient 17, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 69} + {:x 31, :y 17, :state :crop, :altitude 32, :gradient 16, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 48} + {:x 32, :y 17, :state :crop, :altitude 29, :gradient 15, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 49} + {:x 33, :y 17, :state :climax, :altitude 26, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 34, :y 17, :state :camp, :altitude 15, :gradient 31, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 46} + {:x 35, :y 17, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 17, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 18, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 18, :state :house, :altitude 13, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 31} + {:x 10, :y 18, :state :crop, :altitude 19, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 29} + {:x 11, :y 18, :state :scrub, :altitude 27, :gradient 35, :generation 101, :rule "if state is fire then state should be waste", :fertility 64} + {:x 12, :y 18, :state :heath, :altitude 31, :gradient 14, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 67} + {:x 13, :y 18, :state :scrub, :altitude 31, :gradient 8, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 37} + {:x 14, :y 18, :state :scrub, :altitude 31, :gradient 24, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 55} + {:x 15, :y 18, :state :climax, :altitude 41, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} + {:x 16, :y 18, :state :scrub, :altitude 49, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} + {:x 17, :y 18, :state :climax, :altitude 43, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} + {:x 18, :y 18, :state :climax, :altitude 47, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} + {:x 19, :y 18, :state :climax, :altitude 47, :gradient 25, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 45} + {:x 20, :y 18, :state :forest, :altitude 40, :gradient 26, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 63} + {:x 21, :y 18, :state :climax, :altitude 28, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 32} + {:x 22, :y 18, :state :climax, :altitude 27, :gradient 9, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} + {:x 23, :y 18, :state :climax, :altitude 27, :gradient 10, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 24, :y 18, :state :climax, :altitude 27, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} + {:x 25, :y 18, :state :climax, :altitude 22, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 24} + {:x 26, :y 18, :state :climax, :altitude 23, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} + {:x 27, :y 18, :state :climax, :altitude 23, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} + {:x 28, :y 18, :state :climax, :altitude 27, :gradient 17, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 43} + {:x 29, :y 18, :state :pasture, :altitude 15, :gradient 19, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 43} + {:x 30, :y 18, :state :scrub, :altitude 17, :gradient 20, :generation 101, :rule "if state is fire then state should be waste", :fertility 61} + {:x 31, :y 18, :state :house, :altitude 18, :gradient 20, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 52} + {:x 32, :y 18, :state :house, :altitude 27, :gradient 19, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 43} + {:x 33, :y 18, :state :climax, :altitude 31, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 74} + {:x 34, :y 18, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 18, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 18, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 19, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 19, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 19, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 19, :state :scrub, :altitude 22, :gradient 31, :generation 101, :rule "if state is fire then state should be waste", :fertility 28} + {:x 12, :y 19, :state :scrub, :altitude 27, :gradient 14, :generation 101, :rule "if state is fire then state should be waste", :fertility 85} + {:x 13, :y 19, :state :climax, :altitude 31, :gradient 9, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 70} + {:x 14, :y 19, :state :scrub, :altitude 28, :gradient 12, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} + {:x 15, :y 19, :state :forest, :altitude 29, :gradient 24, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 47} + {:x 16, :y 19, :state :scrub, :altitude 37, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 26} + {:x 17, :y 19, :state :scrub, :altitude 41, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 30} + {:x 18, :y 19, :state :climax, :altitude 37, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} + {:x 19, :y 19, :state :heath, :altitude 38, :gradient 11, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 40} + {:x 20, :y 19, :state :scrub, :altitude 36, :gradient 19, :generation 101, :rule "if state is fire then state should be waste", :fertility 51} + {:x 21, :y 19, :state :climax, :altitude 28, :gradient 20, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 46} + {:x 22, :y 19, :state :climax, :altitude 26, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} + {:x 23, :y 19, :state :climax, :altitude 26, :gradient 3, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 24, :y 19, :state :climax, :altitude 27, :gradient 6, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 41} + {:x 25, :y 19, :state :climax, :altitude 27, :gradient 11, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 32} + {:x 26, :y 19, :state :forest, :altitude 22, :gradient 11, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 41} + {:x 27, :y 19, :state :climax, :altitude 24, :gradient 19, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 40} + {:x 28, :y 19, :state :climax, :altitude 29, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} + {:x 29, :y 19, :state :heath, :altitude 22, :gradient 24, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 61} + {:x 30, :y 19, :state :scrub, :altitude 12, :gradient 22, :generation 101, :rule "if state is fire then state should be waste", :fertility 45} + {:x 31, :y 19, :state :crop, :altitude 13, :gradient 21, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 52} + {:x 32, :y 19, :state :grassland, :altitude 15, :gradient 32, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 38} + {:x 33, :y 19, :state :house, :altitude 17, :gradient 30, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 47} + {:x 34, :y 19, :state :water, :altitude 1, :gradient 30, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 19, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 20, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 20, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 20, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 20, :state :climax, :altitude 23, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} + {:x 12, :y 20, :state :heath, :altitude 32, :gradient 37, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 63} + {:x 13, :y 20, :state :climax, :altitude 36, :gradient 32, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 44} + {:x 14, :y 20, :state :heath, :altitude 35, :gradient 31, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 47} + {:x 15, :y 20, :state :scrub, :altitude 37, :gradient 36, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 65} + {:x 16, :y 20, :state :scrub, :altitude 52, :gradient 36, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 75} + {:x 17, :y 20, :state :scrub, :altitude 56, :gradient 28, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} + {:x 18, :y 20, :state :scrub, :altitude 43, :gradient 29, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 40} + {:x 19, :y 20, :state :scrub, :altitude 36, :gradient 14, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} + {:x 20, :y 20, :state :climax, :altitude 46, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 21, :y 20, :state :climax, :altitude 41, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} + {:x 22, :y 20, :state :climax, :altitude 29, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 23, :y 20, :state :scrub, :altitude 26, :gradient 3, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 45} + {:x 24, :y 20, :state :climax, :altitude 28, :gradient 3, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} + {:x 25, :y 20, :state :climax, :altitude 28, :gradient 18, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} + {:x 26, :y 20, :state :climax, :altitude 17, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} + {:x 27, :y 20, :state :climax, :altitude 20, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} + {:x 28, :y 20, :state :scrub, :altitude 36, :gradient 15, :generation 101, :rule "if state is fire then state should be waste", :fertility 38} + {:x 29, :y 20, :state :scrub, :altitude 35, :gradient 24, :generation 101, :rule "if state is fire then state should be waste", :fertility 49} + {:x 30, :y 20, :state :climax, :altitude 28, :gradient 23, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 86} + {:x 31, :y 20, :state :climax, :altitude 33, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} + {:x 32, :y 20, :state :climax, :altitude 15, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} + {:x 33, :y 20, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 20, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 20, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 21, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 21, :state :climax, :altitude 12, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 10, :y 21, :state :forest, :altitude 12, :gradient 26, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 60} + {:x 11, :y 21, :state :scrub, :altitude 24, :gradient 44, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} + {:x 12, :y 21, :state :climax, :altitude 45, :gradient 36, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 40} + {:x 13, :y 21, :state :forest, :altitude 59, :gradient 27, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 64} + {:x 14, :y 21, :state :climax, :altitude 50, :gradient 24, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 55} + {:x 15, :y 21, :state :scrub, :altitude 49, :gradient 38, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 76} + {:x 16, :y 21, :state :climax, :altitude 64, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} + {:x 17, :y 21, :state :scrub, :altitude 65, :gradient 34, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} + {:x 18, :y 21, :state :climax, :altitude 50, :gradient 41, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} + {:x 19, :y 21, :state :heath, :altitude 38, :gradient 19, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 49} + {:x 20, :y 21, :state :climax, :altitude 38, :gradient 10, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 64} + {:x 21, :y 21, :state :scrub, :altitude 38, :gradient 17, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} + {:x 22, :y 21, :state :climax, :altitude 29, :gradient 15, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} + {:x 23, :y 21, :state :climax, :altitude 27, :gradient 5, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} + {:x 24, :y 21, :state :climax, :altitude 28, :gradient 7, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} + {:x 25, :y 21, :state :climax, :altitude 29, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 30} + {:x 26, :y 21, :state :climax, :altitude 35, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 36} + {:x 27, :y 21, :state :climax, :altitude 28, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} + {:x 28, :y 21, :state :climax, :altitude 28, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} + {:x 29, :y 21, :state :climax, :altitude 27, :gradient 35, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 70} + {:x 30, :y 21, :state :climax, :altitude 23, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 44} + {:x 31, :y 21, :state :camp, :altitude 22, :gradient 32, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 47} + {:x 32, :y 21, :state :water, :altitude 2, :gradient 32, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 21, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 21, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 22, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 22, :state :pasture, :altitude 23, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 48} + {:x 10, :y 22, :state :scrub, :altitude 27, :gradient 15, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 71} + {:x 11, :y 22, :state :scrub, :altitude 27, :gradient 33, :generation 101, :rule "if state is fire then state should be waste", :fertility 40} + {:x 12, :y 22, :state :heath, :altitude 40, :gradient 35, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 70} + {:x 13, :y 22, :state :scrub, :altitude 59, :gradient 32, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 37} + {:x 14, :y 22, :state :climax, :altitude 54, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 33} + {:x 15, :y 22, :state :scrub, :altitude 54, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 70} + {:x 16, :y 22, :state :climax, :altitude 73, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 75} + {:x 17, :y 22, :state :forest, :altitude 77, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} + {:x 18, :y 22, :state :climax, :altitude 55, :gradient 39, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} + {:x 19, :y 22, :state :climax, :altitude 42, :gradient 17, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} + {:x 20, :y 22, :state :scrub, :altitude 40, :gradient 15, :generation 101, :rule "if state is fire then state should be waste", :fertility 51} + {:x 21, :y 22, :state :climax, :altitude 36, :gradient 22, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 31} + {:x 22, :y 22, :state :climax, :altitude 31, :gradient 14, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 76} + {:x 23, :y 22, :state :climax, :altitude 29, :gradient 9, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 49} + {:x 24, :y 22, :state :climax, :altitude 28, :gradient 7, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} + {:x 25, :y 22, :state :climax, :altitude 33, :gradient 10, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} + {:x 26, :y 22, :state :pasture, :altitude 36, :gradient 8, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 11} + {:x 27, :y 22, :state :pasture, :altitude 28, :gradient 22, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 23} + {:x 28, :y 22, :state :climax, :altitude 14, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} + {:x 29, :y 22, :state :harbour, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 22, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 22, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 22, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 22, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 22, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 23, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 23, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 23, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 23, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 23, :state :pasture, :altitude 15, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 34} + {:x 10, :y 23, :state :scrub, :altitude 27, :gradient 25, :generation 101, :rule "if state is fire then state should be waste", :fertility 52} + {:x 11, :y 23, :state :heath, :altitude 27, :gradient 18, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 74} + {:x 12, :y 23, :state :scrub, :altitude 27, :gradient 32, :generation 101, :rule "if state is fire then state should be waste", :fertility 47} + {:x 13, :y 23, :state :scrub, :altitude 32, :gradient 32, :generation 101, :rule "if state is fire then state should be waste", :fertility 56} + {:x 14, :y 23, :state :scrub, :altitude 38, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} + {:x 15, :y 23, :state :scrub, :altitude 43, :gradient 35, :generation 101, :rule "if state is fire then state should be waste", :fertility 67} + {:x 16, :y 23, :state :climax, :altitude 57, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} + {:x 17, :y 23, :state :climax, :altitude 69, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} + {:x 18, :y 23, :state :scrub, :altitude 54, :gradient 37, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} + {:x 19, :y 23, :state :climax, :altitude 50, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} + {:x 20, :y 23, :state :scrub, :altitude 51, :gradient 15, :generation 101, :rule "if state is fire then state should be waste", :fertility 52} + {:x 21, :y 23, :state :heath, :altitude 41, :gradient 22, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 64} + {:x 22, :y 23, :state :scrub, :altitude 35, :gradient 13, :generation 101, :rule "if state is fire then state should be waste", :fertility 68} + {:x 23, :y 23, :state :climax, :altitude 31, :gradient 16, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 38} + {:x 24, :y 23, :state :climax, :altitude 26, :gradient 19, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} + {:x 25, :y 23, :state :climax, :altitude 29, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} + {:x 26, :y 23, :state :pasture, :altitude 29, :gradient 22, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} + {:x 27, :y 23, :state :climax, :altitude 27, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} + {:x 28, :y 23, :state :climax, :altitude 26, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 29, :y 23, :state :camp, :altitude 12, :gradient 25, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 24} + {:x 30, :y 23, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 23, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 24, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 24, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 24, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 24, :state :house, :altitude 14, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 32} + {:x 8, :y 24, :state :climax, :altitude 14, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} + {:x 9, :y 24, :state :grassland, :altitude 12, :gradient 28, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 29} + {:x 10, :y 24, :state :climax, :altitude 22, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} + {:x 11, :y 24, :state :climax, :altitude 37, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 12, :y 24, :state :climax, :altitude 37, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 31} + {:x 13, :y 24, :state :climax, :altitude 36, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 51} + {:x 14, :y 24, :state :scrub, :altitude 41, :gradient 45, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 40} + {:x 15, :y 24, :state :heath, :altitude 54, :gradient 56, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 46} + {:x 16, :y 24, :state :climax, :altitude 64, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 17, :y 24, :state :forest, :altitude 79, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} + {:x 18, :y 24, :state :climax, :altitude 69, :gradient 43, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 19, :y 24, :state :forest, :altitude 51, :gradient 37, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 58} + {:x 20, :y 24, :state :climax, :altitude 43, :gradient 20, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 43} + {:x 21, :y 24, :state :forest, :altitude 37, :gradient 24, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 30} + {:x 22, :y 24, :state :scrub, :altitude 29, :gradient 24, :generation 101, :rule "if state is fire then state should be waste", :fertility 67} + {:x 23, :y 24, :state :climax, :altitude 28, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} + {:x 24, :y 24, :state :climax, :altitude 19, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 25, :y 24, :state :climax, :altitude 14, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 26, :y 24, :state :climax, :altitude 22, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} + {:x 27, :y 24, :state :climax, :altitude 20, :gradient 28, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} + {:x 28, :y 24, :state :house, :altitude 20, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 43} + {:x 29, :y 24, :state :water, :altitude 2, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 24, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 24, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 25, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 25, :state :house, :altitude 12, :gradient 44, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 16} + {:x 6, :y 25, :state :climax, :altitude 24, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 7, :y 25, :state :crop, :altitude 29, :gradient 50, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 27} + {:x 8, :y 25, :state :house, :altitude 29, :gradient 40, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 20} + {:x 9, :y 25, :state :grassland, :altitude 26, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 48} + {:x 10, :y 25, :state :climax, :altitude 26, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} + {:x 11, :y 25, :state :climax, :altitude 41, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} + {:x 12, :y 25, :state :climax, :altitude 59, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 13, :y 25, :state :scrub, :altitude 61, :gradient 27, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} + {:x 14, :y 25, :state :scrub, :altitude 59, :gradient 41, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 73} + {:x 15, :y 25, :state :forest, :altitude 77, :gradient 55, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} + {:x 16, :y 25, :state :forest, :altitude 94, :gradient 42, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} + {:x 17, :y 25, :state :scrub, :altitude 93, :gradient 35, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} + {:x 18, :y 25, :state :forest, :altitude 79, :gradient 52, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} + {:x 19, :y 25, :state :scrub, :altitude 55, :gradient 48, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 42} + {:x 20, :y 25, :state :climax, :altitude 42, :gradient 27, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 49} + {:x 21, :y 25, :state :scrub, :altitude 35, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} + {:x 22, :y 25, :state :climax, :altitude 27, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 23, :y 25, :state :climax, :altitude 17, :gradient 28, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 72} + {:x 24, :y 25, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 25, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 25, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 25, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 25, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 25, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 25, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 25, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 26, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 26, :state :climax, :altitude 20, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 6, :y 26, :state :crop, :altitude 45, :gradient 65, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 22} + {:x 7, :y 26, :state :grassland, :altitude 52, :gradient 62, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 37} + {:x 8, :y 26, :state :grassland, :altitude 46, :gradient 60, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} + {:x 9, :y 26, :state :grassland, :altitude 31, :gradient 60, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 29} + {:x 10, :y 26, :state :pasture, :altitude 28, :gradient 37, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 60} + {:x 11, :y 26, :state :scrub, :altitude 37, :gradient 33, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 50} + {:x 12, :y 26, :state :scrub, :altitude 55, :gradient 30, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 25} + {:x 13, :y 26, :state :scrub, :altitude 63, :gradient 28, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 18} + {:x 14, :y 26, :state :climax, :altitude 60, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} + {:x 15, :y 26, :state :forest, :altitude 74, :gradient 49, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} + {:x 16, :y 26, :state :scrub, :altitude 96, :gradient 44, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} + {:x 17, :y 26, :state :forest, :altitude 77, :gradient 58, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 74} + {:x 18, :y 26, :state :pasture, :altitude 61, :gradient 65, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 56} + {:x 19, :y 26, :state :climax, :altitude 41, :gradient 52, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} + {:x 20, :y 26, :state :pasture, :altitude 31, :gradient 28, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 60} + {:x 21, :y 26, :state :scrub, :altitude 28, :gradient 22, :generation 101, :rule "if state is fire then state should be waste", :fertility 64} + {:x 22, :y 26, :state :pasture, :altitude 24, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 74} + {:x 23, :y 26, :state :water, :altitude 2, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 26, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 26, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 26, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 27, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 27, :state :water, :altitude 1, :gradient 35, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 27, :state :climax, :altitude 22, :gradient 51, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} + {:x 6, :y 27, :state :climax, :altitude 52, :gradient 57, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} + {:x 7, :y 27, :state :pasture, :altitude 77, :gradient 41, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 50} + {:x 8, :y 27, :state :heath, :altitude 86, :gradient 48, :generation 101, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 50} + {:x 9, :y 27, :state :climax, :altitude 63, :gradient 58, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} + {:x 10, :y 27, :state :pasture, :altitude 38, :gradient 50, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 48} + {:x 11, :y 27, :state :scrub, :altitude 33, :gradient 30, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 48} + {:x 12, :y 27, :state :scrub, :altitude 33, :gradient 37, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 75} + {:x 13, :y 27, :state :climax, :altitude 47, :gradient 37, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 14, :y 27, :state :scrub, :altitude 47, :gradient 41, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} + {:x 15, :y 27, :state :pasture, :altitude 50, :gradient 63, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 64} + {:x 16, :y 27, :state :crop, :altitude 64, :gradient 63, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 32} + {:x 17, :y 27, :state :crop, :altitude 55, :gradient 58, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 58} + {:x 18, :y 27, :state :crop, :altitude 38, :gradient 49, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 31} + {:x 19, :y 27, :state :climax, :altitude 28, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} + {:x 20, :y 27, :state :climax, :altitude 27, :gradient 15, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 75} + {:x 21, :y 27, :state :climax, :altitude 27, :gradient 16, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} + {:x 22, :y 27, :state :pasture, :altitude 20, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 23, :y 27, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 27, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 27, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 28, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 28, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 25} + {:x 5, :y 28, :state :crop, :altitude 36, :gradient 51, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 38} + {:x 6, :y 28, :state :climax, :altitude 52, :gradient 55, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} + {:x 7, :y 28, :state :forest, :altitude 70, :gradient 46, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} + {:x 8, :y 28, :state :scrub, :altitude 79, :gradient 46, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 59} + {:x 9, :y 28, :state :scrub, :altitude 78, :gradient 48, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 29} + {:x 10, :y 28, :state :climax, :altitude 56, :gradient 45, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} + {:x 11, :y 28, :state :scrub, :altitude 35, :gradient 30, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} + {:x 12, :y 28, :state :climax, :altitude 26, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} + {:x 13, :y 28, :state :climax, :altitude 33, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} + {:x 14, :y 28, :state :pasture, :altitude 37, :gradient 26, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 56} + {:x 15, :y 28, :state :pasture, :altitude 33, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 62} + {:x 16, :y 28, :state :crop, :altitude 40, :gradient 31, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 35} + {:x 17, :y 28, :state :house, :altitude 50, :gradient 26, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 43} + {:x 18, :y 28, :state :pasture, :altitude 42, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 19, :y 28, :state :house, :altitude 37, :gradient 15, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 19} + {:x 20, :y 28, :state :ploughland, :altitude 33, :gradient 16, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 30} + {:x 21, :y 28, :state :pasture, :altitude 26, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 19} + {:x 22, :y 28, :state :house, :altitude 17, :gradient 26, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 14} + {:x 23, :y 28, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 28, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 29, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 29, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 29, :state :ploughland, :altitude 12, :gradient 35, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 31} + {:x 5, :y 29, :state :grassland, :altitude 32, :gradient 40, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 44} + {:x 6, :y 29, :state :heath, :altitude 41, :gradient 42, :generation 101, :rule "if state is waste and some neighbours are forest then state should be heath", :fertility 62} + {:x 7, :y 29, :state :scrub, :altitude 40, :gradient 51, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} + {:x 8, :y 29, :state :scrub, :altitude 50, :gradient 52, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} + {:x 9, :y 29, :state :scrub, :altitude 60, :gradient 52, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 62} + {:x 10, :y 29, :state :climax, :altitude 52, :gradient 51, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 67} + {:x 11, :y 29, :state :climax, :altitude 35, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} + {:x 12, :y 29, :state :scrub, :altitude 26, :gradient 22, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 59} + {:x 13, :y 29, :state :scrub, :altitude 24, :gradient 24, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 49} + {:x 14, :y 29, :state :pasture, :altitude 28, :gradient 24, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 67} + {:x 15, :y 29, :state :house, :altitude 33, :gradient 19, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 47} + {:x 16, :y 29, :state :ploughland, :altitude 43, :gradient 17, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 18} + {:x 17, :y 29, :state :house, :altitude 49, :gradient 21, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 21} + {:x 18, :y 29, :state :grassland, :altitude 41, :gradient 23, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 13} + {:x 19, :y 29, :state :inn, :altitude 38, :gradient 15, :generation 101, :rule "if state is house and some neighbours are market and more than 1 neighbours are house then 1 chance in 5 state should be inn", :fertility 34} + {:x 20, :y 29, :state :crop, :altitude 37, :gradient 36, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 25} + {:x 21, :y 29, :state :grassland, :altitude 22, :gradient 36, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 18} + {:x 22, :y 29, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 29, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 29, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 30, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 30, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 17} + {:x 4, :y 30, :state :ploughland, :altitude 28, :gradient 31, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 20} + {:x 5, :y 30, :state :climax, :altitude 31, :gradient 29, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 6, :y 30, :state :climax, :altitude 28, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} + {:x 7, :y 30, :state :scrub, :altitude 28, :gradient 23, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} + {:x 8, :y 30, :state :climax, :altitude 37, :gradient 34, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 83} + {:x 9, :y 30, :state :forest, :altitude 27, :gradient 42, :generation 101, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 64} + {:x 10, :y 30, :state :climax, :altitude 28, :gradient 47, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 28} + {:x 11, :y 30, :state :climax, :altitude 32, :gradient 42, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} + {:x 12, :y 30, :state :climax, :altitude 28, :gradient 26, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 58} + {:x 13, :y 30, :state :pasture, :altitude 13, :gradient 19, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 74} + {:x 14, :y 30, :state :pasture, :altitude 24, :gradient 24, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 44} + {:x 15, :y 30, :state :scrub, :altitude 33, :gradient 30, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 66} + {:x 16, :y 30, :state :house, :altitude 35, :gradient 36, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 32} + {:x 17, :y 30, :state :pasture, :altitude 36, :gradient 36, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 18, :y 30, :state :house, :altitude 29, :gradient 47, :generation 101, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 28} + {:x 19, :y 30, :state :market, :altitude 27, :gradient 40, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 12} + {:x 20, :y 30, :state :house, :altitude 27, :gradient 37, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 21, :y 30, :state :water, :altitude 2, :gradient 36, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 30, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 30, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 31, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 31, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 31, :state :harbour, :altitude 1, :gradient 35, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 31, :state :ploughland, :altitude 24, :gradient 44, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 35} + {:x 5, :y 31, :state :climax, :altitude 29, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} + {:x 6, :y 31, :state :climax, :altitude 31, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} + {:x 7, :y 31, :state :heath, :altitude 28, :gradient 23, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 45} + {:x 8, :y 31, :state :scrub, :altitude 27, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 68} + {:x 9, :y 31, :state :scrub, :altitude 26, :gradient 19, :generation 101, :rule "if state is fire then state should be waste", :fertility 68} + {:x 10, :y 31, :state :scrub, :altitude 18, :gradient 19, :generation 101, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 45} + {:x 11, :y 31, :state :heath, :altitude 13, :gradient 22, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 48} + {:x 12, :y 31, :state :scrub, :altitude 10, :gradient 23, :generation 101, :rule "if state is fire then state should be waste", :fertility 66} + {:x 13, :y 31, :state :water, :altitude 9, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 31, :state :pasture, :altitude 23, :gradient 32, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 59} + {:x 15, :y 31, :state :pasture, :altitude 17, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} + {:x 16, :y 31, :state :scrub, :altitude 13, :gradient 35, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 59} + {:x 17, :y 31, :state :ploughland, :altitude 14, :gradient 35, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 21} + {:x 18, :y 31, :state :house, :altitude 14, :gradient 35, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 19, :y 31, :state :water, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 31, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 31, :state :water, :altitude 1, :gradient 26, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 31, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 31, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 32, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 32, :state :camp, :altitude 17, :gradient 31, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 56} + {:x 3, :y 32, :state :climax, :altitude 22, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 92} + {:x 4, :y 32, :state :climax, :altitude 36, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} + {:x 5, :y 32, :state :climax, :altitude 45, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 25} + {:x 6, :y 32, :state :climax, :altitude 50, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} + {:x 7, :y 32, :state :heath, :altitude 45, :gradient 29, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 44} + {:x 8, :y 32, :state :heath, :altitude 35, :gradient 30, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 46} + {:x 9, :y 32, :state :scrub, :altitude 32, :gradient 38, :generation 101, :rule "if state is fire then state should be waste", :fertility 27} + {:x 10, :y 32, :state :climax, :altitude 24, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} + {:x 11, :y 32, :state :climax, :altitude 19, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 12, :y 32, :state :scrub, :altitude 20, :gradient 23, :generation 101, :rule "if state is fire then state should be waste", :fertility 77} + {:x 13, :y 32, :state :climax, :altitude 20, :gradient 23, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 36} + {:x 14, :y 32, :state :pasture, :altitude 14, :gradient 30, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 49} + {:x 15, :y 32, :state :harbour, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 32, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 32, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 32, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 32, :state :water, :altitude 1, :gradient 13, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 32, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 32, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 33, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 33, :state :climax, :altitude 26, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} + {:x 3, :y 33, :state :climax, :altitude 32, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 4, :y 33, :state :climax, :altitude 33, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 5, :y 33, :state :climax, :altitude 41, :gradient 35, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 63} + {:x 6, :y 33, :state :scrub, :altitude 46, :gradient 38, :generation 101, :rule "if state is fire then state should be waste", :fertility 73} + {:x 7, :y 33, :state :climax, :altitude 55, :gradient 38, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} + {:x 8, :y 33, :state :scrub, :altitude 56, :gradient 32, :generation 101, :rule "if state is fire then state should be waste", :fertility 48} + {:x 9, :y 33, :state :climax, :altitude 38, :gradient 44, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} + {:x 10, :y 33, :state :climax, :altitude 27, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 11, :y 33, :state :climax, :altitude 31, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} + {:x 12, :y 33, :state :climax, :altitude 32, :gradient 17, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 47} + {:x 13, :y 33, :state :climax, :altitude 31, :gradient 18, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} + {:x 14, :y 33, :state :pasture, :altitude 26, :gradient 30, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 32} + {:x 15, :y 33, :state :pasture, :altitude 12, :gradient 25, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 24} + {:x 16, :y 33, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 33, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 33, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 34, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 34, :state :climax, :altitude 12, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 90} + {:x 3, :y 34, :state :climax, :altitude 12, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} + {:x 4, :y 34, :state :climax, :altitude 15, :gradient 40, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} + {:x 5, :y 34, :state :climax, :altitude 17, :gradient 45, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} + {:x 6, :y 34, :state :climax, :altitude 18, :gradient 38, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 78} + {:x 7, :y 34, :state :climax, :altitude 29, :gradient 38, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} + {:x 8, :y 34, :state :climax, :altitude 36, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} + {:x 9, :y 34, :state :climax, :altitude 23, :gradient 44, :generation 101, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 61} + {:x 10, :y 34, :state :climax, :altitude 12, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 11, :y 34, :state :climax, :altitude 14, :gradient 20, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} + {:x 12, :y 34, :state :climax, :altitude 17, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} + {:x 13, :y 34, :state :climax, :altitude 18, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} + {:x 14, :y 34, :state :climax, :altitude 18, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} + {:x 15, :y 34, :state :climax, :altitude 23, :gradient 25, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 52} + {:x 16, :y 34, :state :house, :altitude 18, :gradient 22, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 17, :y 34, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 34, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 34, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 34, :state :water, :altitude 1, :gradient 31, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 34, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 34, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 35, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 35, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 35, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 35, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 35, :state :ploughland, :altitude 22, :gradient 36, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 49} + {:x 6, :y 35, :state :ploughland, :altitude 24, :gradient 20, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 40} + {:x 7, :y 35, :state :pasture, :altitude 26, :gradient 19, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 49} + {:x 8, :y 35, :state :climax, :altitude 26, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} + {:x 9, :y 35, :state :climax, :altitude 27, :gradient 24, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} + {:x 10, :y 35, :state :climax, :altitude 24, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 50} + {:x 11, :y 35, :state :climax, :altitude 27, :gradient 21, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} + {:x 12, :y 35, :state :climax, :altitude 22, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} + {:x 13, :y 35, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 35, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 35, :state :climax, :altitude 13, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 16, :y 35, :state :climax, :altitude 12, :gradient 22, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} + {:x 17, :y 35, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 35, :state :climax, :altitude 17, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} + {:x 19, :y 35, :state :climax, :altitude 32, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 20, :y 35, :state :climax, :altitude 26, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} + {:x 21, :y 35, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 35, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 36, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 36, :state :house, :altitude 24, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 42} + {:x 6, :y 36, :state :scrub, :altitude 37, :gradient 22, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 39} + {:x 7, :y 36, :state :crop, :altitude 32, :gradient 13, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 35} + {:x 8, :y 36, :state :grassland, :altitude 27, :gradient 9, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} + {:x 9, :y 36, :state :climax, :altitude 32, :gradient 7, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 10, :y 36, :state :climax, :altitude 31, :gradient 10, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} + {:x 11, :y 36, :state :climax, :altitude 33, :gradient 13, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 12, :y 36, :state :climax, :altitude 26, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} + {:x 13, :y 36, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 36, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 36, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 36, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 36, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 36, :state :climax, :altitude 19, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} + {:x 19, :y 36, :state :climax, :altitude 49, :gradient 18, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} + {:x 20, :y 36, :state :climax, :altitude 35, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} + {:x 21, :y 36, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 36, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 37, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 37, :state :house, :altitude 13, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 34} + {:x 6, :y 37, :state :crop, :altitude 35, :gradient 35, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 20} + {:x 7, :y 37, :state :house, :altitude 35, :gradient 19, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 49} + {:x 8, :y 37, :state :house, :altitude 28, :gradient 23, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 34} + {:x 9, :y 37, :state :climax, :altitude 27, :gradient 30, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} + {:x 10, :y 37, :state :climax, :altitude 29, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 11, :y 37, :state :climax, :altitude 23, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} + {:x 12, :y 37, :state :heath, :altitude 18, :gradient 32, :generation 101, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 50} + {:x 13, :y 37, :state :water, :altitude 1, :gradient 25, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 37, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 37, :state :climax, :altitude 17, :gradient 48, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 95} + {:x 19, :y 37, :state :climax, :altitude 33, :gradient 47, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 20, :y 37, :state :camp, :altitude 23, :gradient 48, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp"} + {:x 21, :y 37, :state :water, :altitude 1, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 37, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 38, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 38, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 38, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 38, :state :water, :altitude 2, :gradient 34, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 38, :state :house, :altitude 19, :gradient 34, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 28} + {:x 7, :y 38, :state :grassland, :altitude 19, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 20} + {:x 8, :y 38, :state :pasture, :altitude 18, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 41} + {:x 9, :y 38, :state :market, :altitude 12, :gradient 27, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 20} + {:x 10, :y 38, :state :harbour, :altitude 2, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 38, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 38, :state :water, :altitude 2, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 38, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 38, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 38, :state :camp, :altitude 12, :gradient 32, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 15} + {:x 19, :y 38, :state :climax, :altitude 17, :gradient 32, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} + {:x 20, :y 38, :state :water, :altitude 2, :gradient 32, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 38, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 38, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 39, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 39, :state :climax, :altitude 12, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} + {:x 4, :y 39, :state :house, :altitude 19, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 5, :y 39, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 39, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 39, :state :harbour, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 39, :state :pasture, :altitude 15, :gradient 48, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 26} + {:x 9, :y 39, :state :inn, :altitude 26, :gradient 47, :generation 101, :rule "if state is house and some neighbours are crop then state should be house", :fertility 43} + {:x 10, :y 39, :state :camp, :altitude 26, :gradient 48, :generation 101, :rule "if state is in waste or grassland and some neighbours are market then state should be camp", :fertility 49} + {:x 11, :y 39, :state :crop, :altitude 23, :gradient 48, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 52} + {:x 12, :y 39, :state :house, :altitude 13, :gradient 41, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 58} + {:x 13, :y 39, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 39, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 39, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 39, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 39, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 39, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 39, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 39, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 40, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 40, :state :pasture, :altitude 13, :gradient 27, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} + {:x 4, :y 40, :state :ploughland, :altitude 28, :gradient 26, :generation 101, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 12} + {:x 5, :y 40, :state :house, :altitude 14, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 15} + {:x 6, :y 40, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 40, :state :house, :altitude 15, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 39} + {:x 8, :y 40, :state :house, :altitude 29, :gradient 49, :generation 101, :rule "if state is house and some neighbours are market then state should be house", :fertility 37} + {:x 9, :y 40, :state :grassland, :altitude 49, :gradient 46, :generation 101, :rule "if state is market then state should be grassland", :fertility 9} + {:x 10, :y 40, :state :climax, :altitude 49, :gradient 38, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 68} + {:x 11, :y 40, :state :grassland, :altitude 42, :gradient 48, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 46} + {:x 12, :y 40, :state :pasture, :altitude 28, :gradient 50, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 77} + {:x 13, :y 40, :state :grassland, :altitude 18, :gradient 34, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 49} + {:x 14, :y 40, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 40, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 41, :state :water, :altitude 1, :gradient 12, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 41, :state :climax, :altitude 12, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} + {:x 4, :y 41, :state :climax, :altitude 28, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} + {:x 5, :y 41, :state :scrub, :altitude 18, :gradient 27, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 17} + {:x 6, :y 41, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 41, :state :house, :altitude 14, :gradient 28, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 8, :y 41, :state :scrub, :altitude 29, :gradient 49, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 62} + {:x 9, :y 41, :state :house, :altitude 50, :gradient 37, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 38} + {:x 10, :y 41, :state :scrub, :altitude 61, :gradient 19, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 54} + {:x 11, :y 41, :state :scrub, :altitude 51, :gradient 33, :generation 101, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 53} + {:x 12, :y 41, :state :climax, :altitude 35, :gradient 33, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 13, :y 41, :state :pasture, :altitude 20, :gradient 34, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 75} + {:x 14, :y 41, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 41, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 41, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 42, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 42, :state :water, :altitude 1, :gradient 11, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 42, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 42, :state :camp, :altitude 14, :gradient 27, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 21} + {:x 5, :y 42, :state :house, :altitude 12, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 22} + {:x 6, :y 42, :state :water, :altitude 1, :gradient 17, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 42, :state :water, :altitude 1, :gradient 28, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 42, :state :climax, :altitude 24, :gradient 49, :generation 101, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 36} + {:x 9, :y 42, :state :crop, :altitude 32, :gradient 47, :generation 101, :rule "if state is ploughland then state should be crop", :fertility 20} + {:x 10, :y 42, :state :house, :altitude 40, :gradient 41, :generation 101, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 18} + {:x 11, :y 42, :state :grassland, :altitude 40, :gradient 33, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 33} + {:x 12, :y 42, :state :pasture, :altitude 32, :gradient 31, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} + {:x 13, :y 42, :state :climax, :altitude 23, :gradient 34, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} + {:x 14, :y 42, :state :water, :altitude 2, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 42, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 42, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 43, :state :water, :altitude 1, :gradient 16, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 43, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 3, :y 43, :state :water, :altitude 2, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 4, :y 43, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 43, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 43, :state :water, :altitude 2, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 43, :state :water, :altitude 1, :gradient 23, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 43, :state :house, :altitude 14, :gradient 31, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 38} + {:x 9, :y 43, :state :pasture, :altitude 20, :gradient 39, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} + {:x 10, :y 43, :state :grassland, :altitude 28, :gradient 39, :generation 101, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 30} + {:x 11, :y 43, :state :pasture, :altitude 28, :gradient 23, :generation 101, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 50} + {:x 12, :y 43, :state :climax, :altitude 28, :gradient 25, :generation 101, :rule "if state is climax then 1 chance in 500 state should be fire", :fertility 73} + {:x 13, :y 43, :state :climax, :altitude 23, :gradient 31, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} + {:x 14, :y 43, :state :water, :altitude 2, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 43, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 43, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 44, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 44, :state :house, :altitude 17, :gradient 36, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 6} + {:x 3, :y 44, :state :camp, :altitude 28, :gradient 36, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 20} + {:x 4, :y 44, :state :water, :altitude 2, :gradient 36, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 44, :state :camp, :altitude 12, :gradient 21, :generation 101, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 47} + {:x 6, :y 44, :state :climax, :altitude 22, :gradient 14, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 95} + {:x 7, :y 44, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 44, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 44, :state :water, :altitude 1, :gradient 27, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 44, :state :house, :altitude 20, :gradient 27, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 36} + {:x 11, :y 44, :state :climax, :altitude 17, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} + {:x 12, :y 44, :state :climax, :altitude 22, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 88} + {:x 13, :y 44, :state :climax, :altitude 15, :gradient 27, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 88} + {:x 14, :y 44, :state :water, :altitude 1, :gradient 22, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 44, :state :water, :altitude 1, :gradient 1, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 44, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 45, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 45, :state :climax, :altitude 19, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} + {:x 3, :y 45, :state :climax, :altitude 37, :gradient 26, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} + {:x 4, :y 45, :state :climax, :altitude 14, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} + {:x 5, :y 45, :state :harbour, :altitude 2, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 45, :state :house, :altitude 15, :gradient 21, :generation 101, :rule "if state is house and more than 2 neighbours are water then state should be house"} + {:x 7, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 45, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 45, :state :water, :altitude 1, :gradient 19, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 45, :state :water, :altitude 1, :gradient 21, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 45, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 45, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}] + [{:x 0, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 1, :y 46, :state :water, :altitude 1, :gradient 18, :generation 101, :rule "if state is water then state should be water"} + {:x 2, :y 46, :state :climax, :altitude 13, :gradient 36, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} + {:x 3, :y 46, :state :climax, :altitude 22, :gradient 35, :generation 101, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} + {:x 4, :y 46, :state :water, :altitude 2, :gradient 36, :generation 101, :rule "if state is water then state should be water"} + {:x 5, :y 46, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 6, :y 46, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 7, :y 46, :state :water, :altitude 1, :gradient 14, :generation 101, :rule "if state is water then state should be water"} + {:x 8, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 9, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 10, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 11, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 12, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 13, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 14, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 15, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 16, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 17, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 18, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 19, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 20, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 21, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 22, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 23, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 24, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 25, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 26, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 27, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 28, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 29, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 30, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 31, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 32, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 33, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 34, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 35, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 36, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 37, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 38, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 39, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 40, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 41, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 42, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 43, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 44, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 45, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 46, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"} + {:x 47, :y 46, :state :water, :altitude 1, :gradient 0, :generation 101, :rule "if state is water then state should be water"}]] diff --git a/resources/maps/barra/barra_101.edn b/resources/maps/barra/barra_101.edn new file mode 100644 index 0000000..a0e5511 --- /dev/null +++ b/resources/maps/barra/barra_101.edn @@ -0,0 +1 @@ +[[{:x 0, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 0, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 0, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 0, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 0, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 0, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 0, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 0, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 0, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 0, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 0, :state :climax, :altitude 14, :gradient 14, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 43, :y 0, :state :climax, :altitude 15, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 44, :y 0, :state :climax, :altitude 31, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 45, :y 0, :state :climax, :altitude 36, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 46, :y 0, :state :climax, :altitude 15, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 94} {:x 47, :y 0, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 1, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 1, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 1, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 1, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 1, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 1, :state :climax, :altitude 12, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 36, :y 1, :state :climax, :altitude 13, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} {:x 37, :y 1, :state :climax, :altitude 15, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 38, :y 1, :state :climax, :altitude 23, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 39, :y 1, :state :climax, :altitude 23, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 40, :y 1, :state :climax, :altitude 28, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 41, :y 1, :state :camp, :altitude 15, :gradient 28, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 15} {:x 42, :y 1, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 1, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 1, :state :water, :altitude 2, :gradient 35, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 1, :state :water, :altitude 2, :gradient 35, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 1, :state :water, :altitude 1, :gradient 35, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 1, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 2, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 2, :state :water, :altitude 1, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 2, :state :water, :altitude 2, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 2, :state :water, :altitude 1, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 2, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 2, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 2, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 2, :state :climax, :altitude 22, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 36, :y 2, :state :climax, :altitude 31, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} {:x 37, :y 2, :state :climax, :altitude 29, :gradient 38, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 38, :y 2, :state :climax, :altitude 33, :gradient 36, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 39, :y 2, :state :climax, :altitude 36, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 40, :y 2, :state :climax, :altitude 29, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 41, :y 2, :state :climax, :altitude 15, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 42, :y 2, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 2, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 2, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 2, :state :climax, :altitude 15, :gradient 16, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 94} {:x 46, :y 2, :state :house, :altitude 14, :gradient 16, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 51} {:x 47, :y 2, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 3, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 3, :state :climax, :altitude 14, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 29, :y 3, :state :grassland, :altitude 32, :gradient 16, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 72} {:x 30, :y 3, :state :climax, :altitude 17, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 31, :y 3, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 3, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 3, :state :climax, :altitude 22, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 36, :y 3, :state :climax, :altitude 31, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 37, :y 3, :state :climax, :altitude 43, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} {:x 38, :y 3, :state :climax, :altitude 51, :gradient 17, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 39, :y 3, :state :climax, :altitude 42, :gradient 24, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 40, :y 3, :state :climax, :altitude 28, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 41, :y 3, :state :water, :altitude 2, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 3, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 3, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 3, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 3, :state :camp, :altitude 17, :gradient 14, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 39} {:x 46, :y 3, :state :climax, :altitude 14, :gradient 16, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 47, :y 3, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 4, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 4, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 4, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 4, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 4, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 4, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 4, :state :water, :altitude 2, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 4, :state :climax, :altitude 17, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 30, :y 4, :state :house, :altitude 12, :gradient 31, :generation 103, :rule "if state is in camp or abandoned and some neighbours are crop then state should be house", :fertility 77} {:x 31, :y 4, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 4, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 4, :state :house, :altitude 13, :gradient 30, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 55} {:x 36, :y 4, :state :pasture, :altitude 29, :gradient 42, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 24} {:x 37, :y 4, :state :pasture, :altitude 42, :gradient 22, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 38} {:x 38, :y 4, :state :climax, :altitude 46, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 39, :y 4, :state :climax, :altitude 38, :gradient 37, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 40, :y 4, :state :climax, :altitude 27, :gradient 41, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 41, :y 4, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 4, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 4, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 4, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 4, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 4, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 4, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 5, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 5, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 5, :state :house, :altitude 12, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 21} {:x 20, :y 5, :state :house, :altitude 12, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 21, :y 5, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 5, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 5, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 5, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 5, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 5, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 5, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 5, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 5, :state :harbour, :altitude 1, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 5, :state :market, :altitude 31, :gradient 41, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 33} {:x 37, :y 5, :state :pasture, :altitude 32, :gradient 17, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 45} {:x 38, :y 5, :state :grassland, :altitude 37, :gradient 19, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 32} {:x 39, :y 5, :state :grassland, :altitude 33, :gradient 34, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 44} {:x 40, :y 5, :state :grassland, :altitude 14, :gradient 37, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 41} {:x 41, :y 5, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 5, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 5, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 6, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 6, :state :climax, :altitude 17, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 19, :y 6, :state :pasture, :altitude 28, :gradient 25, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 27} {:x 20, :y 6, :state :climax, :altitude 24, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 93} {:x 21, :y 6, :state :water, :altitude 2, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 6, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 6, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 6, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 6, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 6, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 6, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 6, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 6, :state :inn, :altitude 15, :gradient 34, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 36} {:x 36, :y 6, :state :crop, :altitude 35, :gradient 42, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 61} {:x 37, :y 6, :state :crop, :altitude 32, :gradient 14, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 56} {:x 38, :y 6, :state :crop, :altitude 29, :gradient 16, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 21} {:x 39, :y 6, :state :camp, :altitude 27, :gradient 25, :generation 103, :rule "if state is camp and some neighbours are ploughland then state should be camp", :fertility 34} {:x 40, :y 6, :state :pasture, :altitude 12, :gradient 32, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 41, :y 6, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 6, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 7, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 7, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 7, :state :climax, :altitude 18, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 19, :y 7, :state :climax, :altitude 27, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 20, :y 7, :state :climax, :altitude 14, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 21, :y 7, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 7, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 7, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 7, :state :climax, :altitude 19, :gradient 34, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 92} {:x 26, :y 7, :state :forest, :altitude 22, :gradient 34, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 29} {:x 27, :y 7, :state :house, :altitude 12, :gradient 34, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 11} {:x 28, :y 7, :state :water, :altitude 1, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 7, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 7, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 7, :state :camp, :altitude 15, :gradient 34, :generation 103, :rule "if state is camp and some neighbours are ploughland then state should be camp", :fertility 37} {:x 36, :y 7, :state :grassland, :altitude 35, :gradient 41, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 37, :y 7, :state :crop, :altitude 43, :gradient 9, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 61} {:x 38, :y 7, :state :house, :altitude 37, :gradient 20, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 34} {:x 39, :y 7, :state :grassland, :altitude 27, :gradient 35, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 46} {:x 40, :y 7, :state :house, :altitude 12, :gradient 26, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 30} {:x 41, :y 7, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 7, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 8, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 8, :state :climax, :altitude 14, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 89} {:x 18, :y 8, :state :crop, :altitude 31, :gradient 28, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 15} {:x 19, :y 8, :state :climax, :altitude 28, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 20, :y 8, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 8, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 8, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 8, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 8, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 8, :state :climax, :altitude 24, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 26, :y 8, :state :scrub, :altitude 35, :gradient 29, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 6} {:x 27, :y 8, :state :pasture, :altitude 35, :gradient 40, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 28, :y 8, :state :house, :altitude 22, :gradient 34, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 11} {:x 29, :y 8, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 8, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 8, :state :water, :altitude 2, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 8, :state :house, :altitude 28, :gradient 42, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 65} {:x 37, :y 8, :state :crop, :altitude 37, :gradient 28, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 42} {:x 38, :y 8, :state :house, :altitude 36, :gradient 31, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 27} {:x 39, :y 8, :state :pasture, :altitude 23, :gradient 36, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 33} {:x 40, :y 8, :state :water, :altitude 2, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 8, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 8, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 9, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 9, :state :house, :altitude 12, :gradient 30, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 18, :y 9, :state :climax, :altitude 29, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 19, :y 9, :state :climax, :altitude 28, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 20, :y 9, :state :pasture, :altitude 18, :gradient 27, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 47} {:x 21, :y 9, :state :pasture, :altitude 17, :gradient 27, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 23} {:x 22, :y 9, :state :house, :altitude 23, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 20} {:x 23, :y 9, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 9, :state :house, :altitude 14, :gradient 35, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 25, :y 9, :state :pasture, :altitude 31, :gradient 40, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 26, :y 9, :state :scrub, :altitude 41, :gradient 13, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 20} {:x 27, :y 9, :state :forest, :altitude 35, :gradient 39, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 25} {:x 28, :y 9, :state :house, :altitude 20, :gradient 34, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 8} {:x 29, :y 9, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 9, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 9, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 9, :state :crop, :altitude 15, :gradient 36, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 25} {:x 37, :y 9, :state :forest, :altitude 26, :gradient 25, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 68} {:x 38, :y 9, :state :crop, :altitude 23, :gradient 36, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 37} {:x 39, :y 9, :state :house, :altitude 12, :gradient 35, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 38} {:x 40, :y 9, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 9, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 9, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 10, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 10, :state :water, :altitude 1, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 10, :state :house, :altitude 23, :gradient 35, :generation 103, :rule "if state is house and some neighbours are crop then state should be house", :fertility 24} {:x 19, :y 10, :state :grassland, :altitude 28, :gradient 18, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 35} {:x 20, :y 10, :state :climax, :altitude 28, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 21, :y 10, :state :climax, :altitude 28, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 22, :y 10, :state :ploughland, :altitude 23, :gradient 27, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 22} {:x 23, :y 10, :state :harbour, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 10, :state :pasture, :altitude 23, :gradient 35, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 40} {:x 25, :y 10, :state :pasture, :altitude 36, :gradient 27, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 26, :y 10, :state :pasture, :altitude 37, :gradient 28, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 27, :y 10, :state :climax, :altitude 26, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 28, :y 10, :state :water, :altitude 2, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 10, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 10, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 10, :state :pasture, :altitude 18, :gradient 26, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} {:x 37, :y 10, :state :pasture, :altitude 27, :gradient 25, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 37} {:x 38, :y 10, :state :scrub, :altitude 12, :gradient 26, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 79} {:x 39, :y 10, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 10, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 10, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 11, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 11, :state :grassland, :altitude 20, :gradient 35, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 12} {:x 19, :y 11, :state :grassland, :altitude 36, :gradient 22, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 51} {:x 20, :y 11, :state :forest, :altitude 32, :gradient 10, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 48} {:x 21, :y 11, :state :scrub, :altitude 27, :gradient 22, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 86} {:x 22, :y 11, :state :forest, :altitude 19, :gradient 30, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 58} {:x 23, :y 11, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 11, :state :house, :altitude 14, :gradient 35, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 65} {:x 25, :y 11, :state :forest, :altitude 22, :gradient 36, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 39} {:x 26, :y 11, :state :pasture, :altitude 20, :gradient 36, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 27, :y 11, :state :house, :altitude 13, :gradient 36, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 25} {:x 28, :y 11, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 11, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 11, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 11, :state :house, :altitude 15, :gradient 26, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 28} {:x 37, :y 11, :state :house, :altitude 18, :gradient 26, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 10} {:x 38, :y 11, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 11, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 11, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 12, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 12, :state :crop, :altitude 15, :gradient 35, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 55} {:x 19, :y 12, :state :house, :altitude 32, :gradient 22, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 50} {:x 20, :y 12, :state :grassland, :altitude 37, :gradient 12, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 54} {:x 21, :y 12, :state :inn, :altitude 31, :gradient 22, :generation 103, :rule "if state is in camp or abandoned and some neighbours are crop then state should be house", :fertility 30} {:x 22, :y 12, :state :market, :altitude 15, :gradient 30, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 24} {:x 23, :y 12, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 12, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 12, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 12, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 12, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 12, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 12, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 12, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 12, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 12, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 12, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 13, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 13, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 13, :state :climax, :altitude 22, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 19, :y 13, :state :climax, :altitude 27, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 20, :y 13, :state :grassland, :altitude 27, :gradient 24, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 21, :y 13, :state :house, :altitude 24, :gradient 24, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 13} {:x 22, :y 13, :state :house, :altitude 23, :gradient 30, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 30} {:x 23, :y 13, :state :house, :altitude 22, :gradient 28, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 24, :y 13, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 13, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 13, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 13, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 13, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 13, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 13, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 14, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 14, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 14, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 14, :state :forest, :altitude 15, :gradient 30, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 47} {:x 18, :y 14, :state :climax, :altitude 27, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 19, :y 14, :state :climax, :altitude 26, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 20, :y 14, :state :crop, :altitude 17, :gradient 18, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 45} {:x 21, :y 14, :state :crop, :altitude 13, :gradient 20, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 19} {:x 22, :y 14, :state :ploughland, :altitude 29, :gradient 23, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 23} {:x 23, :y 14, :state :house, :altitude 18, :gradient 28, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 49} {:x 24, :y 14, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 14, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 14, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 14, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 14, :state :house, :altitude 14, :gradient 39, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 44} {:x 33, :y 14, :state :climax, :altitude 22, :gradient 39, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} {:x 34, :y 14, :state :climax, :altitude 13, :gradient 39, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 35, :y 14, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 14, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 15, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 15, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 15, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 15, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 15, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 15, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 15, :state :water, :altitude 1, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 15, :state :climax, :altitude 13, :gradient 40, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 37} {:x 16, :y 15, :state :climax, :altitude 19, :gradient 44, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} {:x 17, :y 15, :state :climax, :altitude 31, :gradient 46, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 18, :y 15, :state :climax, :altitude 29, :gradient 32, :generation 103, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 43} {:x 19, :y 15, :state :scrub, :altitude 26, :gradient 33, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 57} {:x 20, :y 15, :state :pasture, :altitude 14, :gradient 36, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 27} {:x 21, :y 15, :state :water, :altitude 9, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 15, :state :grassland, :altitude 13, :gradient 28, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 27} {:x 23, :y 15, :state :water, :altitude 1, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 15, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 15, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 15, :state :water, :altitude 1, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 15, :state :scrub, :altitude 14, :gradient 31, :generation 103, :rule "if state is camp then 1 chance in 5 state should be waste", :fertility 72} {:x 31, :y 15, :state :grassland, :altitude 19, :gradient 32, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 54} {:x 32, :y 15, :state :climax, :altitude 31, :gradient 39, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 33, :y 15, :state :ploughland, :altitude 40, :gradient 20, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 42} {:x 34, :y 15, :state :climax, :altitude 23, :gradient 39, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 76} {:x 35, :y 15, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 15, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 16, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 16, :state :house, :altitude 18, :gradient 30, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 40} {:x 10, :y 16, :state :crop, :altitude 19, :gradient 35, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 33} {:x 11, :y 16, :state :climax, :altitude 20, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} {:x 12, :y 16, :state :climax, :altitude 18, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 13, :y 16, :state :scrub, :altitude 17, :gradient 34, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 74} {:x 14, :y 16, :state :scrub, :altitude 19, :gradient 51, :generation 103, :rule "if state is fire then state should be waste", :fertility 75} {:x 15, :y 16, :state :scrub, :altitude 35, :gradient 55, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 62} {:x 16, :y 16, :state :climax, :altitude 41, :gradient 43, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 41} {:x 17, :y 16, :state :climax, :altitude 45, :gradient 42, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 52} {:x 18, :y 16, :state :climax, :altitude 47, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} {:x 19, :y 16, :state :forest, :altitude 45, :gradient 47, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 65} {:x 20, :y 16, :state :climax, :altitude 35, :gradient 45, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 28} {:x 21, :y 16, :state :pasture, :altitude 19, :gradient 33, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} {:x 22, :y 16, :state :climax, :altitude 15, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 23, :y 16, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 16, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 16, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 16, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 16, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 16, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 16, :state :ploughland, :altitude 18, :gradient 31, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 85} {:x 30, :y 16, :state :ploughland, :altitude 32, :gradient 31, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 52} {:x 31, :y 16, :state :climax, :altitude 32, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 32, :y 16, :state :climax, :altitude 33, :gradient 21, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 33, :y 16, :state :climax, :altitude 32, :gradient 25, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 34, :y 16, :state :climax, :altitude 28, :gradient 39, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 35, :y 16, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 16, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 17, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 17, :state :crop, :altitude 26, :gradient 30, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 40} {:x 10, :y 17, :state :pasture, :altitude 31, :gradient 23, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 25} {:x 11, :y 17, :state :climax, :altitude 36, :gradient 17, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 12, :y 17, :state :heath, :altitude 35, :gradient 19, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 69} {:x 13, :y 17, :state :heath, :altitude 29, :gradient 18, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 54} {:x 14, :y 17, :state :scrub, :altitude 32, :gradient 35, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 63} {:x 15, :y 17, :state :scrub, :altitude 52, :gradient 37, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 51} {:x 16, :y 17, :state :climax, :altitude 56, :gradient 20, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 27} {:x 17, :y 17, :state :climax, :altitude 55, :gradient 20, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 18, :y 17, :state :climax, :altitude 61, :gradient 12, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 19, :y 17, :state :climax, :altitude 54, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 20, :y 17, :state :scrub, :altitude 42, :gradient 35, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 21, :y 17, :state :scrub, :altitude 31, :gradient 27, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 29} {:x 22, :y 17, :state :climax, :altitude 27, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 23, :y 17, :state :climax, :altitude 22, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 61} {:x 24, :y 17, :state :climax, :altitude 17, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 25, :y 17, :state :climax, :altitude 12, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 26, :y 17, :state :climax, :altitude 12, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} {:x 27, :y 17, :state :scrub, :altitude 12, :gradient 26, :generation 103, :rule "if state is fire then state should be waste", :fertility 57} {:x 28, :y 17, :state :heath, :altitude 13, :gradient 26, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 65} {:x 29, :y 17, :state :pasture, :altitude 23, :gradient 31, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 55} {:x 30, :y 17, :state :grassland, :altitude 31, :gradient 17, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 69} {:x 31, :y 17, :state :crop, :altitude 32, :gradient 16, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 48} {:x 32, :y 17, :state :crop, :altitude 29, :gradient 15, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 49} {:x 33, :y 17, :state :climax, :altitude 26, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 34, :y 17, :state :camp, :altitude 15, :gradient 31, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 46} {:x 35, :y 17, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 17, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 18, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 18, :state :house, :altitude 13, :gradient 30, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 31} {:x 10, :y 18, :state :crop, :altitude 19, :gradient 35, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 29} {:x 11, :y 18, :state :scrub, :altitude 27, :gradient 35, :generation 103, :rule "if state is fire then state should be waste", :fertility 64} {:x 12, :y 18, :state :heath, :altitude 31, :gradient 14, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 67} {:x 13, :y 18, :state :scrub, :altitude 31, :gradient 8, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 37} {:x 14, :y 18, :state :scrub, :altitude 31, :gradient 24, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 55} {:x 15, :y 18, :state :climax, :altitude 41, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} {:x 16, :y 18, :state :scrub, :altitude 49, :gradient 27, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 17, :y 18, :state :climax, :altitude 43, :gradient 24, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 18, :y 18, :state :climax, :altitude 47, :gradient 24, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 19, :y 18, :state :climax, :altitude 47, :gradient 25, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 45} {:x 20, :y 18, :state :forest, :altitude 40, :gradient 26, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 63} {:x 21, :y 18, :state :climax, :altitude 28, :gradient 16, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 32} {:x 22, :y 18, :state :climax, :altitude 27, :gradient 9, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 23, :y 18, :state :climax, :altitude 27, :gradient 10, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 24, :y 18, :state :climax, :altitude 27, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} {:x 25, :y 18, :state :climax, :altitude 22, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 24} {:x 26, :y 18, :state :climax, :altitude 23, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} {:x 27, :y 18, :state :climax, :altitude 23, :gradient 17, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 28, :y 18, :state :climax, :altitude 27, :gradient 17, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 43} {:x 29, :y 18, :state :pasture, :altitude 15, :gradient 19, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 43} {:x 30, :y 18, :state :scrub, :altitude 17, :gradient 20, :generation 103, :rule "if state is fire then state should be waste", :fertility 61} {:x 31, :y 18, :state :house, :altitude 18, :gradient 20, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 52} {:x 32, :y 18, :state :house, :altitude 27, :gradient 19, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 43} {:x 33, :y 18, :state :climax, :altitude 31, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 74} {:x 34, :y 18, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 18, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 18, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 19, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 19, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 19, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 19, :state :scrub, :altitude 22, :gradient 31, :generation 103, :rule "if state is fire then state should be waste", :fertility 28} {:x 12, :y 19, :state :scrub, :altitude 27, :gradient 14, :generation 103, :rule "if state is fire then state should be waste", :fertility 85} {:x 13, :y 19, :state :climax, :altitude 31, :gradient 9, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 70} {:x 14, :y 19, :state :scrub, :altitude 28, :gradient 12, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 15, :y 19, :state :forest, :altitude 29, :gradient 24, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 47} {:x 16, :y 19, :state :scrub, :altitude 37, :gradient 27, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 26} {:x 17, :y 19, :state :scrub, :altitude 41, :gradient 19, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 30} {:x 18, :y 19, :state :climax, :altitude 37, :gradient 20, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 19, :y 19, :state :heath, :altitude 38, :gradient 11, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 40} {:x 20, :y 19, :state :scrub, :altitude 36, :gradient 19, :generation 103, :rule "if state is fire then state should be waste", :fertility 51} {:x 21, :y 19, :state :climax, :altitude 28, :gradient 20, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 46} {:x 22, :y 19, :state :climax, :altitude 26, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} {:x 23, :y 19, :state :climax, :altitude 26, :gradient 3, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 24, :y 19, :state :climax, :altitude 27, :gradient 6, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 41} {:x 25, :y 19, :state :climax, :altitude 27, :gradient 11, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 32} {:x 26, :y 19, :state :forest, :altitude 22, :gradient 11, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 41} {:x 27, :y 19, :state :climax, :altitude 24, :gradient 19, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 40} {:x 28, :y 19, :state :climax, :altitude 29, :gradient 21, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 29, :y 19, :state :heath, :altitude 22, :gradient 24, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 61} {:x 30, :y 19, :state :scrub, :altitude 12, :gradient 22, :generation 103, :rule "if state is fire then state should be waste", :fertility 45} {:x 31, :y 19, :state :crop, :altitude 13, :gradient 21, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 52} {:x 32, :y 19, :state :grassland, :altitude 15, :gradient 32, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 38} {:x 33, :y 19, :state :house, :altitude 17, :gradient 30, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 47} {:x 34, :y 19, :state :water, :altitude 1, :gradient 30, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 19, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 20, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 20, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 20, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 20, :state :climax, :altitude 23, :gradient 44, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 12, :y 20, :state :heath, :altitude 32, :gradient 37, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 63} {:x 13, :y 20, :state :climax, :altitude 36, :gradient 32, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 44} {:x 14, :y 20, :state :heath, :altitude 35, :gradient 31, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 47} {:x 15, :y 20, :state :scrub, :altitude 37, :gradient 36, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 65} {:x 16, :y 20, :state :scrub, :altitude 52, :gradient 36, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 75} {:x 17, :y 20, :state :scrub, :altitude 56, :gradient 28, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} {:x 18, :y 20, :state :scrub, :altitude 43, :gradient 29, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 40} {:x 19, :y 20, :state :scrub, :altitude 36, :gradient 14, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 20, :y 20, :state :climax, :altitude 46, :gradient 13, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 21, :y 20, :state :climax, :altitude 41, :gradient 20, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 22, :y 20, :state :climax, :altitude 29, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 23, :y 20, :state :scrub, :altitude 26, :gradient 3, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 45} {:x 24, :y 20, :state :climax, :altitude 28, :gradient 3, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} {:x 25, :y 20, :state :climax, :altitude 28, :gradient 18, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} {:x 26, :y 20, :state :climax, :altitude 17, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 27, :y 20, :state :climax, :altitude 20, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} {:x 28, :y 20, :state :scrub, :altitude 36, :gradient 15, :generation 103, :rule "if state is fire then state should be waste", :fertility 38} {:x 29, :y 20, :state :scrub, :altitude 35, :gradient 24, :generation 103, :rule "if state is fire then state should be waste", :fertility 49} {:x 30, :y 20, :state :climax, :altitude 28, :gradient 23, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 86} {:x 31, :y 20, :state :climax, :altitude 33, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 32, :y 20, :state :climax, :altitude 15, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 33, :y 20, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 20, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 20, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 21, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 21, :state :climax, :altitude 12, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 10, :y 21, :state :forest, :altitude 12, :gradient 26, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 60} {:x 11, :y 21, :state :scrub, :altitude 24, :gradient 44, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 12, :y 21, :state :climax, :altitude 45, :gradient 36, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 40} {:x 13, :y 21, :state :forest, :altitude 59, :gradient 27, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 64} {:x 14, :y 21, :state :climax, :altitude 50, :gradient 24, :generation 103, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 55} {:x 15, :y 21, :state :scrub, :altitude 49, :gradient 38, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 76} {:x 16, :y 21, :state :climax, :altitude 64, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} {:x 17, :y 21, :state :scrub, :altitude 65, :gradient 34, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 18, :y 21, :state :climax, :altitude 50, :gradient 41, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} {:x 19, :y 21, :state :heath, :altitude 38, :gradient 19, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 49} {:x 20, :y 21, :state :climax, :altitude 38, :gradient 10, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 64} {:x 21, :y 21, :state :scrub, :altitude 38, :gradient 17, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} {:x 22, :y 21, :state :climax, :altitude 29, :gradient 15, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 23, :y 21, :state :climax, :altitude 27, :gradient 5, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 56} {:x 24, :y 21, :state :climax, :altitude 28, :gradient 7, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} {:x 25, :y 21, :state :climax, :altitude 29, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 30} {:x 26, :y 21, :state :climax, :altitude 35, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 36} {:x 27, :y 21, :state :climax, :altitude 28, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 28, :y 21, :state :climax, :altitude 28, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} {:x 29, :y 21, :state :climax, :altitude 27, :gradient 35, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 70} {:x 30, :y 21, :state :climax, :altitude 23, :gradient 34, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 44} {:x 31, :y 21, :state :camp, :altitude 22, :gradient 32, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 47} {:x 32, :y 21, :state :water, :altitude 2, :gradient 32, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 21, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 21, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 22, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 22, :state :pasture, :altitude 23, :gradient 26, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 48} {:x 10, :y 22, :state :scrub, :altitude 27, :gradient 15, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 71} {:x 11, :y 22, :state :scrub, :altitude 27, :gradient 33, :generation 103, :rule "if state is fire then state should be waste", :fertility 40} {:x 12, :y 22, :state :heath, :altitude 40, :gradient 35, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 70} {:x 13, :y 22, :state :scrub, :altitude 59, :gradient 32, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 37} {:x 14, :y 22, :state :climax, :altitude 54, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 33} {:x 15, :y 22, :state :scrub, :altitude 54, :gradient 35, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 70} {:x 16, :y 22, :state :climax, :altitude 73, :gradient 34, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 75} {:x 17, :y 22, :state :forest, :altitude 77, :gradient 23, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} {:x 18, :y 22, :state :climax, :altitude 55, :gradient 39, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 19, :y 22, :state :climax, :altitude 42, :gradient 17, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 60} {:x 20, :y 22, :state :scrub, :altitude 40, :gradient 15, :generation 103, :rule "if state is fire then state should be waste", :fertility 51} {:x 21, :y 22, :state :climax, :altitude 36, :gradient 22, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 31} {:x 22, :y 22, :state :climax, :altitude 31, :gradient 14, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 76} {:x 23, :y 22, :state :climax, :altitude 29, :gradient 9, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 49} {:x 24, :y 22, :state :climax, :altitude 28, :gradient 7, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 25, :y 22, :state :climax, :altitude 33, :gradient 10, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 26, :y 22, :state :pasture, :altitude 36, :gradient 8, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 11} {:x 27, :y 22, :state :pasture, :altitude 28, :gradient 22, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 23} {:x 28, :y 22, :state :climax, :altitude 14, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} {:x 29, :y 22, :state :harbour, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 22, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 22, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 22, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 22, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 22, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 23, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 23, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 23, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 23, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 23, :state :pasture, :altitude 15, :gradient 26, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 34} {:x 10, :y 23, :state :scrub, :altitude 27, :gradient 25, :generation 103, :rule "if state is fire then state should be waste", :fertility 52} {:x 11, :y 23, :state :heath, :altitude 27, :gradient 18, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 74} {:x 12, :y 23, :state :scrub, :altitude 27, :gradient 32, :generation 103, :rule "if state is fire then state should be waste", :fertility 47} {:x 13, :y 23, :state :scrub, :altitude 32, :gradient 32, :generation 103, :rule "if state is fire then state should be waste", :fertility 56} {:x 14, :y 23, :state :scrub, :altitude 38, :gradient 27, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 15, :y 23, :state :scrub, :altitude 43, :gradient 35, :generation 103, :rule "if state is fire then state should be waste", :fertility 67} {:x 16, :y 23, :state :climax, :altitude 57, :gradient 36, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 17, :y 23, :state :climax, :altitude 69, :gradient 25, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 38} {:x 18, :y 23, :state :scrub, :altitude 54, :gradient 37, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} {:x 19, :y 23, :state :climax, :altitude 50, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 20, :y 23, :state :scrub, :altitude 51, :gradient 15, :generation 103, :rule "if state is fire then state should be waste", :fertility 52} {:x 21, :y 23, :state :heath, :altitude 41, :gradient 22, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 64} {:x 22, :y 23, :state :scrub, :altitude 35, :gradient 13, :generation 103, :rule "if state is fire then state should be waste", :fertility 68} {:x 23, :y 23, :state :climax, :altitude 31, :gradient 16, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 38} {:x 24, :y 23, :state :climax, :altitude 26, :gradient 19, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 25, :y 23, :state :climax, :altitude 29, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} {:x 26, :y 23, :state :pasture, :altitude 29, :gradient 22, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} {:x 27, :y 23, :state :climax, :altitude 27, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 28, :y 23, :state :climax, :altitude 26, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 29, :y 23, :state :camp, :altitude 12, :gradient 25, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 24} {:x 30, :y 23, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 23, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 24, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 24, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 24, :state :water, :altitude 2, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 24, :state :house, :altitude 14, :gradient 28, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 32} {:x 8, :y 24, :state :climax, :altitude 14, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 9, :y 24, :state :grassland, :altitude 12, :gradient 28, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 29} {:x 10, :y 24, :state :climax, :altitude 22, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 11, :y 24, :state :climax, :altitude 37, :gradient 37, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 12, :y 24, :state :climax, :altitude 37, :gradient 34, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 31} {:x 13, :y 24, :state :climax, :altitude 36, :gradient 34, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 51} {:x 14, :y 24, :state :scrub, :altitude 41, :gradient 45, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 40} {:x 15, :y 24, :state :heath, :altitude 54, :gradient 56, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 46} {:x 16, :y 24, :state :climax, :altitude 64, :gradient 51, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 17, :y 24, :state :forest, :altitude 79, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 18, :y 24, :state :climax, :altitude 69, :gradient 43, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 19, :y 24, :state :forest, :altitude 51, :gradient 37, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 58} {:x 20, :y 24, :state :climax, :altitude 43, :gradient 20, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 43} {:x 21, :y 24, :state :forest, :altitude 37, :gradient 24, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 30} {:x 22, :y 24, :state :scrub, :altitude 29, :gradient 24, :generation 103, :rule "if state is fire then state should be waste", :fertility 67} {:x 23, :y 24, :state :climax, :altitude 28, :gradient 33, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 24, :y 24, :state :climax, :altitude 19, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 25, :y 24, :state :climax, :altitude 14, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 26, :y 24, :state :climax, :altitude 22, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 27, :y 24, :state :climax, :altitude 20, :gradient 28, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 28, :y 24, :state :house, :altitude 20, :gradient 26, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 43} {:x 29, :y 24, :state :water, :altitude 2, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 24, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 24, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 25, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 25, :state :house, :altitude 12, :gradient 44, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 16} {:x 6, :y 25, :state :climax, :altitude 24, :gradient 51, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 7, :y 25, :state :crop, :altitude 29, :gradient 50, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 27} {:x 8, :y 25, :state :house, :altitude 29, :gradient 40, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 20} {:x 9, :y 25, :state :grassland, :altitude 26, :gradient 34, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 48} {:x 10, :y 25, :state :climax, :altitude 26, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 11, :y 25, :state :climax, :altitude 41, :gradient 37, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} {:x 12, :y 25, :state :climax, :altitude 59, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 13, :y 25, :state :scrub, :altitude 61, :gradient 27, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 14, :y 25, :state :scrub, :altitude 59, :gradient 41, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 73} {:x 15, :y 25, :state :forest, :altitude 77, :gradient 55, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 48} {:x 16, :y 25, :state :forest, :altitude 94, :gradient 42, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 17, :y 25, :state :scrub, :altitude 93, :gradient 35, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 18, :y 25, :state :forest, :altitude 79, :gradient 52, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 43} {:x 19, :y 25, :state :scrub, :altitude 55, :gradient 48, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 42} {:x 20, :y 25, :state :climax, :altitude 42, :gradient 27, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 49} {:x 21, :y 25, :state :scrub, :altitude 35, :gradient 19, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 54} {:x 22, :y 25, :state :climax, :altitude 27, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 23, :y 25, :state :climax, :altitude 17, :gradient 28, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 72} {:x 24, :y 25, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 25, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 25, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 25, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 25, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 25, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 25, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 25, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 26, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 26, :state :climax, :altitude 20, :gradient 51, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 6, :y 26, :state :crop, :altitude 45, :gradient 65, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 22} {:x 7, :y 26, :state :grassland, :altitude 52, :gradient 62, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 37} {:x 8, :y 26, :state :grassland, :altitude 46, :gradient 60, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 9, :y 26, :state :grassland, :altitude 31, :gradient 60, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 29} {:x 10, :y 26, :state :pasture, :altitude 28, :gradient 37, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 60} {:x 11, :y 26, :state :scrub, :altitude 37, :gradient 33, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 50} {:x 12, :y 26, :state :scrub, :altitude 55, :gradient 30, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 25} {:x 13, :y 26, :state :scrub, :altitude 63, :gradient 28, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 18} {:x 14, :y 26, :state :climax, :altitude 60, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 77} {:x 15, :y 26, :state :forest, :altitude 74, :gradient 49, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 16, :y 26, :state :scrub, :altitude 96, :gradient 44, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 17, :y 26, :state :forest, :altitude 77, :gradient 58, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 74} {:x 18, :y 26, :state :pasture, :altitude 61, :gradient 65, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 56} {:x 19, :y 26, :state :climax, :altitude 41, :gradient 52, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 58} {:x 20, :y 26, :state :pasture, :altitude 31, :gradient 28, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 60} {:x 21, :y 26, :state :scrub, :altitude 28, :gradient 22, :generation 103, :rule "if state is fire then state should be waste", :fertility 64} {:x 22, :y 26, :state :pasture, :altitude 24, :gradient 34, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 74} {:x 23, :y 26, :state :water, :altitude 2, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 26, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 26, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 26, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 27, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 27, :state :water, :altitude 1, :gradient 35, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 27, :state :climax, :altitude 22, :gradient 51, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 6, :y 27, :state :climax, :altitude 52, :gradient 57, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 7, :y 27, :state :pasture, :altitude 77, :gradient 41, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 50} {:x 8, :y 27, :state :heath, :altitude 86, :gradient 48, :generation 103, :rule "if state is waste and some neighbours are scrub then state should be heath", :fertility 50} {:x 9, :y 27, :state :climax, :altitude 63, :gradient 58, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 49} {:x 10, :y 27, :state :pasture, :altitude 38, :gradient 50, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 48} {:x 11, :y 27, :state :scrub, :altitude 33, :gradient 30, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 48} {:x 12, :y 27, :state :scrub, :altitude 33, :gradient 37, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 75} {:x 13, :y 27, :state :climax, :altitude 47, :gradient 37, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 14, :y 27, :state :scrub, :altitude 47, :gradient 41, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 60} {:x 15, :y 27, :state :pasture, :altitude 50, :gradient 63, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 64} {:x 16, :y 27, :state :crop, :altitude 64, :gradient 63, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 32} {:x 17, :y 27, :state :crop, :altitude 55, :gradient 58, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 58} {:x 18, :y 27, :state :crop, :altitude 38, :gradient 49, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 31} {:x 19, :y 27, :state :climax, :altitude 28, :gradient 34, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 20, :y 27, :state :climax, :altitude 27, :gradient 15, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 75} {:x 21, :y 27, :state :climax, :altitude 27, :gradient 16, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 22, :y 27, :state :pasture, :altitude 20, :gradient 27, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 23, :y 27, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 27, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 27, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 28, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 28, :state :house, :altitude 14, :gradient 35, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 25} {:x 5, :y 28, :state :crop, :altitude 36, :gradient 51, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 38} {:x 6, :y 28, :state :climax, :altitude 52, :gradient 55, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} {:x 7, :y 28, :state :forest, :altitude 70, :gradient 46, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 8, :y 28, :state :scrub, :altitude 79, :gradient 46, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 59} {:x 9, :y 28, :state :scrub, :altitude 78, :gradient 48, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 29} {:x 10, :y 28, :state :climax, :altitude 56, :gradient 45, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 51} {:x 11, :y 28, :state :scrub, :altitude 35, :gradient 30, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} {:x 12, :y 28, :state :climax, :altitude 26, :gradient 23, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} {:x 13, :y 28, :state :climax, :altitude 33, :gradient 23, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 46} {:x 14, :y 28, :state :pasture, :altitude 37, :gradient 26, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 56} {:x 15, :y 28, :state :pasture, :altitude 33, :gradient 36, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 62} {:x 16, :y 28, :state :crop, :altitude 40, :gradient 31, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 35} {:x 17, :y 28, :state :house, :altitude 50, :gradient 26, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 43} {:x 18, :y 28, :state :pasture, :altitude 42, :gradient 27, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 19, :y 28, :state :house, :altitude 37, :gradient 15, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 19} {:x 20, :y 28, :state :ploughland, :altitude 33, :gradient 16, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 30} {:x 21, :y 28, :state :pasture, :altitude 26, :gradient 36, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 19} {:x 22, :y 28, :state :house, :altitude 17, :gradient 26, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 14} {:x 23, :y 28, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 28, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 29, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 29, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 29, :state :ploughland, :altitude 12, :gradient 35, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 31} {:x 5, :y 29, :state :grassland, :altitude 32, :gradient 40, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 44} {:x 6, :y 29, :state :heath, :altitude 41, :gradient 42, :generation 103, :rule "if state is waste and some neighbours are forest then state should be heath", :fertility 62} {:x 7, :y 29, :state :scrub, :altitude 40, :gradient 51, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 32} {:x 8, :y 29, :state :scrub, :altitude 50, :gradient 52, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 58} {:x 9, :y 29, :state :scrub, :altitude 60, :gradient 52, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 62} {:x 10, :y 29, :state :climax, :altitude 52, :gradient 51, :generation 103, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 67} {:x 11, :y 29, :state :climax, :altitude 35, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 71} {:x 12, :y 29, :state :scrub, :altitude 26, :gradient 22, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 59} {:x 13, :y 29, :state :scrub, :altitude 24, :gradient 24, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 49} {:x 14, :y 29, :state :pasture, :altitude 28, :gradient 24, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 67} {:x 15, :y 29, :state :house, :altitude 33, :gradient 19, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 47} {:x 16, :y 29, :state :ploughland, :altitude 43, :gradient 17, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 18} {:x 17, :y 29, :state :house, :altitude 49, :gradient 21, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 21} {:x 18, :y 29, :state :grassland, :altitude 41, :gradient 23, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 13} {:x 19, :y 29, :state :inn, :altitude 38, :gradient 15, :generation 103, :rule "if state is house and some neighbours are market and more than 1 neighbours are house then 1 chance in 5 state should be inn", :fertility 34} {:x 20, :y 29, :state :crop, :altitude 37, :gradient 36, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 25} {:x 21, :y 29, :state :grassland, :altitude 22, :gradient 36, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 18} {:x 22, :y 29, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 29, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 29, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 30, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 30, :state :house, :altitude 12, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 17} {:x 4, :y 30, :state :ploughland, :altitude 28, :gradient 31, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 20} {:x 5, :y 30, :state :climax, :altitude 31, :gradient 29, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 6, :y 30, :state :climax, :altitude 28, :gradient 13, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} {:x 7, :y 30, :state :scrub, :altitude 28, :gradient 23, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 52} {:x 8, :y 30, :state :climax, :altitude 37, :gradient 34, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 83} {:x 9, :y 30, :state :forest, :altitude 27, :gradient 42, :generation 103, :rule "if state is scrub then 1 chance in 5 state should be forest", :fertility 64} {:x 10, :y 30, :state :climax, :altitude 28, :gradient 47, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 28} {:x 11, :y 30, :state :climax, :altitude 32, :gradient 42, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 47} {:x 12, :y 30, :state :climax, :altitude 28, :gradient 26, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 58} {:x 13, :y 30, :state :pasture, :altitude 13, :gradient 19, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 74} {:x 14, :y 30, :state :pasture, :altitude 24, :gradient 24, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 44} {:x 15, :y 30, :state :scrub, :altitude 33, :gradient 30, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 66} {:x 16, :y 30, :state :house, :altitude 35, :gradient 36, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 32} {:x 17, :y 30, :state :pasture, :altitude 36, :gradient 36, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 18, :y 30, :state :house, :altitude 29, :gradient 47, :generation 103, :rule "if state is house and some neighbours are pasture then state should be house", :fertility 28} {:x 19, :y 30, :state :market, :altitude 27, :gradient 40, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 12} {:x 20, :y 30, :state :house, :altitude 27, :gradient 37, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 21, :y 30, :state :water, :altitude 2, :gradient 36, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 30, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 30, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 31, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 31, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 31, :state :harbour, :altitude 1, :gradient 35, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 31, :state :ploughland, :altitude 24, :gradient 44, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 35} {:x 5, :y 31, :state :climax, :altitude 29, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 64} {:x 6, :y 31, :state :climax, :altitude 31, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 75} {:x 7, :y 31, :state :heath, :altitude 28, :gradient 23, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 45} {:x 8, :y 31, :state :scrub, :altitude 27, :gradient 19, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 68} {:x 9, :y 31, :state :scrub, :altitude 26, :gradient 19, :generation 103, :rule "if state is fire then state should be waste", :fertility 68} {:x 10, :y 31, :state :scrub, :altitude 18, :gradient 19, :generation 103, :rule "if state is heath and altitude is less than 120 then state should be scrub", :fertility 45} {:x 11, :y 31, :state :heath, :altitude 13, :gradient 22, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 48} {:x 12, :y 31, :state :scrub, :altitude 10, :gradient 23, :generation 103, :rule "if state is fire then state should be waste", :fertility 66} {:x 13, :y 31, :state :water, :altitude 9, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 31, :state :pasture, :altitude 23, :gradient 32, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 59} {:x 15, :y 31, :state :pasture, :altitude 17, :gradient 34, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} {:x 16, :y 31, :state :scrub, :altitude 13, :gradient 35, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 59} {:x 17, :y 31, :state :ploughland, :altitude 14, :gradient 35, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 21} {:x 18, :y 31, :state :house, :altitude 14, :gradient 35, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 19, :y 31, :state :water, :altitude 2, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 31, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 31, :state :water, :altitude 1, :gradient 26, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 31, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 31, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 32, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 32, :state :camp, :altitude 17, :gradient 31, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 56} {:x 3, :y 32, :state :climax, :altitude 22, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 92} {:x 4, :y 32, :state :climax, :altitude 36, :gradient 44, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 70} {:x 5, :y 32, :state :climax, :altitude 45, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 25} {:x 6, :y 32, :state :climax, :altitude 50, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 7, :y 32, :state :heath, :altitude 45, :gradient 29, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 44} {:x 8, :y 32, :state :heath, :altitude 35, :gradient 30, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 46} {:x 9, :y 32, :state :scrub, :altitude 32, :gradient 38, :generation 103, :rule "if state is fire then state should be waste", :fertility 27} {:x 10, :y 32, :state :climax, :altitude 24, :gradient 25, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 11, :y 32, :state :climax, :altitude 19, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 12, :y 32, :state :scrub, :altitude 20, :gradient 23, :generation 103, :rule "if state is fire then state should be waste", :fertility 77} {:x 13, :y 32, :state :climax, :altitude 20, :gradient 23, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 36} {:x 14, :y 32, :state :pasture, :altitude 14, :gradient 30, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 49} {:x 15, :y 32, :state :harbour, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 32, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 32, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 32, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 32, :state :water, :altitude 1, :gradient 13, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 32, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 32, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 33, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 33, :state :climax, :altitude 26, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 3, :y 33, :state :climax, :altitude 32, :gradient 24, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 4, :y 33, :state :climax, :altitude 33, :gradient 33, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 5, :y 33, :state :climax, :altitude 41, :gradient 35, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 63} {:x 6, :y 33, :state :scrub, :altitude 46, :gradient 38, :generation 103, :rule "if state is fire then state should be waste", :fertility 73} {:x 7, :y 33, :state :climax, :altitude 55, :gradient 38, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 53} {:x 8, :y 33, :state :scrub, :altitude 56, :gradient 32, :generation 103, :rule "if state is fire then state should be waste", :fertility 48} {:x 9, :y 33, :state :climax, :altitude 38, :gradient 44, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 55} {:x 10, :y 33, :state :climax, :altitude 27, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 11, :y 33, :state :climax, :altitude 31, :gradient 20, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} {:x 12, :y 33, :state :climax, :altitude 32, :gradient 17, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 47} {:x 13, :y 33, :state :climax, :altitude 31, :gradient 18, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 14, :y 33, :state :pasture, :altitude 26, :gradient 30, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 32} {:x 15, :y 33, :state :pasture, :altitude 12, :gradient 25, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 24} {:x 16, :y 33, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 33, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 33, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 34, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 34, :state :climax, :altitude 12, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 90} {:x 3, :y 34, :state :climax, :altitude 12, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 45} {:x 4, :y 34, :state :climax, :altitude 15, :gradient 40, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 5, :y 34, :state :climax, :altitude 17, :gradient 45, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 6, :y 34, :state :climax, :altitude 18, :gradient 38, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 78} {:x 7, :y 34, :state :climax, :altitude 29, :gradient 38, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} {:x 8, :y 34, :state :climax, :altitude 36, :gradient 33, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 67} {:x 9, :y 34, :state :climax, :altitude 23, :gradient 44, :generation 103, :rule "if state is in forest or climax or camp or house or inn and some neighbours are fire then 1 chance in 3 state should be fire", :fertility 61} {:x 10, :y 34, :state :climax, :altitude 12, :gradient 24, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 11, :y 34, :state :climax, :altitude 14, :gradient 20, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 59} {:x 12, :y 34, :state :climax, :altitude 17, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 57} {:x 13, :y 34, :state :climax, :altitude 18, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 63} {:x 14, :y 34, :state :climax, :altitude 18, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 85} {:x 15, :y 34, :state :climax, :altitude 23, :gradient 25, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 52} {:x 16, :y 34, :state :house, :altitude 18, :gradient 22, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 17, :y 34, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 34, :state :water, :altitude 1, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 34, :state :water, :altitude 1, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 34, :state :water, :altitude 1, :gradient 31, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 34, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 34, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 35, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 35, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 35, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 35, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 35, :state :ploughland, :altitude 22, :gradient 36, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 49} {:x 6, :y 35, :state :ploughland, :altitude 24, :gradient 20, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 40} {:x 7, :y 35, :state :pasture, :altitude 26, :gradient 19, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 49} {:x 8, :y 35, :state :climax, :altitude 26, :gradient 13, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 9, :y 35, :state :climax, :altitude 27, :gradient 24, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 10, :y 35, :state :climax, :altitude 24, :gradient 21, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 50} {:x 11, :y 35, :state :climax, :altitude 27, :gradient 21, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 39} {:x 12, :y 35, :state :climax, :altitude 22, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 62} {:x 13, :y 35, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 35, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 35, :state :climax, :altitude 13, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 16, :y 35, :state :climax, :altitude 12, :gradient 22, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 17, :y 35, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 35, :state :climax, :altitude 17, :gradient 48, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 91} {:x 19, :y 35, :state :climax, :altitude 32, :gradient 48, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 20, :y 35, :state :climax, :altitude 26, :gradient 48, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 54} {:x 21, :y 35, :state :water, :altitude 1, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 35, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 36, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 36, :state :house, :altitude 24, :gradient 36, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 42} {:x 6, :y 36, :state :scrub, :altitude 37, :gradient 22, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 39} {:x 7, :y 36, :state :crop, :altitude 32, :gradient 13, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 35} {:x 8, :y 36, :state :grassland, :altitude 27, :gradient 9, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 39} {:x 9, :y 36, :state :climax, :altitude 32, :gradient 7, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 10, :y 36, :state :climax, :altitude 31, :gradient 10, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 66} {:x 11, :y 36, :state :climax, :altitude 33, :gradient 13, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 12, :y 36, :state :climax, :altitude 26, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 72} {:x 13, :y 36, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 36, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 36, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 36, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 36, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 36, :state :climax, :altitude 19, :gradient 48, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 19, :y 36, :state :climax, :altitude 49, :gradient 18, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 79} {:x 20, :y 36, :state :climax, :altitude 35, :gradient 48, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 83} {:x 21, :y 36, :state :water, :altitude 1, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 36, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 37, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 37, :state :house, :altitude 13, :gradient 36, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 34} {:x 6, :y 37, :state :crop, :altitude 35, :gradient 35, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 20} {:x 7, :y 37, :state :house, :altitude 35, :gradient 19, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 49} {:x 8, :y 37, :state :house, :altitude 28, :gradient 23, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 34} {:x 9, :y 37, :state :climax, :altitude 27, :gradient 30, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 10, :y 37, :state :climax, :altitude 29, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 11, :y 37, :state :climax, :altitude 23, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 40} {:x 12, :y 37, :state :heath, :altitude 18, :gradient 32, :generation 103, :rule "if state is waste and some neighbours are climax then state should be heath", :fertility 50} {:x 13, :y 37, :state :water, :altitude 1, :gradient 25, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 37, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 37, :state :climax, :altitude 17, :gradient 48, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 95} {:x 19, :y 37, :state :climax, :altitude 33, :gradient 47, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 20, :y 37, :state :camp, :altitude 23, :gradient 48, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp"} {:x 21, :y 37, :state :water, :altitude 1, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 37, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 38, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 38, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 38, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 38, :state :water, :altitude 2, :gradient 34, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 38, :state :house, :altitude 19, :gradient 34, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 28} {:x 7, :y 38, :state :grassland, :altitude 19, :gradient 34, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 20} {:x 8, :y 38, :state :pasture, :altitude 18, :gradient 34, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 41} {:x 9, :y 38, :state :market, :altitude 12, :gradient 27, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 20} {:x 10, :y 38, :state :harbour, :altitude 2, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 38, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 38, :state :water, :altitude 2, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 38, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 38, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 38, :state :camp, :altitude 12, :gradient 32, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 15} {:x 19, :y 38, :state :climax, :altitude 17, :gradient 32, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 86} {:x 20, :y 38, :state :water, :altitude 2, :gradient 32, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 38, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 38, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 39, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 39, :state :climax, :altitude 12, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 4, :y 39, :state :house, :altitude 19, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 5, :y 39, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 39, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 39, :state :harbour, :altitude 1, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 39, :state :pasture, :altitude 15, :gradient 48, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 26} {:x 9, :y 39, :state :inn, :altitude 26, :gradient 47, :generation 103, :rule "if state is house and some neighbours are crop then state should be house", :fertility 43} {:x 10, :y 39, :state :camp, :altitude 26, :gradient 48, :generation 103, :rule "if state is in waste or grassland and some neighbours are market then state should be camp", :fertility 49} {:x 11, :y 39, :state :crop, :altitude 23, :gradient 48, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 52} {:x 12, :y 39, :state :house, :altitude 13, :gradient 41, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 58} {:x 13, :y 39, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 39, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 39, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 39, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 39, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 39, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 39, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 39, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 40, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 40, :state :pasture, :altitude 13, :gradient 27, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 10} {:x 4, :y 40, :state :ploughland, :altitude 28, :gradient 26, :generation 103, :rule "if state is pasture and fertility is more than 10 and altitude is less than 100 and some neighbours are camp or some neighbours are house then state should be ploughland", :fertility 12} {:x 5, :y 40, :state :house, :altitude 14, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 15} {:x 6, :y 40, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 40, :state :house, :altitude 15, :gradient 28, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 39} {:x 8, :y 40, :state :house, :altitude 29, :gradient 49, :generation 103, :rule "if state is house and some neighbours are market then state should be house", :fertility 37} {:x 9, :y 40, :state :grassland, :altitude 49, :gradient 46, :generation 103, :rule "if state is market then state should be grassland", :fertility 9} {:x 10, :y 40, :state :climax, :altitude 49, :gradient 38, :generation 103, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 68} {:x 11, :y 40, :state :grassland, :altitude 42, :gradient 48, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 46} {:x 12, :y 40, :state :pasture, :altitude 28, :gradient 50, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 77} {:x 13, :y 40, :state :grassland, :altitude 18, :gradient 34, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 49} {:x 14, :y 40, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 40, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 41, :state :water, :altitude 1, :gradient 12, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 41, :state :climax, :altitude 12, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 82} {:x 4, :y 41, :state :climax, :altitude 28, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 65} {:x 5, :y 41, :state :scrub, :altitude 18, :gradient 27, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 17} {:x 6, :y 41, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 41, :state :house, :altitude 14, :gradient 28, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 8, :y 41, :state :scrub, :altitude 29, :gradient 49, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 62} {:x 9, :y 41, :state :house, :altitude 50, :gradient 37, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 38} {:x 10, :y 41, :state :scrub, :altitude 61, :gradient 19, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 54} {:x 11, :y 41, :state :scrub, :altitude 51, :gradient 33, :generation 103, :rule "if state is in climax and more than 3 neighbours within 2 are house then state should be scrub", :fertility 53} {:x 12, :y 41, :state :climax, :altitude 35, :gradient 33, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 13, :y 41, :state :pasture, :altitude 20, :gradient 34, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 75} {:x 14, :y 41, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 41, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 41, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 42, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 42, :state :water, :altitude 1, :gradient 11, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 42, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 42, :state :camp, :altitude 14, :gradient 27, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 21} {:x 5, :y 42, :state :house, :altitude 12, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 22} {:x 6, :y 42, :state :water, :altitude 1, :gradient 17, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 42, :state :water, :altitude 1, :gradient 28, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 42, :state :climax, :altitude 24, :gradient 49, :generation 103, :rule "if state is forest and fertility is more than 5 and altitude is less than 70 then state should be climax", :fertility 36} {:x 9, :y 42, :state :crop, :altitude 32, :gradient 47, :generation 103, :rule "if state is ploughland then state should be crop", :fertility 20} {:x 10, :y 42, :state :house, :altitude 40, :gradient 41, :generation 103, :rule "if state is house and some neighbours are ploughland then state should be house", :fertility 18} {:x 11, :y 42, :state :grassland, :altitude 40, :gradient 33, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 33} {:x 12, :y 42, :state :pasture, :altitude 32, :gradient 31, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 52} {:x 13, :y 42, :state :climax, :altitude 23, :gradient 34, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 73} {:x 14, :y 42, :state :water, :altitude 2, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 42, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 42, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 43, :state :water, :altitude 1, :gradient 16, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 43, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 3, :y 43, :state :water, :altitude 2, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 4, :y 43, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 43, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 43, :state :water, :altitude 2, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 43, :state :water, :altitude 1, :gradient 23, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 43, :state :house, :altitude 14, :gradient 31, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 38} {:x 9, :y 43, :state :pasture, :altitude 20, :gradient 39, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 29} {:x 10, :y 43, :state :grassland, :altitude 28, :gradient 39, :generation 103, :rule "if state is crop then state should be grassland and fertility should be fertility - 1", :fertility 30} {:x 11, :y 43, :state :pasture, :altitude 28, :gradient 23, :generation 103, :rule "if state is in grassland or heath and some neighbours within 2 are house then state should be pasture", :fertility 50} {:x 12, :y 43, :state :climax, :altitude 28, :gradient 25, :generation 103, :rule "if state is climax then 1 chance in 500 state should be fire", :fertility 73} {:x 13, :y 43, :state :climax, :altitude 23, :gradient 31, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 81} {:x 14, :y 43, :state :water, :altitude 2, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 43, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 43, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 44, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 44, :state :house, :altitude 17, :gradient 36, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 6} {:x 3, :y 44, :state :camp, :altitude 28, :gradient 36, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 20} {:x 4, :y 44, :state :water, :altitude 2, :gradient 36, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 44, :state :camp, :altitude 12, :gradient 21, :generation 103, :rule "if state is in grassland or heath and more than 3 neighbours are water and generation is more than 20 then state should be camp", :fertility 47} {:x 6, :y 44, :state :climax, :altitude 22, :gradient 14, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 95} {:x 7, :y 44, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 44, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 44, :state :water, :altitude 1, :gradient 27, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 44, :state :house, :altitude 20, :gradient 27, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house", :fertility 36} {:x 11, :y 44, :state :climax, :altitude 17, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 69} {:x 12, :y 44, :state :climax, :altitude 22, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 88} {:x 13, :y 44, :state :climax, :altitude 15, :gradient 27, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 88} {:x 14, :y 44, :state :water, :altitude 1, :gradient 22, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 44, :state :water, :altitude 1, :gradient 1, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 44, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 45, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 45, :state :climax, :altitude 19, :gradient 36, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 84} {:x 3, :y 45, :state :climax, :altitude 37, :gradient 26, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 68} {:x 4, :y 45, :state :climax, :altitude 14, :gradient 36, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 78} {:x 5, :y 45, :state :harbour, :altitude 2, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 45, :state :house, :altitude 15, :gradient 21, :generation 103, :rule "if state is house and more than 2 neighbours are water then state should be house"} {:x 7, :y 45, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 45, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 45, :state :water, :altitude 1, :gradient 19, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 45, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 45, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 45, :state :water, :altitude 1, :gradient 21, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 45, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 45, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}] [{:x 0, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 1, :y 46, :state :water, :altitude 1, :gradient 18, :generation 103, :rule "if state is water then state should be water"} {:x 2, :y 46, :state :climax, :altitude 13, :gradient 36, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 3, :y 46, :state :climax, :altitude 22, :gradient 35, :generation 103, :rule "if state is in forest or climax then fertility should be fertility + 1", :fertility 80} {:x 4, :y 46, :state :water, :altitude 2, :gradient 36, :generation 103, :rule "if state is water then state should be water"} {:x 5, :y 46, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 6, :y 46, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 7, :y 46, :state :water, :altitude 1, :gradient 14, :generation 103, :rule "if state is water then state should be water"} {:x 8, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 9, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 10, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 11, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 12, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 13, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 14, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 15, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 16, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 17, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 18, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 19, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 20, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 21, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 22, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 23, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 24, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 25, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 26, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 27, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 28, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 29, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 30, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 31, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 32, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 33, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 34, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 35, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 36, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 37, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 38, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 39, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 40, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 41, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 42, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 43, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 44, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 45, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 46, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"} {:x 47, :y 46, :state :water, :altitude 1, :gradient 0, :generation 103, :rule "if state is water then state should be water"}]] \ No newline at end of file diff --git a/resources/maps/barra/barra_101.html b/resources/maps/barra/barra_101.html new file mode 100644 index 0000000..d273b71 --- /dev/null +++ b/resources/maps/barra/barra_101.html @@ -0,0 +1 @@ +Microworld render
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxclimaxcampwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxclimaxclimaxwaterwaterwaterclimaxhousewater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxgrasslandclimaxwaterwaterwaterwaterclimaxclimaxclimaxclimaxclimaxclimaxwaterwaterwaterwatercampclimaxwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxhousewaterwaterwaterwaterhousepasturepastureclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhousehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterharbourmarketpasturegrasslandgrasslandgrasslandwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxpastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterinncropcropcropcamppasturewaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxwaterwaterwaterwaterclimaxforesthousewaterwaterwaterwaterwaterwaterwatercampgrasslandcrophousegrasslandhousewaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxcropclimaxwaterwaterwaterwaterwaterclimaxscrubpasturehousewaterwaterwaterwaterwaterwaterwaterhousecrophousepasturewaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhouseclimaxclimaxpasturepasturehousewaterhousepasturescrubforesthousewaterwaterwaterwaterwaterwaterwatercropforestcrophousewaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterhousegrasslandclimaxclimaxploughlandharbourpasturepasturepastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterpasturepasturescrubwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwatergrasslandgrasslandforestscrubforestwaterhouseforestpasturehousewaterwaterwaterwaterwaterwaterwaterwaterhousehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwatercrophousegrasslandinnmarketwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxgrasslandhousehousehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterforestclimaxclimaxcropcropploughlandhousewaterwaterwaterwaterwaterwaterwaterwaterhouseclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxclimaxclimaxclimaxscrubpasturewatergrasslandwaterwaterwaterwaterwaterwaterwaterscrubgrasslandclimaxploughlandclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterhousecropclimaxclimaxscrubscrubscrubclimaxclimaxclimaxforestclimaxpastureclimaxwaterwaterwaterwaterwaterwaterploughlandploughlandclimaxclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwatercroppastureclimaxheathheathscrubscrubclimaxclimaxclimaxclimaxscrubscrubclimaxclimaxclimaxclimaxclimaxscrubheathpasturegrasslandcropcropclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterhousecropscrubheathscrubscrubclimaxscrubclimaxclimaxclimaxforestclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxpasturescrubhousehouseclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterscrubscrubclimaxscrubforestscrubscrubclimaxheathscrubclimaxclimaxclimaxclimaxclimaxforestclimaxclimaxheathscrubcropgrasslandhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterclimaxheathclimaxheathscrubscrubscrubscrubscrubclimaxclimaxclimaxscrubclimaxclimaxclimaxclimaxscrubscrubclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterclimaxforestscrubclimaxforestclimaxscrubclimaxscrubclimaxheathclimaxscrubclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterpasturescrubscrubheathscrubclimaxscrubclimaxforestclimaxclimaxscrubclimaxclimaxclimaxclimaxclimaxpasturepastureclimaxharbourwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterwaterpasturescrubheathscrubscrubscrubscrubclimaxclimaxscrubclimaxscrubheathscrubclimaxclimaxclimaxpastureclimaxclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterhouseclimaxgrasslandclimaxclimaxclimaxclimaxscrubheathclimaxforestclimaxforestclimaxforestscrubclimaxclimaxclimaxclimaxclimaxhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterhouseclimaxcrophousegrasslandclimaxclimaxclimaxscrubscrubforestforestscrubforestscrubclimaxscrubclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterclimaxcropgrasslandgrasslandgrasslandpasturescrubscrubscrubclimaxforestscrubforestpastureclimaxpasturescrubpasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterclimaxclimaxpastureheathclimaxpasturescrubscrubclimaxscrubpasturecropcropcropclimaxclimaxclimaxpasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterhousecropclimaxforestscrubscrubclimaxscrubclimaxclimaxpasturepasturecrophousepasturehouseploughlandpasturehousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterploughlandgrasslandheathscrubscrubscrubclimaxclimaxscrubscrubpasturehouseploughlandhousegrasslandinncropgrasslandwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterhouseploughlandclimaxclimaxscrubclimaxforestclimaxclimaxclimaxpasturepasturescrubhousepasturehousemarkethousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterharbourploughlandclimaxclimaxheathscrubscrubscrubheathscrubwaterpasturepasturescrubploughlandhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwatercampclimaxclimaxclimaxclimaxheathheathscrubclimaxclimaxscrubclimaxpastureharbourwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxclimaxclimaxscrubclimaxscrubclimaxclimaxclimaxclimaxclimaxpasturepasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxclimaxhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterploughlandploughlandpastureclimaxclimaxclimaxclimaxclimaxwaterwaterclimaxclimaxwaterclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterhousescrubcropgrasslandclimaxclimaxclimaxclimaxwaterwaterwaterwaterwaterclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterhousecrophousehouseclimaxclimaxclimaxheathwaterwaterwaterwaterwaterclimaxclimaxcampwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterhousegrasslandpasturemarketharbourwaterwaterwaterwaterwaterwaterwatercampclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterclimaxhousewaterwaterharbourpastureinncampcrophousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterpastureploughlandhousewaterhousehousegrasslandclimaxgrasslandpasturegrasslandwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterclimaxclimaxscrubwaterhousescrubhousescrubscrubclimaxpasturewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwatercamphousewaterwaterclimaxcrophousegrasslandpastureclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterwaterwaterwaterwaterwaterwaterhousepasturegrasslandpastureclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterhousecampwatercampclimaxwaterwaterwaterhouseclimaxclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxclimaxharbourhousewaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            waterwaterclimaxclimaxwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwaterwater
            \ No newline at end of file diff --git a/resources/maps/noise.png b/resources/maps/noise.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9c001096a0e0ff69e93ead4954484d5de36543 GIT binary patch literal 18076 zcmV)7K*zs{P)WFU8GbZ8()Nlj2>E@cM*03ZNKL_t(|+NHhQmLxf@EM_1X znbk+qFYBj|W;!$6N$9~r&;T-OYb|xHp1r%OGA<4hS2KhB-#T#P#)TUl9Rmu1prAmY z_6racRJ`zoKlnm}K(T)E#sE-IQ6LZq6tJHYyzqrDeB*_N3c*0fg*SfigI~OHqx;V{ zG`!GIAb9=}i2eTaColVRVBo?pe(*1T0Q|u}_=9h}?9Xmoxcu|o==Mzj*k`}&_t$%W z;TwPO2VZ!hqCnAcw>_QtEMQM=*rzF|;V0Yw zVIS>{H!c9M4>;_xvOxv_L4`me_F<}Q&RMkwxvVGt;nWOK?f+BU!5|$S3ZR-nmN}j? z(EL>t%^uhA^A8jNO820lq0;$#9?w9xuXm$D0Cc>`ARPl8H@;8-KieHQhJ8LUlM4jh zKI6PGf?}Tr^!c7|_=`7warvW1GE%w=-rzL)a=W!W+Kc~x5 z|H=708(#Q!XZwYU_J88W%PyJP85A;14>4rEsn|#99(U$VD0C@@ebMIkL80#dmkTNO zQLF!I=2iwdtLHP^=Fpxf@rz&lYd7RMixgP$xub1#k>}O|OSdVqa7Y^x<%j)*&U;Z~bnXZ*~*NkIGpL|Bw z>6SZyf^OymML_jC+)>f}1}{gZ$?(%0-}o|>MUY?nM9-^!`5hW=Ncdw}Aspddh1}Il zJ#IgA!+)Zr&${9X?3q<_f5Q)z_+jO{F|*Had|MX!LTgYAODSLYB7@xYP&DKRx8ILJ z?rh~@%gxLrdRX@J7-U}Q9$sVRH^W@jGR8{Crw<;MRzAPpl&itr;(SH%7{V#Spj;3B z=!)F~n9*;)W8&d_r3UIzbv~tT@o*(9YO%NYld5ElFN>M}>v`!)0rkscL#L`@CYA6| z#t&&ZAqnRX;p}z0?wt%Wy{l4=5BnmW&L`itnZr!qe&O;wkd3|$6Ff^RxXq1Tbytm79y2_>wdIQxwYr*y2V{a-`*coGUnr=bT3wXQp*jW&rsYT>we6{<+gNm zCASrdO1DMaVa<4Wd#PD1QWU#Y&Ew#VQ}cd&c`-Pj%v0_*ZXY~QP!!LF}9{E-a* zkZg>V#jKLDxhuIttk9HaRTMOIba#RrWe@_e_-U*d<{k?DiEKB!+bu0#)ZSikz+*_Y z0(Yk0G1+*svd1LDJVddm3a`V8r`anPo4tsJFEooCFN&u(1Q*(6t${%gZv|4dFgN@z zsGahXzOp6<#oeq*sVWEQu^FZ;1%(AnYFRuOxB>DB>USFwX>z+ca zM|R`O4w`senz3yLY()huDn7YYMW>ir0W=71iZ#!xtw28eBg6a#&~EaitC837qLyK& zyl2LNVJA(~Nt`BG?nOddrc-LI)Wuqlcu=~?Zb^bWeCnCzpB&V5d0vNGfa;y6;YHh( zLi(`RujqI|AZUI>XTo00Elp$3$5>Huqg!ZRW~}J=wtF+H{B|%0+-PlmFeMlDq`}kP zo&5c9i#BQp6na!EEd(_UVJ7X~h3%o;_xwypHNQLPR4(5w6#lB2WSH@q=PNa}IETMG z-0j|>?WiHOP!um}SO0*WbM@DJj>H?^7H4j}Fi_C!j#LbMS;8P@=4B49U!K&V&Gz63 zjl^Q%{qd&&|7xeaO)mSXSG+yny+8j8x* z?1A;lf%3$VixOXM5H$NZPklSjaIr>Wp|Q(4mC+=HLc4~>T|9%!Jt4H~lq&b-7?s9Z z#pWyUPf$V&QvEw1&1p1rqH@~K2}&{lUP2#im76d8di(yF6+OA)%gwBKQNOuRBCa&6 z!3^pb-rfe8Im((JOk=?8zsv!u4+;%_*+er1&@gKOHK9wm2^=egVvM+nVX>=FwqNMs zmGs_^L#%#$ivM4vW+uYXDwISFbC%U^@Emc8&vFEc|AilPd_e$Q7S`2j`${(h*8G`; zFKlWgs80-e+gy8PSek+~k1SXHi_m@II=0Y5RZo{=&Alp*8m4eDNhtnz=HEn^PS$XX zDw$&?zRi+=byJtK;L8v04Z%ReS2$woU9wJn z2zZ=qYo2~vn4IZor5EC9v${DXq@fzRu?VIdR)TTgh+|Dn(Smcd^*7dNYKHV-XIH$6 zUL&rVY>RtqSeHw^1G^mK3a=|qgD1BzZ(r?hb{|Z=?74}LmDRgivvgc0o&AeWy@J~+ zl;@aPrT%M9>uE5m2hr0FL5eoBlRMEDv3g&9u{-pQxXU~rAE&pmHfHbxtV$R@!Jm;z zLh3swd!UA8r3TQTrr)5$Ht*p&im;|*@qw?<^!>Sm0>Q7P$8S`0{6VonfKq+W{fZ}C zbZh)zwNBo4N7TlxLYH3Xvd%|2{4uS*?VKFM0Ig|G&odJ76t#J#Uy`APW(X@X3{PjP zownkUA{%eeJc4^xF$q?$N0yUZVO_}N!*jBycA5{fSrAuqTY%za=5OxESL1f#b>^hr z+pyChzqm1cJX3MI&lQRjv&kHXG~EJIY;S1j!47%=5)c^TH)Un}3<4^YYOF`Iuq;9b zDQ?`=foh>JobNekL^UjacI(y_2Ro?+X{AD7SpWNlhF^OE6&JoNcKo8?+tP?{49l;$ zCRgvFO&A93rWZ6G^UPjNORi-#E{Z(}P^LeqP11v@kmk;yoF;ad5E5DODL>C@xDuIj z!Rg(Lby^EGP?}fOmAcd`J?-vjySE-!2`5%H6l$2N*AIGTX{cOR^KCu&zD?$onh(!A7OQOw;iHPRA$U@$ zAr6#aET#5|5X=BH|AznB2(7)?5COFo`A@sQ(mZIzCXX-&rH1cRd^wn7hV#c{-N32c zO|qs;f*b8lAeY&Adpq=bcpDFfP>F3h^%i%$A!9>tDg6Y}7q2!a9G+fkIH&4;qOtXW z)!HYL#$yticS!Y(rW%V~(#o`o=aHPY&XW$p%-mL!-}W=H>nslHm^b9|4kG;M3R(}y zY!G1iGJ|wKd&RG452u7Xf$L@5E&w;BZ8h#bMW4L3=l+9i7OS?^SDEh6COcbLQQ=KBI`z>$XtwGp>E zD-B>PeaZ{Xy0<{HwDmSeHXL=*?4I1z#$kupZB}`?yR77!o-}~W!GO3CeE$eJ5kuiL zOw&ODcGaU1kc!kXg~LkH zhx2#iSX6Jrb7cbR3`G8w1cNZoVDF!^R*O6d(2xDp zF9!agnhSlBOH?_a%#>=XRW1BFR93vczKj{8xX}P8 z-gcuJz2j|8?Y2HwC66(mTSu#u8BHq2diCM%lfd)>xt4Fzw!@L#+za9J0wI7$o70Z=FS z%*OvS;CP35YE59nR_M`}5GYF^HnNi#G?QM~_F*~12#lj}U z+_=2mqTWefQExu27J)b`_-cwPvNaTi0`5vWOSt~SU#%pcAE5=HI%q``v71$#WK-Nd z-~b{*_}rZ`LN-dS%!^F}xgk>wIr8NrTUf8H`!HAW>yyMM4X#$B!wI8b9=+6C??RJK z4dwuVrrTGOKn|X54R}-;;SMc)NB4fyOj3tWlbP?X4t0wtbqTmIgdUaJ3PpS8EGT(55ksAK^wjr7NxJ(^?x#DPd&jD+j-2UxBJ%{B) zH-l)Xf@9;mCh!@Llt93od1~rL$d3vS49|`d10{5(cJ@c6CPWUnQjRqezC#myDe}g- zb`d&I6L!=bpYzOxE-1bnO0C`|o$+oa1I3de!DUrj4ddjQ1-3ZN7=fiNn~SMlo<%1o zM5ve0p;?UsP2QeQwUVhbDF#Qtk!({Eq@h?WYPs}Xd|0KMJcz@!3_4@!Wu@SZIKNgS z-3AeV9MH?$+4CyR8zsfsiNo;XUJiIN|&fU>Mm*Kh_spUj?k8IIr4V#v;k^{L+X`squCLBz1c3u%y$EBc##8*SV zDk`inC@(f15fEYzz2Ju68*iUDR{On*mznKBK)-xmblc&$Q1Odjnh*Zkd)9EUE$x*w zJ?^Gna2YIU-js-T)zFnfP&VL)J9GLxBo(S;l)Asz077zz7D50z3B-M&PW5U7Y51f_ zrKKb%xPTOEGBSI!GkjkFE>yg5n^RM~&>^@WR(TW}V+`x^{@AO08Mdb++8v(e;zA^@ z`|)cfUNZn%4by5R?rly*g(f2sPM$i^WdY5iwt}P+j4fT*f0Zpu1cmRBOd=^IV563U zvnj0$l|D9To^G$cNY8~Bfs9$1bCF@~55bL& zVle~WN2nGLI-xpY?f0q4^3?7>*0TRX#V_@kIl*X+c;hS!(9LDRN4eelIuiID_0UEH zwNmy%FZZ858$we!msGsQ7EOdhjN|>tw?hJ2KK@%gg@1;!0yVsq;KsnWKZ{DD0&wi{ zLZ=A2fktl10B7l4XmB8F9x@Iisfie0zwUt3;K6F6Y)NRoAcsbwh8A}WsIrx(pe}&~ zuqywgZo&b&5!qsUh>cMK?7NvySlpG4FARJ`aN!#l1eXQo+i{VLQlRdhpTPb`GohUI zH#&8RL9Ce8Qc&&*CXZl_W=?Bt1`+bLO!GWf+Oar{nmqfXn z(3+E=GZ(w08Az=k#05A*+s{0b_Mry;-|2>&FefAFI_~Dk}a&gEdvuSzgUIhdpdj^SgDKls5n-X<3?jE1n{=9`oxt6@$41Hm`` z3&F4PMlM4&3#Az4X`RIG==!Cuq&TQiHymKS9!vKYIdges%Wgom^eI;YaT$l3JKv=} zhD1%cPcS$nB@|A4OUkec@roBbqSBmH$ykjJ(-e2=E~7btLIZG+#BHVIoJr2fP#cHI z+6am|v3n|ncvn|394@&Ui??%rG?GC|s<$!?&9t_U$*?`_(9jcN~Z zKy~$Y6KK5k!hfwb-$K3A!)JCipgRbv&Z!2Aj}20PTM7mx;5am4IE1DuBguN5A_II{ zc+#blbY>alKIm4RUKM}2L%TbZ(9bGP_M4sSFT5Yvrxlf}t361Dxl;xI!W&<>@CCsO z-~L^@>jgcB-UvHyfu^1g1S{t$b zE~$8wZSEL9*C5aZ)3(Pk(g+cng%n3${tArF|Pe|%WQ`)PJLg93?68j?xjL*qgbzu!nsVg&lPjN!Rd?Ytg@X;h1q&$mb zs)Q1fh!xv!i+Gy9AWW10eme|(m}jZDd~`8!!~YBaLBT&zRJ>exWDpduW1#)I_Mm!` zy?Du@fzhfiz&&W3#Era38r4J~TiPJQCTgE>>vG7+_8TCZyemH5h#i(4(~PXEdv0jL z!P@G4+Ub^FQl3;#I#DAcE2k5ozdcLd=~@d`!oA`JclRt?mL(x&M= zJhz|)JzELNg%Kh>1^?DLj{j9Y-V**-!lTP+DgHl(ZQZ~Qd!HFTkCAXc#<3@y9b7q3 zT;V}~>P1|BOXeODR!gbQBv|TS&;PcYye5m|J-wR9fg5zn_CaY$IK#4uFd-Rncqo)a zgwrJMg^%N@y=|!n_=P6cqI{_5N9qa7L6uaumcIn!ugPOIVY3-qnT5g-Ag2Gd9?&9< z0ytAO)y0dkl~Y_Y3K?XiPHovHClO-s_uBez=7`baJnqs%Ba(AF4aj&LU`|M|RoPI7 z@S`XWD*T!!pZ+$N$0cyO6m5`D($w`VNq=qifoFj4l!<^`R^QB#vlgabBEWZYOYnR@ z;%q;jP2GCRI2v!SeQ=C8v8qB+pVQPs%LvNhY}`2FX6f@mJBie=TwZIeEl)L#m4*fR zYO5^7)4mlNiwk;9U52sAk1s{_k`U~ljIrp;C3I&Q+o&IIh@=U>9&~>dCUtzX)?QA2)&qx_Fzcgxp>?5u4m@|1`m1q1kK{ zImrI+bB_|>MY`4DZ2Ag$to7I&XD=b)Ap zBcA^KT^l|~@4B8UxeTq#8Djw@w7 zx3W6|w6*jz5^gFi-f>i?j)vK5eEmrO zS-1Kop})N*kswx3!mDvZUkSAqm+bKz>G@MK$fx`qTQz||$Kf@tvIY1-G-2M3*;Dj5 z^;pXXgDe8`?t)^TgJh0VhITsN8iYbhsv`CjSAu$xr1_49Wf?-d6S+@F25AHY&Ar_y zPyru5#VPgD?A;aIc>@!Gt=oHw93>GT;(tf1yc~zeg}Cdo&EsVoTwxO^96?~c9~RdL zk;M^|CZg+JX@VTdwJe~}R#KL=)igm#SB6!S-rJ!6m7_T%g#5AXzm%Z3RY-b&pQFo% ziQwNxS|vz`mt*RIBqz8kj&k5e!Xc&NB<@(O&QA8yaDi(#W(ci1?yHr=q*ZDg3||S! zn>O>;=g_+UegqIiu_8@8TzrfeB|v|W)DJ#Y`En>LYm%_l?WV>aa0&MpfmdHigDBTQ zN-Xq2rCLNsW2hTn9AUXpry;K<1%-K?CAFe;yC1q?;c+COL%E49(}l^AmB1T~#?8?tW<9AWf7y z+C}+QNv&w4#lS+E=(=fZ0daMUP(g@ejdJcSm2H!hgbXNG&3Rw$*t*3fn7JkgJsj7M z)EvpP6FJf+gj_QVQHd?H&_o9>n~ucrMd26P?*cJW%_&qfjIbq14vVwmrB$Dd$k8Bs zZj&EeRHxo~iu-iFZ~d^HRU1vh1`%rZWwDE$Oq3`4C8@GVSWLs5_dx?-Mrux??Js`O zehy3x*&u8P#7GeK1P6L}T{Sj05AfIA9Dx z@;Kh6N?UJF!Zx3He`UjOj3xh@EOgusL+G7cXg9G zk2iE}`CJOA-IgCbJcRa)4(AH*LF=bMD$>|)NvvvzukabZ<4qIoQ#NiDj>{-Mt*<{Z z&vi?=&*0KeCRvB3q+cU6QE`}ZNN6vuJIV#0lHd)(+(oFZa%0h^8cS~Xu+k18-xyot zF+RLbd)VN*g6v0ox+D5AE-alzghKRejKBY*M^t<~AcZy?*03fS3F?EeW)A@|kY}W8 z`x_I;5%!lT^7C&vDCh9ki9=Q#aIq|+cR7|`g7~on?di`38B}OV^5A+v%%30eK1RR? zvxxWS%JwU29q9*C51*4WdO)btG4sxn;N1IgV?02)SoiA2_~=9kjX{k;Jl*)%x3Byu zTYi&Axlzqz2|96xR}SN@aX`nf(o7Q)>JuAO{;n4(bU}m-}m;pGpSUBlSSaXB3{FXbvO zBQe6(<#TO|ZElBSu$Q#YIdg%_N3?uQtqU!coW>}LYQWiDMidWU*EEvu{h)lS;3AyD z2w|Ywj@9-Jgf)yS(H$21-@YJJlM+G{9C-fL9SnkS?pQEj?`M_m6xN{6m}mQZrWH$y zc{kTifRh8;HoL640prxwhBb`gh5-jlFvvnbu7!MsMBsSI&0~%Np#3rGZZ-*A$n5sm zuyUl5mcGm^;qufuZdzwVylgeh;_dBKM}CwVq6W*+j^oY)o~(T80u&NK-eU+iYj`fM zehehdRe-g;em?fO>$W-|D4WA*=zq+^y=eE}tRinx2kHUZpbq-#;hwD7i3XQe4?Z^E zkyCB2Nu7=p$32Q@s@9RDWy*%17ix<~;eq16%kvB*&3U2qEMrTGI(R=Kj7WQvd!3lA zms3O={(t{-k`BvZYY%!E1(+ZCE_xZYtM{SrNOvSw$BpEdmSI3R8u?flA}FdzN`o_B z_mNFS5`#2$ScTYgJ`G-a5PT&Fp=o)y?dxq zRtvs3y0!&HEFR>p=EvvOrUdM+Ch_KS=xYzpGb?y0Z1bIvi+%P)>H$If!CF7Pklqtu z{0g;qMzEexSi{$!2(etb8#+>mj+%5Qrc*hP{?~hSpV#f^6UNrIWRxuRJr0qkkW#!- z!-dm~@ZoW&{CL^Yd! z%W6e?8(A~zs?Pz=BT6?si;>hckPj3bMt6@uARPhkmkYUlMv~Lvs5BHO_e+L0$B?;a zy*Z}8(o($BWORI#dWvvS=1=C946x+Ps*|FcZ7z&B%$cLM+f@wqS)HPhYDeF?y>gTa z%X?#^NC3Mm-4;-+DAGgwPd^TVWur&vhNCUPd)LI7!bc4iNg%kBQSwjdhE$no&*luZ znpS;qo3Z6WYu8w-#<7;r>pgFk9kjt|`SmzR%DZyo8jBJT% ziqn*&{Czfh0{4{-Q7-||A)8Jej>_5(#VyQwcSbkY!aOTO8o^{WgeY4PThj>5wHVg< z0rLjTPlB1cCEf^mn*{hz4H){r3Eh0A=$!>W@;~JOLn@nNV>;{8Txu~(j|g8q!0r`G zxB84@*MlRAY46w!61jPwD031{ZOFFj8zl@c zf|v%jDydIe^ovM4OSxnu4Mz3h%Gd}CyS&RuxnxjtQ4=pcCye@mQp3HeSxK+hlySY1 zkit9bWo&@!{ZsEVdu+w(i4-9z5mJA4gL;0`0yoA(i=G^jO7xQ9>6jkgq9ibxZe6I) z^4~%bjmKxLRx{c;u?z~OP91*1+1UwV`vIN{Cm{79{%w~iw`+<)0{ zuYKbi-^QY1iYG|ZnwJnGRj)e-=^PX_;oSvyV>Rvkz1XM~rs9y>cMB)Zs1Q=X|4G0ljNpN-NJ zZ5x~X0FJydR^8LE7jjS$u2jR%n9}|+gUmaEL|Vxyt$1D8gUat3L#Yp@f9&^zwflFT&YdMQn<0(JpqOz1pJ!P38C?JbzM^v4tQcn2^c6&9cMV}+YU{HT)NxP zwF4Wlfd!2uT;6m96ZYN?Oe!VKE@msH;-e zC)+mp5{^%cH3*XIW%1>S!{Km)kcvw3Ds$~3i;l^MLJS|UxO#|8`+lesn|w#9aF2EX zq4w#AIgS3sBqME?)HHc9Vlg>_z{g*5j3ScEQUWzvQV%ww@^L8e zMyRev=)r0FJ9kQ7K6RgWdUkBW3$->CyCC5zjN1uq7X>c5YjNO!Z=5kCZVex)eSriF zh&Lq8GyW%&l#Qz{L0?2e;;sSzF+S``(M_GD)4#kmLJwOJd1w~Zv`TR5)f|(O7@8z8 zh1SFJ`b>WppA|-49_#T-kc&FXA{iUBlazg|dRaCVba(8{6BJbtH}QLExO|yRk{zKX;^UqasPW&o!a? zlqLrHmrl^$GK|@k5QS!hTxO)Te{rSLNC*)CXN?VQr*lLksF^_Qs-W)gi1Fi zxe@A|7Xk7e$x<4-NjNz^El18R8a=L2mc%<#um3sip2W8HYi;%{@u$=&iq+~s7P(uy z5Z3=cKI|-5;~C&?pe)?F(f5v@rvh) zS>`}|zp!}1Ge1G6F2Q3Eqeb^5f~nLXo&rrbUGyG=EsM1V2I0s@GGCl8APtqU(JVi+ zY&FsQ1$irVjsbW0wTJYRNw_mH4l;rz^`V7Oz6gGxlR2snHE!3|U+KofR&T%dM=TSo zz7MCnK`vU2w6dr|GLV%}SV}uFG$2k!@b#c^XE~_R{mmp9%b1($J-I73$Vf=X^Buu9 zK0E1nNvOVA5#llBMF`^6nq4{E?f1i6)-=cq4a3?WN?Rx&A!Xj?#`6&&Zu>q#-{oQl z^?Al|1*?282Qx5aYuW3T<}S|4WUkyFgg5{0wszrxUDK-s;FD6%d*ynIg)=;icQ?lK z?;Gt3kE@aD00Ls@CZuaCb0O%x?hkdug#Fe1C&#QYq0D4K^YJmRhM&$iEXXr@Wpz0HCdx&I)#^CV1n}{W?CM*wDR}#x=6ik9uxWfqt2Ht5vBeGEkjtRLL5H`KrbWRW zl)8j~=(oj=%MVXe64uJv1h)YRB=u?^jS{4PVJm|off)` zaKePxt3q<~k`(2Zo9P}o`gTJY%piw$UA!kz(2S4Ex*2auL+(%tjt|R`WJBGr*iplM z*tg~4cyPHrUxLG%!}5F62xysEs17^ZS00VfXcJzFP}Jl?Jw@^*LClPrRK z+#ek$6`)R3-8S)-FxDG%+8NKrZg5UlZ!4p@W;04#a}>l}9XfO6Yr~fCjkh)UbZ(F<<@^xrH9wr7v0CPNpL6) zyqn*wkz96b1Q}h3kbSXarBqmxOn#x3O9?9&3)LO*M23zT^Z}sUPGjzL=H_zZMw74A3yx8Pq4nz?ak8LkA|QeEBdPSNn^B^= zgCtk6-;QaJLH=CAiY`e?6KoRJ`CZ1x0qxcONc_^)?L~$VA8_Q z##e%}?k<_nI=ETUPzY(F2bK03D&l%zJq>DQcj{SP)El~8mJORYfe_}Ax17cuDy&&? z`-XXO{N#d(u4X2DbNqz)tbFYbLOY=4IR?o3qH?g}1}H=ghe2|Nz)>V;M7d(;-57FU zw@2{VS*JZml)YqJM!D&KR}#wovY6A25D{Nac|%~7Meth*v1f#A@-}gi5|(eyLa^F? zyUU5R6a4VR3fUHyfl7L=S;nR?U%hN3suEHCt%=^=UUeJIFzkkrpPbcR*|{c5uV-bXM!q zmV=7aGDr=Z1tp0@;)oqNyQ@sjtSNGwWfm|#BwznVRJ#JtzA%s85395+B?3+d&rzvR#* z`*c6_qg>^Z{2o}VSO)2G3E^)?;K8i^_F7IWH0lK*IJpZ}iOm8!$ix3$O<2s9RsZH2 zP6kljy!u)gx|eQ3(dVQ*y?0pUe>6y5=CVUR$Hzr3vSGqjtv`-}7~DBy1+dwvXf7Ya z@_myDH5IQUY^g6BOqZphxP32ZS+95cw39*hLa-k8$bwkBpO&f$K5u0^Yrp+%LUP`t z8&ym6AQXt>omJcH5Cz#Jm zmw}Q!fe8>eNGH9+-2`%6|8=?@`_96(0yFEtUz2K%QC=cgKh*bTtSBe)$6DLdcpCIEdmR0AEHum|Zq;w0+#(wGX|U z9)wqC)}VevzKo~KHze=R%rIw7`Bh$99~njx1Um*b9`!I??;p(pcT(~8b&n1>psQFI zhF5>9^T@yOqCR%tl)o2WuzDNhaeZ$G3GpCsuT-A*Y#R7KJYs#iEzNI8vx2C6&>zV! zKSIhYVGklN7?UFzUoAjJO#9f<=&@y1HO=={m$`eNHTMF9UR^_*y-@3~25HYuc+MVx z*z-og0V50{(G5<)DSgAyAahCHY$hz1Re^-7<+H9^9MKdBR+c5(oIWxU#Y;HQyk?~S z($4uBK~cLO+qS4nhN4ayL@Dbh8cf+I~qZtv^nx%u#fx8nXEHRvBD*dzM9dL7wT zW0+FjxJ@uZ1vDv+j*Uc6$RtSMJQk1CAn31&D4>VzYA*Iti+_D<{lO^%nPkn%sacsG zTZ-B@wqn_!48;TcTq#u!0%!<_vc+y}p?m?B^hSfk#YZKnChp{$k($=*N|^p5iF3{h z+A%(5T^?RWr$IxjZzieKT8stl!jDBP%t)&B%$Dh4RqHNpHr>?=w-wuiIP*J?azL^{ zG>IEkH%YS=fP{~*_JqqO{}LUc9O{nscSpk1BGHifeNVDx1$nXEgt7L65PHVAFhYF< zkg1r7iV-eAkB&(Waj>p*U$S$k2OE>YNiaZP(Xt*&@aGUdD z#D{F^K*Kj@!y$Q{I3(4XQV(#W;pJ1+acHJbc*EKg313#zH);0go3;^h@Dco_h6dTH zP#5%G65p^Sq1Ao+?NYq%1R~SmDv&sOdA?Y-+fvAZAS~yePG_K)7vF_C#VhoZxPS;# z_(4@zqrvZRWu!{cb}{=`FR*)DS+#y#w%Pgt*gujwTcI}cI0(c_m{ezzWcJDMpx(D3 zR?N_KQr z%I!Ijauj*~-pkM0?9beO)@xA9$;}SkfIyn&B3Z93?-D7LBEmsRS?_JBx<{d@RU36L z+9K1C_r=dhS(9F((9Y~aJE~Wkx4sD!!B@N?!N{7=qI;kRAneoO z0sjaH!ya_uPwVF;Owf1cMx0C{5J%%3nKe*uzRyE)liZX#$P=`Iu=}iV4YM^cD!J(b zAMk#;0-1!uQV3L+SAwl#qn(=MLRt<{&ka6fs1}q5)+*xp8WCzgh&gd56gp2})b8M7 z7$HQcSlgE4y5tzSBqaF!c!x2v;h5P^IWNTJn3TG#eTr+6AW$Y`tCvbzSQKRl)u0_KU8!M=`|{zF1g&o+w#d@^na`;cAAL?wbmPQZ zQqXXRnb|Z)9NLZ~2yxmIFi&;$K}&obi%Y(?T9vRzwtFvWir%R6jYdd5SzN5UqZoDw z%BDfQ_QMV0dqf%N9w1De49q)n<}u~6wUfwF99?y4%dFM3a#jUu#S&X;lsP+TzhoDXp#kK0S5U zaKs8DDKdyX`e%avYyZBD{waYm9BYp?D{T{d|K+;;uo-&Z^ta4$`K3b`elqqVw*ENV z;1;+fxqfwI->?ct0$gTLTUuOy?G9V4N09AS!V9jlbgr65a$3#D3d8S8#!6;~3qrVv zQ9s}K#SebXAcOdZti)GBDLA<#UwGmBS?F>*IVV%QRtk61NPh%iTMYDTT+@A;koR$D z%9#eq6$r_>C=GLYHZdL6o2aRNcs&i5XLAK93E*Y>b~yX$u9A>%$SR|5cPn$$!@B^mZ7SfU zkT*5AC4v2!9L5H@+-WU?Jf+=r5Zun388boZYi}~ULI%`FfOmI;16>V-n9h5nxzp`f_^S*Tr;E~cZ55sZ!s>t z_@sY2Iu-(76fz|;>g|KDCEIj|{3a?3FB#9_{Mf}BDWshE1Z;8taaqjx7eDwH|C+nH zL;AAXo7GE-Ld0%ym-RIbqA0jM%ZdgWv|0ToFB*3*fiit12!sSyYuT0n$o*xL0ajJ8&iAcWmg%A<-q#J8E_Klm^H#gCa|99MA^DlRL5 z3PGhto1?|zBCm}A#k)dVR=SCE^I~T#Ym%~tP7g{|NPC(QxV(!4ylx1ndwjdAgwHmL zLlRg-XGychm0SxWFJTCv-m|DwjSYu}4twnjKlpKj%-eAifSwuPm%&m?Fi4qDl9#v8 zhBJB=+$VNp?!$_cC=P+GOCtoltF(c3guz&*O;`UtrI=Ja8)VikuTP#;e<#ghCf@Ww zV+QF)AYsMUO>M*hoEaW0>P>U}i~rzX{A)|NH8f-6R`&&}TDM(jn{=Cl`ko?#hAkRV zO|EbKVQxt?QJA&aBx#2XGR7`Hz?Xe({eX{^Mq1tlYNW6CRxk0!agmd+J5BoBtLNN& zPQH+fx1|=hxvS-{E)xde?^%fU)V%O+iB;v?tY&FrPZW|Vetpt|9>mC2j}K2sjH*_H zlscD5?htzh=?i_{f5uvinGSu2bYdiNBnG+dtN(_Na2btRh}JqEV08@FtX0c|(d16?<5o@axmA5#S0dy39o2*+3N`HY~8R^nk00HJ8L_DhVlB zHh|p-Si>Ha-C>TmJ3d#^&Y%+H({3lx>_w}5;H)qft-Bl)dl81JmH_69%-*prg_;#g zYt#(nT^6e{zXPaPgS<=k7JA%L!wMmiG$gGgo-tvCfe6^!p z3NCN_?CNrPFIOk+pw(@T&u4^fkHZSSlEik4HC|YuZ$_8bG)P>h(1Q%|I~WAij2K(P zovAhwBLPC0LL_q!?Jf?L&R9A;U*~_cy(J29zR$mIA`8+ zev(g~spE7BWm^Qpyn1zQ&|Qr&GUh?xD1_SSCeQ{FS_cU;JP5g_0iZr_Nn7$vtM$Fq z1AjetxQ=Z(Y+G+5Zwg`ZF>gMytB_>vzL_ct=JQNMH)#M(|(s0?3rZ#^g0NeDXbQviz&Qy(nnmn)1dvPE2R~G>^x$gsH_p_&V0v)wLIe; znbDM#t>em_i*l>`qf-$|;PfD~kr7l`N2OA{x=96;>*C_1fJ$^t?#l{EU?|`?fW;DD zj;5p%Ptv-j)lr%Wg;<;z)J7UKLzjfB6ki%Cp|cm2@Js44&+ogqD=muHb6%bCw5; z^o>^FpK-OM#6mYmSprBeH(D2eW_BB{&~SW4UXQ?H`>}j_R-Fs@$eSt=15cP%kKh9f z?JMgvg`B^>D1*|l)Ka&#jgbdfh+l5HAjG-={@@S(!5@6v_=k5|@0%Am5@>kL(|9ZI ztU<4sU!jCX39lu1)R1qNPiDr8n(|_FvX8mizqs+n4}S3D&T4pe9Q#n!l~34RER(c= zhZ>F*X+~oCCU-Jia+B9E4uWvTPUuKnuICjNBm?+^fA9~!@$K&rKV8(N($pE&1pY3h zORYitVAs#94*09?)SqP(ZzDsGPy(-!aCIH{r?KDA{vUK2&a*kz0z423_mSCHc3#u! z5@=it{8P*zf1Ji5bni5YH%0J-lDx8zy7Zuzf-$r9uT2m4fbw()u;&xqlx2F=kwd3uYo^XftW#hFcO=&JR4%)pYsnS+! z=F|`oqg+7o8_&b!wee>*MVmjJC7at*J5hZizc2|m-YAbjZVKlkWchg~^fX8#gH(?> zIfq};Ud+4WxU`U4ny71o#K9!A9oNLa`<$YZL0)F^=fvG6Up%N>6{@r+)J{AafH*3} zX?#LjiLq2z71jc%KlfK0304!CXss2vsN`rUX#XJ)^uqE#pEZ=)$#KcIHb=QHIK-hS{Is@+#}5?Bbil+$c v1r|(U2`o(T+}db}02pUopke6IhJybWD&-7xEf^IN00000NkvXXu0mjf`dYfL literal 0 HcmV?d00001 diff --git a/resources/maps/noise.xcf b/resources/maps/noise.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9d78e5d141573b07e5480efe381c02251394e84c GIT binary patch literal 47808 zcmd?Rb$FfUmG-N5Z&U1;8DffKCdn2v%VK6`-eP8EOBP$Q46c zXR#qSEA_zA{plGghFn9@&i(4!k)n*`q@Bl)9#?<9;Rn;Xe>y+ZxPSg2k@yp6@`sLj3j+EwSmF&#QPsvOxmiC79^y0LVF9s;B|Nd9T-+aBP zti#+N?I{zJt>2&j8{g;mNYBrUU2_eksm1cII{6QO7V#y!^S}98GWWA=z$0@%^UY-2 zSAJglm7kY=<>yDg^7Hbq{JfH%rQi8Ki}^vGCx7Noh8&%_Kf0{BALfV6ICZT|Nv8GP zum79w-}twm(%qYM#rF*#@bxDXlZ}jh%WwF68DDjLwei)**9c!ze9iK8Tl%VBHTR{j zH+gv9#Qy95u`|)`+y9p@I}_dg|1W&~*Kx_;9lkPrll%2DCr#$`)&DRjjn97VOMdrI zXJY&Rk8j_!0<7E@i)5lLF|oM6*u?VwA``3o3r(!=FEFvWuQ##1uQRc`&&Sl)LzDaV z_xVr#^1Ay=O!S(j)AZVc&lWCPw0QB7N3=)uOP4RxFV#Kr>5|2Z7cE-2V1Zt*D;||*JcNrS4|qpUlf{oLrN!zs>(;H` zuyNDo&0DlBk8IU#(Kdg$Y2$|V>(;7vOCMRh$V5-0w{&{_0%Mz1Yu0brv}NmK+js2P zxofv>_u|L(yWiinbI10_wr$zGX~VkJJa6eE*bkld8=X99$s@~FtXjK%9wBH8kA5 zYtOy|hmRgNH9K+ggmywR*DQ4Ae>-V@Qakz12{Wwe(ZdJ!Kk@j^$2M09mx=mYmK5^ivnYoRFqqD2KyVohNQ{LV_KK$pDH$QuMdAhqgJ2~1~ znVTIuv~TzJEgR+WKauu}Rr_tb_Z~7ew{>*&I^`SS9~cr679JWN5g8d48WI{Fstdgx z9N_2U<>l&RZ)<6G^uXggx61QbxW$h=%HtnBzb-M#;q zg@cDrSad>aT26r>ueh+ds=U0kxUjUWsGuO~61bt47W9=@ zmK5d|78GWrB}PYv`FlFqnad)oA#B}!(9G7|FCs2IzpT2Usja28xwWIaZ+y6a_;goS zUq@SKbz?(gQ)zK^Wocn%c1mny$SDtJ8=1mlR$$Ziy+^HF{K6Ab3ks`in>sssx;t7= z_jH{ZI6d5S`b>LcO>K2|Q&VG2Sy6d`Av-fMHa0Za&(n!1ELyT`<+?4q4xX_03XVz5 zDXVU8YwPOn>+R_rI^BBubbCircWZrFMOk%Qbzxa~VM$p|L0V>3dTd0HzmJ=7_^UT; z+jGRy$vZ45ucWrAxw)sUt+%7S?Q~CTM_XS*bz4(iaaLwcRbFvHc|l%IL1CdGJt-j~ zDm1`re)v1~9k+1{jLj@6t*>uwY3=E3@9yeo>uGCl?X0V-8K}+8GnA$0my{J`6c~z2 z3k+$Av5Apk!M@U-;cr&M4^1|dH`I5ub$51kbaoE))U~yhm$x?7me#U;d0A=kX~~)S zIfjhf^qlzExY(G;U_aTxWvkY0-F?{H$tN;3zq+=$yS}r!y`!VQx1qeEvc9yUzPh5u zke!|r8R8$8k`SGikdc%bl^7ovoe&clD9iWg>h+K9Ib!AN84UdnD3YFbozIx;Ky~k|a{bMqVn%cVi zIvQ(x8~NT+UBYJ9SGSfIWMpJ!MtJ+DMn?vP2P7qD#>Iq$N5#g@wO_Mw$KK<%?m;nW zhRU|yuJ*3J&bpeG`kMCciqeYW>fGv*tfJ_IIG>n+c&}hzkHCo781K-CAXXq;zd)Uy z9s5mfJpv;$i>urE`+C~Dd)pf7yDM8->Pw4C3X4k9iV~ti-Q2=rBD}qw-Mxc?0)2x0 zLlUDR!i}eI^Uecib{;{|8HIIiT`ioL&c@pM)`q(Jp8BHf%(RNEtk}q;_=rf)AX{hm zQ!bvKKEV+Yk>LqZk*fXL&ASequ=iwT@+;~ZI4zAO)%Bh2b@dF~P?VFE7Mq?F6&&p8 z>0#|)){`nT2NWj&|FtnP|(oQ)LfolP@WqT6%-L2 z91s?H$}Q+rpp(T(r{DnpQ{FBD;tlHQ@*aA9^U?;;UOVGsy(-d@p}a&q!d)t6y~#CS*eDM zY(r{dcv#>m?@)JlD=!a6PZukj6HbmnKEC!Y?oI(A!G1xZU$j4HX73Rglb%&tmYbQH z6PlXE(9>cgRj@eo}J6Jood$>BfIeGd7_y+lhhRX9-sM~8t`_$Cj z!pzvH@UY<2xU{&m;OH=Wi(^NRn%f>XwY0Lbw0AgZ>2Blg=I&_W7#64nHt7En%n?#I zXv^+{C+s|eW8%}YSn!naFyEw@q{txus4!DgtHb*bpR~2Ha@>8;&fdWd8*cCB>fq(? z7ZMU4PJ3lQq`hZgctT1>Iu|3_C%`W|73RU;Ws|ty`Av z+>P{wwC+1 zEM2o<mOacZq3>aPn%GKS%(;x2|{KfO7ePDQSY*bjlDOYpT zldi6Zo_O4J>$=Tr*6v=tdikQ&kL=oa_~a35hhuKemR1%ljl2I>=6`_pJ|UsW>B-6A zVJ>X9#j$XpkDu6uOVhV?u49eKjs%*x8q&Cc1}+`+*kFepYn9|y3TE9~YQ z6qB5inj8`4aq`5`la_~fZrZYQmFIRaXBz<^~QZ$Hf`OpW%m=?x1X@FwllXj zJK@a!&Cg%?KmX9^OZhB<o#p$xMtzT4ci`FsDE@F=zHPvM;C6~bL61e{zDcP_8vij#`a=D&FtJUA-RQx%wjO5ANB!*VImY(J4>mh4G^MOl{o*qEmBA3aboNrMZUmthi7+>q9%Y ztzEo&)v}eVm#p5pcKwmS>)ar^cSk8e3>eaynt%+5>mnsEOTMp!!gMJ8q& ziV6*71$l+}sW~A&dk!Dpyk^;&l`B^*U9x25x@{Y_Zdt#6!;b9-%*>8io^-?+xqSg+ z4gq7r;xlvei%aWkYl^dql45)utgSb!UcXGg?CG`ZSL|A|VbjJPn;zeHXotDEsg0Gr zyO)RSJc`XsDg3+5sB%B%2GgZQE_%ky8j95lY0*C+qQZ0&RuKQZr!kM-R2#S zZQ6hE*xo~jPg**9y1KhL&%wy`+a5n`;p7vFBP=SZtgfrb%gs!V@v^r$bZqa=ty>@4 zvsv5xU<)>6@811~_M0BDwmfNTN5JFe_$7|T47&S;#i!;NN-JyVAU`$EKfu%0_KDq3 z?A*6^r?&IueLMH>*?s81!2{;@X6E*`PHqgqejZ3~-2TK73r8>i@c8tcoZ^zKtkmqh zw3zr%dyA8Y_wV0#R6F`$-+`0nhb>N+9yxAhW#?$`S+B1lE;#oT05T#j*JB+ z=j3K&W~Zkn$40RYW~N6>k7!4(pFF|kcd)cLVQyvP>g4L=?Be2NYw<-mvGK7zhfazw zh>S^0O9g6YCB-Mih531T*|NblT%75`&g#ShV*7=}^@~(U zuf2KyAy-Y)nfz6+BcO)W{Ct7&r_W3X&DHN3wAU9elBizORP4c0 z)ej5w8{`K*yp10oePr>%om)4oS+Q)%q9=B4*|3_=9^A8i(>ng;*#6!8%krfs5AWTv znO|6$9(;TopRhMS!Y|gYaIrkTf7h1vtK4i(9NP2P#?>B<@(-KVo^rN2zJKSIbzZJE zW(Rg}UGM8|ck=L_Z5skS9n25!d2EB9hl9n@z1ueic{*Agqe1W~M|#?^DahN|+I0WU z&Hi4_Hl_!5ZVo!-Vq>;{*XAH^^?i%K>Tu_l0QviY-CO*;U2RSI9_a02Yj$w=mSA63 z8&kdq`nuW3-$Q&|jlcIYe%{}c&q+J_SKm)LS(_f%wI#sQ_}$li?z^Xx)p36BR})~W|jPZH%x#RnGZUzX-_f1|N_Lj%??bzhyYOm(y?r5v#>1J=u!fe|B z@L-tR);rr;(tOK0CtLHQe0;5g^$C_^(`q{lp0;)UDytK+&}&zkA6M(V!fbBckE(rG zv2>mtRJ>aK%I}#dnn-@AH+fM`iei9_e30-$!Vd{gBz%$ZM#3Knk0gB3BPQnemzkWn zzud(1{wkA0_cxk6e*ZC(9rx>(Jpvstfe}!l?B<<&kDRn~@eT@&Oh`;gByvvx(}eo^ zI@sG-J2=`wMA+HdJ32TBM00a>c66|{Hb44hG`~Sb^Y*Tuz9EnaiOC7kv5|3M!9f9D z?k@J4{adgi4la(a4lYif&fFc4o~xQ)zOI&S(~3YdT`HID2=rnp)`(|S=ze*Qv-s7gMtExb|D@- zTpSlTzAZP_nUOm=+S%DyoH%y)z@DALs9clhD@J9bFe=A!uTHKW9$wx)-aed5ckbDL*pz_7*1<`0(mDUa!QS4+#@gD( zmjB9^wT-ovh53o&M-J`Zv+J?VWF_R5>wY^=DQyr+Y5$>P$IZ;mEv+mqtt~9fHFN#R zheApHO_5X|nI1oO^e~*#t{q!9tzV;9t>1s0)!Mmd@BV{_j~qRw9sASqW54_<4@o#9`4((?O(9(;og1P zz6E_YF+pT9`tp!c91ehg&u;-mGnUZ}TQ2SqNLWVmTxuY~eT1k}FrOTD@k?T5auu zbqm)%T*nWJnS_{Jt_V$GCclyTT(EpOw5RS--LgM^$$J8`*oyxLZ0Zt|1$62d%~zjX#IGbr^Z#Z}NQO1{XIt&u5A!)8@>AQ!O-x?6 z%Gc9h|F>;#n3xXr4Y`gXJ%z)q^G5&XXX@?)wOhVc0jSfA{q>k zd2n1673KW5uBB^W7Swz|&t=DLcayv(%Zq$IjXNrul&N=eTttgLTtX>O>g zAWNB@oogs8F40O}E-or8DygVz?H(8zpEx@@*wb1&GIYA5v8p&PBPB5*9tt=nIw~qU zE-@{qr~*c{qNISqrKVF192ONDpTJ+?rXjx*GYn<5&Fx*? zo$XCEFMjKpo6}=`&6NciiP2%u-@+VtKzs;qB9uBTJ-tQ6#Ky)%@tdIFu$biR!iw6a z*0$E>`s!D{cmM8{bAz4rrManb;X%G$?yfGbZXRAf{sI2dnJa%eS#}*!Nt=zC@eAx znoG40jY>$%E+{Fltg5OkD}MFG7w+Ado*3+EWCjV548X%pb9>j_!;_%F$+Q-BvCUM$1=cyUeIz2ThJ_d^O={wi2T)udIa*PwrBr=la zx9oLjke?^$>?A1OUbRn1PEAeYP^V>P=j3FirzFIX^9b<2dwq8L!ufL(V;t+2nv%TC zR8CuL3>knRA2&xEOAAXIM>n6Kh}cBAsalqneI_?QKQ}8aF-9$y*Uj0BQIq`h1mY;A1qojrYnBjb|b?(*^thJwN(=Cyqr(GzJY7K-4JMzvcz6edM#ZOONE#x*$IFug;R6{)_9ZK?umo#TRast~pOF|9 z;_K<=?Cf%W>`Y&GXJ=P;Z{O*@?v9qm+N!dm{OokNIxZ16(?1|6Bs?-UF)iCrTwYaE zTU%3El9wJI5$NN=<6S2Pd)r%@8k<_%yLx+jx;xvr9A%iNRJq0B;V^FDT!NVR7@(B2 zto)+#>iR~~MrHXK@hq>G2Sle&FZ)g|D<{9WvZ1XD`_k9LB32gXXJ>LybMx}^^T>0h zrDdr0b&ZWM-?=FdS-@O3BDAsc!D*o!f;vv>N&O1x2!1B}Imutc=VY zRS%4md zRZ%U+r!+r3K0E-_t+_R_3V945h;tSknV4Bv(a>>vWMb;V#S2rDW5Yvd2H1~QacTvI zf`Vd}M66$7PD)IuznEMxnOWS0K-vd|$EM~KSGV*GoxLzUJ3BLdVR9T_*TbQxE|d0! z#icmaa=AX3TwgCY7iY~`a~(>@18~xXp=KM(>N^I;FU(xKasAp1*K@ePyS=Hlvb0EM zz=oEV6yxDi<0FE(KMa5?l$uE5F*pzx5fzt`RaD)2dhEjNja#>GighGM*uwZ30C&Hr zSS$V*3y__j6pIDHX1i*xn#)g9ljO35g@%zjN=nbKXzCf6n!R!R&h6_n=f?+oJDTwr zWhF&gkyiYEQE{Px4pQP7G$z}_!(DU#lbe_wamHHIZ=z!pQgch|yN1qPzJBZWt!tOh zjrPlVs3z@NqA$5#OvWuIgZmj3798N~LmC<@0Se)oBqqeg#l|J3a+Ep-&R)85I$9d)YO1R%%gf7zKtu+WmP{%EYb~x@`pDL0{|dv*FtE~TImID&lUZ)&Ko)9T)?t*)wMDa6X9C5f933keP)-SHP3ZhpQ&GyFCm&mzz$J-4`~rFVGZ z!lmg;Q)4UvHb!gInr?A`8Api`WyHmT6tFR&p&`M6{)Kopc8Ae%VKei%klkm-Ca2D` ziKn|UQq9e+IPa$V+A7svyofAWq!#%~gn0cxt}8R-!qNj5zNEUTvwwK(?8Nx!;OVY* z8n=_Y#d-iiID*#?lxg z+t)(}oF|z;T5=*C#Kmf{e^fY1b)Z#zz!5d%apw)imG!M%eP@QWp&y+&-P_%Tl|DT{ z;<&qASy@9at`PhO#-W#(Xii}%Q_z*aT#EgngS^7B>c+ONzW#wTBoDj0dU{Wv85)+` ztuCd^0b4oO15hk1Sp18w>@|*i9&^aXXx7j{@9F;2nC9-D(*r{zqoYIpJq)0VGo6>6 zB?kxJjN`;_26Mn4mXvCxt?UD?EG<0?+f5gpJ*2I>W&AA2*x1MbJK9hSkYSwa+%O1$ z8b_*_TLMCnZIty9zfmR~boX?1c6Ig4wHE`$8dSAjd&d^^F$D%ND29PcQOSN6;M2u%CklQDD*?k67Rcjq^C7_kOS6kA>zdoz zNx!!nJHW>Flg@47C{&_lFm{kEsprUWE(mFKx#QR+UvJ-l&=`2@>V}rq)|QsmHlzas zgF{0D>}My&mD5A)DY5HkiC#-`H&2 z)6=pk9qp~n4RzHO96FXERT%;PT2^exNsEsN@N%}bwsmmx4NJ%@D90aFU&= zx(^`*C%d(om81jq(s&@{uLKgQaHH-H(4n@luCV{b6_D@c+>+|K4*JC5ik_gk!FVe< zGpV5d*2cQ3(t_-i=-^Y%Hs&WzT9E^eO3o@Q<#rWw&2i<;Yy~6eS0~fhfpHZwaQnZJ z3sP#xOpNgNu(vQhhJwb`H#{LDzesjl%l}nDaXCBE(bYo_0|Tr>x9UO;BsUMN*Noe# z2I$0v`ncGfIC}Uf84Yi8XgLPDTSPe0Mo`3g8q@|qkvk6lVkJ2MTFDPe)d*5!*#mnE83H|c1VqHA zW@Lad(f_1o8{}$r0b2%#b;B#IsYinvO52P?CqhmV+AI(Ybp z#R8^@(PHBgQZfyt)eT^;{xd@(+Q^F-I)E%FvaPwXzOJ^muCfGh6eq6I+0N4JxT(2~ zlc#@JOk$DG;v{i`r_0$#=V34tTi@hT}?D-tgR?6FU-%) zp$jZ|E9xO^PJMj?0-&CO;j!`Yk^aucih_cQ#?Jl`0gnSfwr2T6QwtswPg7oAYyb{R zbIgXs2o1G0HMRA0#{KK-YN;*BMIccEMZjOhL6RY>scmRhR=-W~Biby%`7NFD0lC~@ zk%}rl(n>U5QJ9$!5dna$sF%OX1tafUCGc@fz5x3E?zYBqF*;?HwX{Dyfb(mr0TKgPK$O^SlG4H6uCCs} zF)7(#RHSWlvu$ec>Bm{OHDb{DXayFB+uGON+E7K1CjOa_kZ>?2#M{LVT0SHuB`eQh zz@hO^1tnDtt=)Y>cr+9OjUE&fF#~$&?!q#Zi>)O>$;r*(hJ|y(EiLWc{leo?GWiuT zG9gV-d2N%>9pKO094+VlT(+RBs*WXsWGX4Z*lQVYN<59|Etn*Xxw(ytcW`tf$uUff zmhrQ!+=7xyj%I5!F@(@mWX$qp8xekiU^thkpRkqhWuzuVNqR?mI29C?K$xy&eIWlT z=a#UcP8KX)i+?{sxT;M0EjK!;tV}KQVOF-5{T>k`{>s(fikRIeI4UtUlixm+e}A31 zz=u^3+2&>vPDVxnafzt&3K5S17_)R)Z^%Mqr6WVCc{<8Qs}aN4VMM_ zE<|XS z&~WTd zMR6;NS_$wYaQ5@}4+soo33aa{%^?3#RoDwIX3JXAt`|=)&(De`);lm2034}wXBJF*FIdb zn9K^olS%;xMe2NHqa-OU6GEs=EBiSN3+4?LMa+ws$C45@ACrr#80c4UyH>=qCS$er z^%6`5ilkRaC1pj~=7{$vkI1v0rGOA#su5i+SQmUTNDTE$6@>xgJG**-&Mo!sr~E@>7y`@?#0Ex6t9ejc-^7X$ zr}ctLd0ZQMUod+w%*+r|=|oE5wAW`ze`)FkEF7TE)Xk{`2R`s+xKUSG3O0)DT))b*+DCQ&?3y z{Y!}?>5;#8aW2{#Yu(&EF&L59JIo}ZlUDK(H<`V_{qk&FzSg8~{tL@S0H^i*PmUNH z(9A-%i7T(IbSDoAM>tRKDwvk=uc2P6{{Zr>u}PMm`73m%tJCUr4Sx}wFSPMn zz#^{F2p*4OA2_VN<0<8kA;E!Cb>0arqPBq#YoX}P+(xVn0H3dD=R$&kXJ10h{Y zVHUsu#hAm&DqYpT2?ZhHk~GAqU>Rc|W86tRlYw><1*OP<=^!&lT#vp;U#J!R4NgyA z{x3iVMIK;_M8qm2slSh>JLz&q^51SA-ZW+vaFkiO`QjOh3bjJ5;B(*bO|e^r0{O3~@Id5SxDh!yyckAmb32HzDo+ z>>D6C3};8pQFD4%I#5dh7bJ-w8N|Y(w|P7ZA^eqs)#3_Bz39DOKLxz@bYlWCc{xn7 zd~t~?TYzbU6wsGEEM@G!5^#i$HYqNOase7cUvd0A0~tNr2OIW#LD;?l#tu>?-5{AP zAte@+zoG(VaijP+KNwg^v$(mtt8s9I_@DBOAz_iS`z)VoD^{#DV?_c<~Ki73b($b{h^H5bkG z&u;Faq?-c#7x=#gwx>WNl7xq`xtu*YaJt%G)<~Rh$YJzRp)zX7s`vs?~PYxqc>K!YejrVT?X@VcgHerKv?zSGNJRe4`Kpq&46x zBW2XGNjkT`DEN?|OVB4SOwuKO019EatTqU>3W~o;*YsN&l4k%*#E=(av1q6scFM;$ zMN83Ab!obEElo>(n3AkZ{!huwFk2yrF%se*gtZ0<#77xfPIsOACk$0^SGs^s!G<~f z=PxROnyRIKJZCYOFm|h1YkpsROsSv|5Rq{Nn)^p{eFO=Z1HkJIzZV;jg#}0#9L9=a zIfXaZntwqD;>-mO$%-)rSuMdXfx+rZh^^I%e-AZG9|{X|T8m`yWD;8Q2Tj6U=acVI zTh8KX?jH*L^QDJSxy=MIx{5!Q%cT+^t7W~;7}Tz_4w&fXCb&kT;N&>6IcgP|gK-%G zL&D@}R%2WLh&2TrV9tQ~pD5d_mVxk1Yx$5tfPMrR2CIG7sU8Hpg@lVOtmk%@m+(>8DM{)`(kz68mRJcnNYXwq z1VT^OsdfB;oGetF3;>e+Q`&QF7(M<<*YO*|&FZoOIQuB+KyJOHYCYKp|DYay&;RP~ z>ckNm+becSGB35p=oQZJi{|otx%6ZW-f&T4@bT}5z!G8;!eYJyt@u;*e5Ma_z>B|6 z7qC$>0`h|17)mFd)AQuc=;M^HkOZe8S0(5stl})-Wz-1j83w;Q9w@JC>l+%MoH}=QWT3014zQ=}p3u=`E{J9YQgpP`m66{!#&VKKg=)u* z;jpQWYV8>uh3p;~=x(heVis?qmAoVdI~z+#>bijgSzlQQ6c?7?C_YF^PQxhXaC6G( zU;wszsGk&nSpkjYj%oSVan6!@B^Xcw1Em`f%>iZ#0YYL*hB26iPiqmNNcO6wwltr@ zvJ_x|k`N>(h(#mL!56BH3=c(f&>SY2MNuw5MRRUI@Dg7WF*nmbJrSP_lt_k7B-cSz zi}FZ#dle#yQD<5DfqVl!Ab;#~7{f*SW-tC=O1` z5h9S2+#Ak;1ruUYk_@#Kh1uk#&oje;yn0UI3f&%gep-HN+W>3pa~iSE&}J+)!mD_h&W02z`hm;O8`wGIWl5p2_{30 z9f*n`EXdb$PFMg$5=+iKpf~@J=p>R>Eka^rKHkRuFb@<01WbwmXS^aJcsDXE(8nEV zfu$AF0#^^Qhv2QZJQzY`0yAjr5<*~(Cdfr4@SjBF(02eFJeuez!UB>08O}ZM{Q6D}t!B@Wu!LV3NY3u%&WbQ4qlI(*YC%9hh4?xSsNp7&HjD5SuJZ&^<7! zv>xd5iB1L03W6bc7wG_Bojrj_91(d^GU;2!KQv}U5~4@>NaiJq3y}=K z*=kuo*x)MN_)U*hnrZAOS+G%$c;=lh2wYY=!Vdf<$gK{DkEIVafsqdR0cVK$V09sd=+P(`zI-IUmto9 zc;@Wv3gH?NpANGo(t#?Nz-%f6C0jPHEf5lgL{nK+ZKFhg!o>ro{A3zp>rp?DTh1-6 zl<1zo6px-Pz**sDjuy9?#Vab4lmcN_FY#-u0IJ|XKk*irSig{HmB9hdAde7Kkr=-q zenH%8VpDQRk-^>)()FsSl{8vZ1RM$2)Dsxb(atP@AO?{rSB}LL%0^578&rUn(xBO< z!ZNUM3|(TnPE;Ia!~_YkT(|&VBsFrwDIG1x9VkaCX)z*yqqKnYoeA|($-+TZp6=~x zYe0KIK8u4AC9JhKUMfJCNitZl6Cw^H=SFI9PFnyAi7=pUZrx!vktbxp)*5;9Ab($U zOcc-3zOGq#3^L(>6`^v$l>|Y!8%3-34h#;S>F;T)M@ExKA_wE4^dG*y1On`zp@Kyc zEr5|*pt+zdoHi;0NL{jWBO@68R?%d|vdLMgm`QT7eq2usOm-1@$PRI(aJfp7#%6;J zbgd2A(?Vwpk32eby0fVYE;kY-O%{0r%%8t6Fe5A`g^V&x3UPmfWLS!X3Tw{V` z6r?TivUo6+LuJE^z*{G$H9(&K+Kua1rzZ!yL=7hkZa() z5PnJss2(qt9S;PgH_Ar{gk=i4s#g$9$)yJ_k)R+`iO5K3a;}@ipmZVFNO=|r=1c{} zB#LLrD`8Z$nr30vNF|fmhloOxWsszUp-6Bw&JWxoz73{bF{Fz6SF8>(nna{lfwk? zbOOx1;g%ul1#$`apbG#2`yvr}5yy^)>*}?J-$;T<;sfDqVP|n-hC&ZdH3VN$ZND{6 zM0ybX0M$#3rw$@P>Vk$}Hwjcz(FHyQsR6#)AgVBCzyLJAH)t>Sm-fPvC#Fb{E16@} z`~hqh@tFwDh;pMKY-rEm6*cY)yi}=%Mfxc$%1`bizyH>S=*m zkQV%wu>%NonE^{EJ;)5S20d%|yE=>=dMtl0H^@j~Gw1d{7=*10eM1fb52rEP2%Z9i z3pFSp6#}sCx47iu?Bu9G6r1*lB}v@CpvcaXsL@6I84IMAPVB&YvV)2x5K_L89_k=Q zepX#>$V?zd?PzOlOYLt&JdhWwC#H*OD+|Q=5zgQfIfk4eEJBHsfGqlWqFdjjPO%=I8<0^6kr0D~_9H})iw?U{7&5F;T zT5uoF#NjT=`D3n7f%0hhjenJRS27y~S&0#T?sgVt$4n{u^p8-)BNJ7vjMvT}*iFmV z41Xd`BgCxG6aR+OF?vkVz=J;05$_qleDw3b}5*R~cH{nd-gTUwg2 z8w84yTo$z`Oci`ANmQ!CDI{`qaz~gM6eu~G3<-K+;t}lt54FArJW?2RQIhcs5w8eh z1k{mWljuTNO#AKw1 z=^>YhTjNaP8nnl7K4i9P>Oja8j<$EAmuMtT87Zo2>c;g?mp7sloVjtQw*AcH?CqzY zZ|)nLzWL0zUhEt^cjfN=@4eDDcJcbX7hZa8aANw#y%%156=#3r$>+ZP;OzO!*KXf? z{yP)rr>|V+hspC7FJHNS=V^gb)3ev_j)BOgF3#Q@9v>KX>s83gv;J(R0&`yu0tr z*m)GgEr5>+4n%EZd*29%2B})-8Ij@=2=(HHGewGtG&U)-psG1C92r(lNnI#6mcu~E{I>`@g3uroQ2U98E1Ns#LY2@sbWd6%&C}AqO6oOaRT7?417gawm$oB zcxKI@<-Z|BvE&nQkdi7W;hRYL$~eGU#pmh=UHQW@*mHf^=aLNIr-vmF+kc=TnSr8W z@PP==x{7nTckmP?0vQCS5t`9$X@#U`aKBY)q*^(ab*YLFscS?ufV88rHBrIdK{aUMyM(o7^{5T*;$hhGW}3KVQkRYAJSe~AQUU}y~K?WN0?XJ#%>UqXS44o1b^ zaOs#M-ae76l!k=zWTFGX=0tz-%*Uw50?q)2FHX-~xvE`#aAo$g>H<4X9wHsLLmop! z3mK9#K_V|b_#?(aGmB4F(uQ8DRHiscSFh`?H(k3jGtC%;w@D&DOoEJL5yC*&R?)Y| zNqoXRi9$t`E#hXDsJnld!!~o}`i+~nz{FQT<>z2{5>t)pZNZ*^NARx_xXW6=@Wd;> zk53eJ$>7-J#hI(uZ{F5!zkBP(HR=P-DN`bABmkU%#pHiU21^i+j3UN3Kk=(VKq2`! zGdg+U@>TS|ckbN2DFq7W5YJ~3Kvx5}Itf^aG`oWGZ~O$@%Ue9Qr1&onW?t=qS6-DC#m zCo)N{tCXT>l&AxmoP;BUq(fCLS~OkyOXRBsd@%uHlEE?7kTtk<>*n>VqJcIrE}}1^ zcynS3ebR-=(Sc4>Fp>mQ3JP8Jt2i7U)7aiKFoKk5_S*FuNT}uUqvcqhF09>|!I3cx z#_ZLrvll0ZdoX;2LIvnuv^;(8UBM-U1B5gjBF@0IYgcD4UqHNDhX!^4-Rj8LS+%l6 zE7Yy@wGm574p6BzQQSzzQSQxY_VE0r%d^_-&t?!bogFzNwM!$Y!zL!rU6{Tiy6PJe zF3~}i+-$8>EBPA?i&pS`>4H$c_YCz`7cNb63ocGgz-USV*5tW!XuB?4nz?pUDYGe^ z;pI)@7IhW>AvQxrWzrtm4>t)*cu~Si1W|qcqZ8*ZF1+~RG>uu-tCuE+d)o=+bk%QG z;S?ndm+(LZr4kj4Pn?_5rhbYB3?Y5b;92IQ?&PIuHs;2St0D{UX=@UP2o~3Bf1)CJ zi4KS=Rla<5e1d&Ox;#YIdwBBV<=HD&(8O!gAIj2RVOvKAdZcm#ApGxjl1?Q!k>+R` zdqoR3K7N*vd{}bcNW*A!l^ad_k7j0PFB^4YoswSGTD0cRK%p`Mt@K~T;i@b?l0qbX zV%J4?9=IPXk*9;ESy&G zG0;iL+voz7t9JTB<@Qm)L+9YcB{46z?{JSU(1G}B)n1h<$eorv(#Lt=H%dMPynuCdJ#Px^ zNJuwSwNT%1<>s9ypL*)$F*^7LYw>*<%NBq8GG=udh1l!zBJ zl0|Q}hw>tj@|OOI834}Z=O;L4NMK**u=R*-E{5i$LP14cbL^z*LF>@k-)aku zNXRN}>^pn;mg?Z{wdr$X)T(F$|0&6wJ}O3PNI0dzr9_H1Rs<(u8>h0ZU2E6c-f9hl zS1f7h0c_oS?mqR5S1usD?CV|F`|EDBGorht8V(YZ;4K=dj{)Gi6A>xl`;HibgKfd(nf1Q$T>awa9A*V3GjC^-Xm z;p&}xPd{~Qc50L|m(~_aejdsQf5S->?Qyh3l`sN`2}J87K8)Z+*Q_;Z={K_s6^-4) zQ?obk-o1VG;`l%}x)8}31Fl6dRh*j^7lx=nNoI{$R#+rK<02}_&!awq3XiFo>$h%Q zzdT75VUt)gUH$8PfS|TOD!qI?$x^r?a1o$l9DroAwfY8=k+M?MP3=-<0{z7L4RjI> zU`=bGCq(i!UuNVYssz#5NPVf1$WnIm|F%643RagJ_GkBF{ z;2IdiYFA{(qB|zhg4&pJ2y*0N@+;HRzi9=vMqSg(BD<|AGsyEjT^#Ie?d*A%kFRk8 z1z<>#!<2vH9=6FI$|3nR8c{6R9R?UTIZ`$ zid=3$|IT|fY^|+$qluFndMW0RiKix^fXn)(Q#>FRS?hUK(r6Tx#)e3`gO{UN**fsv z2tX@A(LCDzrh9}@)(!kp6kKEx^HN1xYtNg8P9pwxCYKN%Bg)SL(!6hi1i$Gfj}GgH z8%!>WUW`0qE(-ipE>xqQpc<4n%8*UqDDxVg0-ERNeX}(g9mAx9v6`!kvy-Bv1j6zJ z)u@z%x~gqV2JPk3IydLPv1a3E&x$#2hLBB+;Dsc%7PLQMVMEHsFJ!J9RLgsdl>dKY zQ2zsSsAxs_@WgOlNJ$T-rY9)Lr7W0(Ai5lk^iz^?`(~StQ;|%t6c{GZflR^FOlo?i zt~gv$TgLQS+Sh!_gD-pva7o%LLSCvsq@b6y7gLbBWCC=^AReBY@^!cN>bzT%G9T)u zgwfARjFhyS%KTZ`N?|iq#mIxuTu3bNHNX1VoL|)qYC|uBeMpFqNtGG|CtEp1Hsl_? zdF#s;F2<>bNhU#py4hg;XJk z!vt2;2pcc;vK}tHRK(uFiMwpnhe4>Rx~FddHzQ|G^QKIZHK2n;Q;SBMf>{^dEaFVk zUJ0b&m>|eMl6vE>0j!se0E?n#%DfOv3SC|-I+o~A5f6|8b|tgFU#((jt@QU&1xvNR1bvcRRU9?B4K4g< zr0RkK{r?_dUz?d4=_5n{l7URM()WrfnG=_)l6!bYIK~BGKUJ;${vP3z5E)g?C0LjC zAJd-nDM@5fhY{hr@Q0Eo*1~?l;7K$6eUNeWvKoNsZs&^H{!oH)kDNBC5moi4i~5P0 zy~<_&eULMAk=lyZI&$%%N)aV?Qz`IHDz%JNQoQq4%Ju*WvVsBre;;R^pB(L1aTb_P zvG-++26!i$@bom44Tulvf*DB%e;?@hZ;s0R>9*Emdp)6)IRS@7Lm}^ z*q$nK8G+v6_c8)EPXYCE^HAeRL?QvjFOW&i$$6m7gmzSK$q-Q$q6#I)anz%F{7(^X zo>lSE+|y|fNHC5bRm;v(Du`rhitVHRI$Jx2r4vgNS*N zAWN!J>;63kh33X2^t`mqO=ORno96yL!qahzGbI#Z^3ns5L^k;pJ}8#(ztdLO;-``|>W z3zdcA(ZbVe)t^d@4%8=1<>`K{|83$mV{;>a5*-mHx<`#Pg+AzGIDe_Bl%exrq8Sg(M`t7$l zoAd24MvzgQTPb<|ocvB~oGwm_{}b37@W}|Ynh)s!86M-8NRVh$H}bAXxK-gO)rq3P z#e0w^{EIO|wIKC@te#3LsPvYR<|WA{#c90dfhdm^BHe_NQj+vY091C-m?023;%6+N zEPz(~fl@mQZOrf`oIa~N`)fJej8MwCrNkHAp;Q7&dO^r~ec>AgGJWB>=cXO{B?p+2;8cc@B}0mv4p z4gfHs(Sqrh#DK`{YisC0>P*Rv&9A%+e)61@wM{~1a7dK6UnGl&d_GlT!7n6_ziVn# znsrf^%eotvj^^ht=q|jEIBjfbfPAA+H)6+Ne%>{z4Y{GpKtKl2fv)vus?@e0#)$U` z@NiWXck%o=f=nu^Bym7Zm<-?(a*7h^iX5Q3SL^*;Dq4w?ekwYB3I})}fw48D!SuBB zprTCbDbx&dwcK}E0f|$MwF9b}v!h+t{=s~E#RS2>z$pEAMu-Pq3P24QQV8Q7umjQo zMSK)vve&{{pga6nwqBkO=`^EAgRAcfDGG5R^c^|R`C8L=mFSb$s+md&W(@N()}cuU z)Ez(uk=~xYdX0COUH{Rwt5@g&?xeQ^jhU((}5Tr_K^Bk~1dE77rjNQ1pFL5DNjyc+X!rKZUYVG7JbaCZRm8-MFd0`3`)Z z(3#`tG{_iB1sO_0UD|)ZJwngIy>+30A`?LU;up@t6FCAM zz#h(MGg|vc>hcMxeO}F9f8!knAQNEz)Zj@;kKAD`<>z!jP*Ey$yL51g{hFOi(y#$% z&q1FFC;c|d&j93wGhOf$Uv}_7I>?o3x%m#RT)m=R7$9eW9T7rOC^X^Vg!_Uind?B- zK$rS1Gf?fD6@RO^GN`qW&O-zQlyDlVkm8 z&Vou0kdo*1=U&$ld2;})ptyopvsB+eupWe8%7=mJapo_c4Gv4mfFTKdqH{unDL~+aeYr z|0x}GP?#hnv~)0`O}uZc5vCeP46cY;P-VQwN6FRo$nznZZ{4|5L8Pr!ydqgwk*6t7 zMn;U_Y?AnFY*gY5slXSTOM0SSV3O44j-9(Sd;Qj(C!dsYy<fXKi!WEgD>SErb2*vyndnqihDt4w5UB|mdvo$7E z`^~#gJ^joxiW+}gQdx8%#Hu)C-V-CoL3jS+sdK{IL4Uz~^}-YW5T`RZ%)O`mou{68 z_POU|dxf7D?Fam_oM`MK?Xl|G#gDNzIHpmu8fVC7>iRztkB8N~eC5WSr=EW9dF}bX zB3YZ)rlNaNN8YgV?I-Wi!~GZT&)G`3CX%j_ zoCecS88bq*nHkl?BwgsoKjf%$-6V~3_o-)|lL7qtc_}lJ+@n%~80BY}26>2b4}XLk zmodQF>nHwIJSJA)Iy~#s&(gv3&p$U0H$(?5b-bu|RGvZ-Zg_`Ju}#v!)VXuw>_28{ z_?K%pZnKHcKBs%`-=BR(;swMw2vNjZ(gTSRNtW<2m93$NX-dzhbW_^-SEM;cfJ4Y3 zc=p+6p1${#Ds>`-N^V|i8xbIp7nzz%xJkwh^GXL7&THpCW@DzYn%ts0oI>5b&z^en z?j6#HTHHUYf>Y^1JOo#@2mG2UuOn2Hql}_XEjiU6~=^l5DVaP)K=Y z2RXlU7iX_A&wKZnwtW8&XMln%@7G_N`A|xKHc5(wgSl zte&AGV*xn{ z*OJB;-tS{^v#g`sv4}S5|_rCM3=bwH0Nww2z zwSjA6bInPYRaW?FzHf@)J30a0s){!bpeeX2J$(12mtWCdX)yWT%MV`s?ziqg`}F)q zk^(jcb%Zuj165Ka;x1GI5X$7!<$Y6=GKuHD^}Ux~e)YB2UVTM%AX~vk3S5!|AaRM5 z;t1l)^POu?@hNW{kbSr?d-KU>U-<4zue|!&Kg@T)2=3gH{3mEZN?(<56lHF9mLK{o zN?#!5vkS_3W!B)>)aC1UpSk~?mtJ}8A9Vll%U54v9n@AJ%M`RS=W3<;jJQ7yY1jh@ z6k+wVPzK1`A(;UpjBmgA@~i*wkN?OJ9=s?EdGF2*dA**1g*jJE4Kp!Ipf2zgZy^AM3kNWPd6i=w#_}RX zB+;hzXuS_4Zzk_4YU51@)ceVcX(Sf{-xQN5tQ{}mfQ41U>E;gOJAIV(9uy}+w(DP{ zy}T^4UEw_SPAE*5$N+hh9*TTP2*9Q*!F zL-?`-oDun9qdTP?a%zcLAK+Q#1!7W~1PxU#XhLePkkOXQ`z09x5)M%woSE;y_}&ka zlH?Y(p+AZ&TTV}PrB?abTuqj~^=Cx6)#@HdRz$t3LSUvE!IvEj>4$zG129JA^#};S z^pXkWE;l#GMHXoUZw3+R#2{-3KKld*h9718G63C>Hu!z+zJ!%cH0Nbh!|b#`j`o&t ziVsA)FE93B4JrNs*dT`$H#~So#|l0i8rFt?NYt&YN1H-66SB&n7CJ>;Ds_?)JgC@5 z5T4}mK3997ANUv65Csw70`o;;LV%UX59Ce~3HNdwq(l_hDQavvNb(+=2eN^ZbmgUp zl0ugBtaQNZs|LrU#bptO?D>$dA6MhO3%ma7BP{1!c+P zM1etPAlWNQJH=6n9=2Q8y|C+Nus!m!Er|t5ML;nC@Pg`PB4P(H>mG#cLNoQ>?JkK9v25Qz?bjA}f5@+M;XG zT7Lv_0az8x4xmvMxL4jegDwPB$5o)trDV!#+7dWR7%R=$NB#z! z!za=B!SUe^K%feh;WC6?+F zWAi!LjdoQ6SR67erEoCh6%;X?uScA!6}%3Mggg~s3kxA3D{Cde>iF0g5is$P?#6r9 zuBhmf*FhL57?AyG~CUS1a6!yo`b} z5D6T4qlzw9%ljv(r)Bs+dlAo!OSG#LXcK_&OIL_PaOa2(jG?m-P`nmX(LW1w-;)A& z3Oa;;=>p6F$T{HuA#e-5(Db!C_nrk(+!8gJME>gSK_YVC)t)+ZM_S(7iU4EcO87%e zAun*6;MV>IWJ-n|=zZ@tq8H&^=6s6us68tk)L`ydRd{yjMAiCiEJbm8FiULD1B5-(w+@T0>hOiu-uTckkvjS}J+GdUGEeUrtU%Ulx-kUxMS&YpV1n93_rXviF-PV{9KQHl7JES9%tv=Ykp z42)mAdi(C(o3m3&(5LiV@-h-3$i@6nNuuZjjZ@e(rvT%HCwL1HH*u4DhbDOs=B?{9 zQ$!a=JsJ!m?~^2Euf+hVY>4qFN_B#`(r!FtXB$i`{B=twZv#b8h~$j$M9KLSAQPS# zc0$yIG6FfuTHY%Kia;Sk=J`t0LMni*zatc=lnWba2SjkPhLYfs&{kEVX}zkd`M<2-GxwfC^P?c87!cM6u3M5U zXpW2u^`~KiMF**h(InZ>fhGHL51)PJ-rZZ*znsAr9jHw(s7ov*HR4G7fpIV6wlGFt zo}%ZtiQ@Z&!IV6Q%t4JnErGnFRa`MIvgrXq>IQzGWW(d(Jim8cWMJ)i&?(Jz`5v0>uBhDS$6N5t|9xHsC6xtL)71Q=6X96+Op zQ5Y6^I_>3+H@u}18}j2ZqFZ7lqYZodsk^tB{(MkCNTO0?>hW5ER`iiEStcGxnF9Uj z&#>K>i1CaDRDxSYp~~`6cOxE1ac2u?{ErHs)~eUCLH7Zh@H>nj++Z}{+#j(**l-n* zh|J` zaYnh$8;T`@?c(gIT1H{O$-&5r${>a$KMD*}^#&^6CpkC4F}N_J=N6Vqpd`kHmqQ4F zPAXTI`Z5eQ6uNjYK~hrRBbg_u5&#D=fs05<6>yO3D&Skvt28GIhW_`Wa5tr&BsTolnNO6_Xun=&31XI@5b4CQkaMyy|el{cN zy?M*ai&N8+RmC4rUf#F@gA4^*N0G%3#k9#w2+;KQ4NqR0y$-9OfTLtpjqXRnGUNOH zwaA~KhoA>zeG%nJ^6C*TW*LIg#*Y56|Fg6+|L&?j^LXwzo|*q=eo{-dR$CQOmLw!G zA^So?%z}X|ELjL75JK1j2|Hmcn`lKV6{JLzE;DD&oH;YCr(^AmwrZ!NW7V-j>zUW< zx! zT>aQSDR`%-7|FV}cGNQ5xMc7uB{Ek!>G|(o!Vd&njzkp#=DQUrE~!i^E<^4wV+a}? z4A_Fvk>O2hDK&tB2*bz~vc-B=_9M5TgxwDuvcuj9d1q3dlwAQ0!_2a%NGE3f*pO2@ z$v~beSul3MRiMH~X-R1Z0?+G5{W~%)cZRuZm3Po*2-~%I6r^c*OVS~8X|cm{r_D?o zU|>|0^XNm+Y^)AMg*iUWr4Ai!R1H+ctGjIBfgDzY#i}VD63~>2bTD(UKPlqVv6(8G zYHZgwIn4+^C!DPCP1w#K6e*Kijy|7;l0E-npcvgh~~YzF)iO z_%`yfibccMmKU%1bK;Dba^eh~h*?$x-e3mBe;{SD8;b>J?u*$BYn{^YR;L!%{<}pI2WJ1S|+Xf${x}HYB|rb=-^VJZ_Hx@)i+N zjsP9@ax-Ex8XMsyI{KJ5iOXgC7;4uWdF%pCp0CSm7!Cw4Bt_;uD+U`{yFYt>M$&pZ5`K zI@t`ddLqMMGVJ0*5hIZy8kw%;pEo*I$+`%RC7@$-!1ZG>n0A~%9TUAAy(BMEfGD4L zTE6pMl(1l(Ff|&@n!o@93j?dq5~Z<28K;aiKL$%99g!Q4DJMlxh~7-NlMt=GmX| zyGDzOaYu*ldFu3sH;F-EHo&BZPjPw(=_y!IV5j&QzwNtb7gUfeP6^=$ovCno1rRnR zkNvOEJl!Nr3a^31&hKUBT<`gP&zyx-O&wjmN$)%IOC0Q~KVl}8oPHY&?`Yamy9<_v zWYvr){q?@%_s%WF-KRJ7?kH>0YK(E&DegnchOiixw4}NEWk(Fx8=uc!P)=~Xf@cQd zF))MRz+8-SD5`078_|sQ=l8EwfdV(`Q@-mD7F9NNumbTdhls^n6gZX=5}re68$mf6 zrmRC!Iq3TUO#dnC_j#o?dSA#zpdto^6I$URW@`Z!2|ap#uN%5$=!MTa&o9Jzz8gUk zeIQhnblAz(ya6(4cn|Thr_~+C$|D&jb$~XArS%i%d+vXy#v7;-#)LMc(tv>FHW%AV zhu2Cou57?q;|A9IeM(qFG-FmNfEU}-N4ON}7n48g)FCv|f21SOB`0hA-(}*HIV9Ba z{CZA3jvfTrHiB_OsvvqH8U>X*kJ<}=I(h&LWq5Zq#8JmHk&O5MK%9JxE0Rsg_=lh# zEU!7D=v(YVm#tj-0X!^zYU~4@O5~EDAbQP8&f%8nJ@hGoRqtSlmG78Y{xc>`d_tSR z#sSxzu{d34vL4-l2a#?Mt{fv1;2wtNlNg`}n3?JNZFnWp)qE-fLQIE42q2Pv=zXTe zF3&qvT6GsQ?_MF$k+S>iIE z19J!Y2Dhf42ITT?Hhv}#gq3pydJncWqQp$9gILC!08-AK7PY7KPFgcG8GImb6i5QR z12re+Moj7%+ska@QB<1EvkH8%g-jG$467YJL!V@#96O5kZZqIV>_B82VWDGErFPT@ z$Y(4!l94MC1|+z{622~!1qf#s3?v#s&OxAk3c5jb#quw~lv3_xUtd~iNs;^w18XHe zX(|i~L{ee&Y4>-*gb-~=Cg0O^GeZ_|F-2 z_H|*&jw6Q_5@lbU4kQr36=Ufi#mz)XJ{C^8&oxjFg#2pZBVQO#lnMu_BSJCA+y(aG znw6R$;T|N-z3>YIk}~LID1=t`hIum3Jw@WMsu7wFqjl!aFZjZMCd6bT{Yf6*F9?;O zCxG|dPF#V*MrpxAI)ThD__B;B&8={J20IIG&G7ILHc<8Drk6ZG#%kf0g;aqiKrx5o zqkxzh*joJe(vYnCHOMRY@{lYREByk41ckMaRS&qVg@s3?pH|)OX`1$x0jaTTt&JC#80FO^2y-F5fPX2gA!n7WN$98-6*NqJvCs;@uq@bzJRH=7oCvuTBY zD=+c#S4>O1nZQPrW{VrYR%YZWK&=G}QcEJ_c9ccT+io_s@}q*_AU!8erJNJXLL9W9 zzZ^ev_S^;7D=%KT@*@133qStRS+&J97%-(tAPMeC+OWshNO$SjUcx#Y}11sZzn;j#voHF{yqXXd}Fs zf`J1yKtGlrKK;y(&nM@92mOfyI5y2E-W})~9nny1pFEtDzF1;mfw56|E+b1$=ce)l z9uKM`JT#^(M7Oa$3M^wS>x79dBtG&Ve<^`8oLT&)CPToj>BJ&vbSGd-K9zau%_pB= zPIS;Sz@0|ePvKQb@h!#qC9g{6OgR&b4CTw()<{=XQ=a_rO(wm^39`|LmTm3LjV41U zk`(<$T%yFeDUk`<3uQU2Q5GMDtoYcOs}5`53?O!Ugj)^PfkfqSU0sc?-2Z zA57aq`l@J*pdlWYDu|l+uq5;N^)0H_bk)HRY)@EQ6%`d1i(eD9)-6&@=^<4jSmHE> zsq2Nm9_?Zn0h-8x_p8QWsWt!36A*MJ#;wj5a=W^&?9Sd_N5W5~!gGDM~{ z7ug;T`S1HRV;2R5#nk6X&*dyNIpsDpxt6DHXDI*}(SxcV^?}VAAE(;EhX8tufR*2j zVM}`c*342--99<-Mzpr+AuPv>5!ceNhsQN^2A$Wv_ah&iUkK+yg;4MPCoNs0dr3QA4l`LIjQcKf&iAv}of85TXyDF{()!ppa7X$z-- z|LyngA{h5usG-qg<6%2zZc6va(M8}(1mje;=1@$VnKFh_Agq^(T)pS6J7(Q}J3;N= zMg{skZ2p5TlG4+?0l|0;h{Z`4CKskRVkZ#p)9Lo#y8X6WZ@cYV9s*9hS(#3dU1-d0 ztl2zs^3`rUiuvw`T9y}*rU&IjQ*u72Y7%vw+nW_1RsYbzGO_i+t9gxhWp zCG5QqQ2w*MR3qpv*&Sp~{8sOkm@Iwoi4yk2e8y6=>Y%hJ7y)boI^W9WcZ z2j(R9L%hjhoy;ymN{j#TJo?T{vK`>aOhq>*Kw*>4s4>(+!$DQy^Q9{##zVThBHO#? zyEqHnhtro#!DM?f@y|ib=OMN&W#9+NN{^AO-ii7c-DQlch)vL3_CDUo_wFOJq6qdQ z|3zT-Gt~j<9uC31Meh_`9idLZ6+fZmH6dIxc>(_=d~$i63yMiT%j~>m$Mb9rZ(QG) z{eiAXfQ%t66SK|~Yt3$5I3EYBd8Q;txSL{D3-K-4@lW9ef=x{{lrd%nqGSxk916Zh zU;^nLRP8#mDyQGS3R{K2<}KUb$Vv;KZShxb9^KIj0JN8}R*-HXyu=cgObYAhrF) zxRhk%RZuSQTJ2B4z17YwZVaYka0QdinJs^S=EV+R;2_RO4*_&b4|xHotoTyUS)_}I z$R$nT|BeFrTFwI{!&XI;g6>wGkGmmlVtkpLHXlwss7A{p}t9`K8)vLRGSG7%xvX|F zTOssgV^7#UCq99Ygk?QBcuhC6o%uVT;bMT3afbnn2p7)Y8Z?o8T@eOI3^XUgg$zXt z%Nl$#^>AACY}*R+6<~*@iZj|La0}i;C@HW3g;qBPBTelfj>N`suRu1(gbjgQ_xj6) zO7Y>r%E;w9+!0{*j^JPlyr~gkH|Co#nzMG)(gc#>D=C!`gCHgr0a^`<8wJ0@F)knw zqb)$3b(YB-K&k;pwVSN#&pYkF3hfi&hC4Za*HSr6xMniaf@1E4ay20+HU;y$ov#%-YnWLgkR&NsS~S zh)gDKG?QPfhcUV*?JEt1HEjwPE}bTm?iYajw3eW>Rh9}GYoV6fdW{-wrRwkz+dA}$ z%=M|fbW#iZf9NkAZ_6cv7;mzg^=;FV{3S1GO9nf5nD+)#mJURVy!a8$1y_rEj_$DSf$ z8@_f#U^YhZ4XmRoZ8LN}3_=GV3!bnq%_)3O9WadvX??XciQgzJ@z)_wBP>y)cs`Sg zd({Siwamu1uFGr$)Khl%R#x5&u;;`6<-w8fWM3J8KsaJDWiP|51XlZI;gv~QG@VJw z2jTfoD@Wkf@9{tRBsqXjpwoG1!7%xf&JUo!#LxswuJ;&NFyPZ=L-kdr=wHBfu`S^J zDl7&R_gHmD1WO+d9CaCAb_u=o#X8J0nEJnA=CrXrnS+_aYXu81+eqfVHqXR&ELw3n z>kXp>IIG%8tMW;j-@pJDG9wKRmRJn^d-VzdN=L?ZwIGfmnfLD`$c7z}yiu(d7$2-N zEs&%JZ(hnO;}fk1@73ProC5Zpw-hD?za?4(c*ft~+!}I3Hs))@6cs~i;D-F_w}3Mh z^>QxMj~(gx{~afg6ula*nBfVAU*HIQRTgJ>7fjNDDRff!6WR($Y0Ypt+geJB|DJrQ zm(lMO1F5G(FAOo^Y4S0{PyzpP9RFnj8HWBrDV3pIE;27ZT8vsQU(_H|`b+A?G^_%u zn`^RqR=9L)%%rJ@h6Q0lHj=mLss~uZnwlxS#%ATn29xqvurW>Z<;^tYozrRC2PBU9>k=V*L*X%vnvH36xH6T#uDq@t_lu0ph@?-}w@CD8)FBCyf1# z)TIO6f%rdU09s**>5|B-V0LjHTu2{M#A++))p60Ia_dj-_Iv6syb26HHVpSKZ>cGr zKj(fd&=FT*!poya)79veDO-fr3CSMi88s2LF!!Cg2mV0edCA;^vCE@PmH0G$-)N=T zbIF8(I{-TsrEkwYBy07m}jUHL!lmPHRJX1JM`}6D-@5!yo8r$1iOz2FzH<-_Q1jj^M5d zeANs=)D)7|?m-+JDeb`(bn!qQj^8G;tMnmkZ>%t5YxVxYjB1~0cG9^V$Wak>o^{?)st(!ee?T!P$FE6C+ zvi=z(Zyd%di}#2JnfD~Ax*;&*&KoycnHz>pEs zLT(#dhixGKMs-0(ZOLzWDwYn)J&8iCZS#wb`58p;DlKmq>a;=`XaSQDdw^=#oOR1F z4vW3ad>YsDdu0O6(s#uQw~3GB;sPYT*v(tMOfC)J(OBhYkE{4;$8 zeLi~pIC#yWJ=>uHYKqa+($U?&o>+-J+-Tm+WrjVI+QRlsQCo0zh6uvSH@X4f5&yyy zr;<~@IB{%x_tp`Tu;mRjL%G^OF2*#Z#<8`l;t67)$_`+ZAzP-$;Pf`~BL3SZ+{g4# zJOyA)1PE?x-oU1|u6|~{hmM#lvVMSg2O3_qYLJvGHQ-Bg+xcD)G73R>&!HcH`n`M% zLgCmTR7R|&;7u)$aq+SETMvRe!x}cz))8D`VrSNjNNHn5z|tFP510$bJ383iPTVks zbL+A`e8i6&KYmnq#(`cq4L-=Pw{^IRBLMdc5{~LT1;EF&tjKmIw~a#4R&fLdGPq@$4(#T4v%RXtikCc zt&JSQB^e%653smcidYM{5(1%s8pfc9gabc~9s7iK>%frE0nhsi0L=JGx)jjf*965~!;K?(`aoWUvMe`O@rA#}CNk&%};7%Jp zG(23Xi%LkxXj%a#CYW%X`XNT6;T5_~P@hMNg8rYF$kWxqQWbvKonEW$X`Ok7swijPK(l+M^lTPXj)UK>vxe zPa(=?uCs6FmJ!}`yRMq5*7^#*)@s`8V#0$Wm1TN#`(9K(XU?F&o~Heu!3lwX#i=v| zIC6qlb@8h5fvbS`TUu0Lm^T7rCN$+(GWM(;pPD|7`^1xvp8`lt4qXD31lc_S>rDY% zVEcH)N*`a;j!`OKS)5uKk?^@Jt!QXpIkIivu`{Yx7-ZoFkiiOI`iPJ&@QLI{%CuG@ zOKR!b@HZ?kj?a8a2{h~iK2#m6Mt4r1VkUOs{5f_YV-Pq}&*U*=QA!^T!fHfG&F{zG zu(GVUFu(Anf_V=aw^Y}@dgIjL$9{C-5~H+pPhlw#sv})*A_Y3>y5zu}o)s9arZOFo za1p7j=guMTskF9j)#&7*$DY10bNTYja}Lu^9DzDL##`0NE39ztd6@gUSv1sD!}B(h zOB1^Jb1{{lUsBV$Vq{|fiL>WtUO>!#;oR9X$ERJ$R(Ex<8B0Ub@B;kadg8M!Q$B_i zON$Gz!Nb|Vrln`?mfc4mf9B%l*uj%n)bjpAQcSbGlj@}AO}cYTa{%EWv1;TK8uKDz zOI}%6R@>4wxN*n9lSCQJ%v^l->BoO?V8DveRkK6o#i_09d;v zNy#g$^V(_>ig4!X^A|2W`!p{eeu6L*t&n39c3Q~;g#R|Ix4M>jFr14I1Wh~@XAO^W z-^lpnvcv*Uw4k1%xV7R5&@&dC&Ws9!h8jpknzSlI_z@A{87P%*V zknzYJm8@P>UYcK;DSlmcFdF>ja6Wh>N|jQRvBTn@)V`=45zH^$Ew&@tg$I6Ma`W(N z+)T@$wO9~x0HqiJEN+#aOyjTtrY|{gtZ7N@e|au|IG}ncDs^N!xPSKqjQNhn3L+|! z2TzB0Bs;MC(Z^yGd~)0{MNUIkLOTa7M(FtTqKW!|bgZR~iwYkk^Y>m*cdhqvAtk}U z@A+1wLP^mz2eXteKQU_tSAU7Ceyd%SS(4X5WT`I368Agg56<=&xCEL2tXzZZJJFN& z+*JGeYX00?!|Knc*6|uOqaOumEoE4d-Z5*|9pC-_1Hud0Yba{S1kBl{{X%BZPr0|^ zHk5}nIr8(y?G*4bL%2Zq?YbUBN8bjG!poAv7 zcWR0}=X)69-g?`tyBL1xWPzbBzXygd7b<8^KHV?IC8TlJ`Y;f1SS4f)Ev`1F1TR!} zaA)ddS}w-0)bvc!#8{Ct^-05@kP~SOw=AU5%=$9DzwFU=&q>-GJb`a_f}|5EM}TgH zQ`L%M%TDWrO!NN$zp*hSzEF9hZIcN6D?IZE2rI^x`R?z0``dTi89~$Y(xhu@7Wc4K zSGA<|!;r-GFgSQ0|4TW1`hjPf_nPNOjN^m%W9)nvDXL;!u$-dB;a0MXF$3O=!bH@M z3JR2)!)`R@psr3r9PNZ-BnF~JxXv-hlU|-ZKsD!`TRnU+CostgPI3a2oFFA9P_e(U zYhw+g=_@Pe;^W9!QB{#&(VsVrB8rZX&ZBN|v~@s!25fLwJInCX_QmB}<0I0~2bA}4 zV6AENJo6)@aYS<(E;$fT+iaF8b?I46kr)OS2qy3M-XAX zb?2i?^!r0Otm|M4MK!B2-Ob`A)*NJLy!p72DtxFfhb%zNE>i;VM0HaG6MU|6ZIi-_ zGJ-?OA7%-tZR)6mph%2rmmylDm#nr5Xj!^q4YhRZQi_32?q>JuwVRM4p;8{*hBj(& z2tgCz_Xx$xo|M@-bzu9}ZA>Bd9cGL%wQJw>F=&m9l#ia$DC#h&GRznGj-NRThxP|2 zOr3!=U^U4MHJhiVBekYKZ`<{ciVb}I*S&@6r0#w#?KF7eMzq= zzY0%h)-rP+;q3ACscNwCQbxD3`zOynb?VUMrZqH&eC6l43H@p0yF-wf%Uqua7$Xm` zgR%$@U0{#W!R?Q1u@y+akM7xOupRlwCU2V!x`u2}aBe;n%mL@m6GsZePUH2G z!0rIP3GpaQm$qysr;}r5xWO97HS96JtZ>d8b3QxcFPMYy<6-NJ2kaq^Ljep_HO)`cBl`O zSJjrVrvQ_;TuWhb_pVL$rfR}KwroY;%j7?~#mah(eIMVWzXh5>YJ z#O|UK9-BU$u}d^NSYn%O2Vy5=$7jXdStzrZT(J_&O+PHO7PU>Bo1G)@n@%&s0KFLW zw-ZWEsh8F~Y|q;XDw~#9EDktbClCD`whpaD9k2y>9UUG!2!{axpdK<3?7uvKsN{J& z)uEPGQUhJZp0_}E-IoBW83R>;eu3lgcJN#l810x-lUVc$4hJ3pgfFz1dOGdq8fyI35|F$I= (:y (first row)) y-offset) + (< (:y (first row)) (+ y-offset height))) + (into + [] + (remove + nil? + (map + (fn [cell] + (when + (and + (>= (:x cell) x-offset) + (< (:x cell) (+ x-offset width))) + cell)) + row))))))))) + +(defn get-surface + "Return, as a vector of vectors of cells represented as Clojure maps, a + segment of surface from this `base-map` as modified by this + `noise-map` at this `cell-size` starting at this `x-offset` and `y-offset` + and having this `width` and `height`. + + If `base-map` and `noise-map` are not supplied, the bindings of `*base-map*` + and `*noise-map*` will be used, respectively. + + `base-map` and `noise-map` may be passed either as strings, assumed to be + file paths of PNG files, or as MicroWorld style world arrays. It is assumed + that one pixel in `base-map` represents one square kilometre in the game + world. It is assumed that `cell-size`, `x-offset`, `y-offset`, `width` and + `height` are integer numbers of metres." + ([cell-size x-offset y-offset width height] + (get-surface *base-map* *noise-map* cell-size x-offset y-offset width height)) + ([base-map noise-map cell-size x-offset y-offset width height] + (let [b (if (seq? base-map) base-map (scale-world (apply-heightmap base-map) 1000)) + n (if (seq? noise-map) noise-map (apply-heightmap noise-map))] + (if (and (in-bounds? b x-offset y-offset) + (in-bounds? b (+ x-offset width) (+ y-offset height))) + b ;; actually do stuff + (throw (Exception. "Surface out of bounds for map."))) + ))) + diff --git a/src/the_great_game/world/mw.clj b/src/the_great_game/world/mw.clj new file mode 100644 index 0000000..7d6436a --- /dev/null +++ b/src/the_great_game/world/mw.clj @@ -0,0 +1,7 @@ +(ns the-great-game.world.mw + "Functions dealing with building a great game world from a MicroWorld world." + (:require [clojure.math.numeric-tower :refer [expt sqrt]] + [mw-engine.core :refer []] + [mw-engine.world :refer []])) + +;; It's not at all clear to me yet what the workflow for getting a MicroWorld map into The Great Game, and whether it passes through Walkmap to get here. This file as currently written assumes it doesn't. From 37dbb767ac7d6582973052098075973cae9ba93a Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Mon, 27 Jul 2020 15:41:49 +0100 Subject: [PATCH 7/8] Spelling. --- doc/building_on_microworld.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/building_on_microworld.md b/doc/building_on_microworld.md index e7155a5..1819f7e 100644 --- a/doc/building_on_microworld.md +++ b/doc/building_on_microworld.md @@ -2,7 +2,7 @@ In [Settling a Game World](Settling-a-game-world.html) I intended that a world should be populated by setting agents - settlers - to explore the map and select places to settle according to particular rules. In the meantime, I've built [MicroWorld](https://github.com/simon-brooke/mw-ui), a rule driven cellular automaton which makes a reasonably good job of modelling human settlement. It works, and I now plan to use it, as detailed in this note; but there are issues. -First and formost, it's slow, and both processor and memory hungry. That means that at continent scale, a cell of one kilometre square is the minimum size which is really possible, which isn't small enough to create a settlement map of the density that a game will need. Even with 1km cells, even on the most powerful machines I have access to, a continent-size map will take many days to run. +First and foremost, it's slow, and both processor and memory hungry. That means that at continent scale, a cell of one kilometre square is the minimum size which is really possible, which isn't small enough to create a settlement map of the density that a game will need. Even with 1 km cells, even on the most powerful machines I have access to, a continent-size map will take many days to run. Of course it would be possible to do a run at one km scale top identify areas which would support settlement, and then to do a run on a ten metre grid on each of those areas to more precisely plot settlement. That's an idea which I haven't yet explored, which might prove fruitful. From 310896cc95a88c3b00bcbc2cf5c2f58de5d81d23 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Sun, 15 Nov 2020 21:09:18 +0000 Subject: [PATCH 8/8] Prepended all namespaces with 'cc.journeyman'; tests run, 4 don't pass. --- .calva/output-window/.clj-kondo/config.edn | 1 + .gitignore | 2 ++ doc/building_on_microworld.md | 2 +- .../journeyman}/the_great_game/agent/agent.clj | 15 ++++++++------- .../the_great_game/gossip/gossip.clj | 6 +++--- .../the_great_game/gossip/news_items.clj | 6 +++--- .../the_great_game/merchants/markets.clj | 4 ++-- .../the_great_game/merchants/merchant_utils.clj | 2 +- .../the_great_game/merchants/merchants.clj | 2 +- .../the_great_game/merchants/planning.clj | 10 +++++----- .../merchants/strategies/simple.clj | 12 ++++++------ .../the_great_game/objects/container.clj | 4 ++-- .../the_great_game/objects/game_object.clj | 2 +- src/{ => cc/journeyman}/the_great_game/time.clj | 2 +- .../journeyman}/the_great_game/utils.clj | 2 +- .../the_great_game/world/heightmap.clj | 9 +++++---- .../the_great_game/world/location.clj | 2 +- .../journeyman}/the_great_game/world/mw.clj | 2 +- .../journeyman}/the_great_game/world/routes.clj | 4 ++-- .../journeyman}/the_great_game/world/run.clj | 10 +++++----- .../journeyman}/the_great_game/world/world.clj | 2 +- .../the_great_game/gossip/gossip_test.clj | 4 ++++ .../the_great_game/gossip/news_items_test.clj | 7 ++++--- .../the_great_game/merchants/markets_test.clj | 10 +++++----- .../merchants/merchant_utils_test.clj | 9 +++++---- .../the_great_game/merchants/planning_test.clj | 8 ++++---- .../journeyman}/the_great_game/time_test.clj | 6 ++++-- .../journeyman}/the_great_game/utils_test.clj | 4 ++-- .../the_great_game/world/location_test.clj | 4 ++-- .../the_great_game/world/routes_test.clj | 6 +++--- .../the_great_game/world/world_test.clj | 4 ++++ test/the_great_game/gossip/gossip_test.clj | 4 ---- test/the_great_game/world/world_test.clj | 4 ---- workspace.code-workspace | 17 +++++++++++++++++ 34 files changed, 107 insertions(+), 81 deletions(-) create mode 100644 .calva/output-window/.clj-kondo/config.edn rename src/{ => cc/journeyman}/the_great_game/agent/agent.clj (92%) rename src/{ => cc/journeyman}/the_great_game/gossip/gossip.clj (90%) rename src/{ => cc/journeyman}/the_great_game/gossip/news_items.clj (97%) rename src/{ => cc/journeyman}/the_great_game/merchants/markets.clj (95%) rename src/{ => cc/journeyman}/the_great_game/merchants/merchant_utils.clj (98%) rename src/{ => cc/journeyman}/the_great_game/merchants/merchants.clj (94%) rename src/{ => cc/journeyman}/the_great_game/merchants/planning.clj (93%) rename src/{ => cc/journeyman}/the_great_game/merchants/strategies/simple.clj (92%) rename src/{ => cc/journeyman}/the_great_game/objects/container.clj (67%) rename src/{ => cc/journeyman}/the_great_game/objects/game_object.clj (91%) rename src/{ => cc/journeyman}/the_great_game/time.clj (99%) rename src/{ => cc/journeyman}/the_great_game/utils.clj (96%) rename src/{ => cc/journeyman}/the_great_game/world/heightmap.clj (97%) rename src/{ => cc/journeyman}/the_great_game/world/location.clj (96%) rename src/{ => cc/journeyman}/the_great_game/world/mw.clj (91%) rename src/{ => cc/journeyman}/the_great_game/world/routes.clj (93%) rename src/{ => cc/journeyman}/the_great_game/world/run.clj (75%) rename src/{ => cc/journeyman}/the_great_game/world/world.clj (99%) create mode 100644 test/cc/journeyman/the_great_game/gossip/gossip_test.clj rename test/{ => cc/journeyman}/the_great_game/gossip/news_items_test.clj (95%) rename test/{ => cc/journeyman}/the_great_game/merchants/markets_test.clj (92%) rename test/{ => cc/journeyman}/the_great_game/merchants/merchant_utils_test.clj (92%) rename test/{ => cc/journeyman}/the_great_game/merchants/planning_test.clj (92%) rename test/{ => cc/journeyman}/the_great_game/time_test.clj (91%) rename test/{ => cc/journeyman}/the_great_game/utils_test.clj (75%) rename test/{ => cc/journeyman}/the_great_game/world/location_test.clj (90%) rename test/{ => cc/journeyman}/the_great_game/world/routes_test.clj (84%) create mode 100644 test/cc/journeyman/the_great_game/world/world_test.clj delete mode 100644 test/the_great_game/gossip/gossip_test.clj delete mode 100644 test/the_great_game/world/world_test.clj create mode 100644 workspace.code-workspace diff --git a/.calva/output-window/.clj-kondo/config.edn b/.calva/output-window/.clj-kondo/config.edn new file mode 100644 index 0000000..1a10f5a --- /dev/null +++ b/.calva/output-window/.clj-kondo/config.edn @@ -0,0 +1 @@ +^:replace {:linters {}} \ No newline at end of file diff --git a/.gitignore b/.gitignore index db35160..ee4f1e6 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ pom.xml.asc .cpcache/ *~ + +.calva/output-window/output.calva-repl diff --git a/doc/building_on_microworld.md b/doc/building_on_microworld.md index 1819f7e..5b5ac3f 100644 --- a/doc/building_on_microworld.md +++ b/doc/building_on_microworld.md @@ -6,4 +6,4 @@ First and foremost, it's slow, and both processor and memory hungry. That means Of course it would be possible to do a run at one km scale top identify areas which would support settlement, and then to do a run on a ten metre grid on each of those areas to more precisely plot settlement. That's an idea which I haven't yet explored, which might prove fruitful. -Secondly, being a cellular automaton, MicroWorld works on a grid. This means that everything is grid aligned, which is absolutely not what I want! So I think the way to leverage this is to use Microworld to establish which kilometre square cells om the grid should be populated (and roughly with what), and then switch to ad hoc code to populate those cells. +Secondly, being a cellular automaton, MicroWorld works on a grid. This means that everything is grid aligned, which is absolutely not what I want! So I think the way to leverage this is to use MicroWorld to establish which kilometre square cells om the grid should be populated (and roughly with what), and then switch to *ad hoc* code to populate those cells. diff --git a/src/the_great_game/agent/agent.clj b/src/cc/journeyman/the_great_game/agent/agent.clj similarity index 92% rename from src/the_great_game/agent/agent.clj rename to src/cc/journeyman/the_great_game/agent/agent.clj index 43d8ff6..79b4c99 100644 --- a/src/the_great_game/agent/agent.clj +++ b/src/cc/journeyman/the_great_game/agent/agent.clj @@ -1,4 +1,4 @@ -(ns the-great-game.agent.agent +(ns cc.journeyman.the-great-game.agent.agent "Anything in the game world with agency" (:require [the-great-game.objects.game-object :refer [ProtoObject]] [the-great-game.objects.container :refer [ProtoContainer]])) @@ -35,9 +35,10 @@ "Returns a sequence of effects an actor intends, as a consequence of acting. The encoding of these is not yet defined.")) -;; (defrecord Agent -;; "A default agent." -;; ProtoObject -;; ProtoContainer -;; ProtoAgent -;; ) +(defrecord Agent + ;; "A default agent." + [name home tribe] + ProtoObject + ProtoContainer + ProtoAgent +) diff --git a/src/the_great_game/gossip/gossip.clj b/src/cc/journeyman/the_great_game/gossip/gossip.clj similarity index 90% rename from src/the_great_game/gossip/gossip.clj rename to src/cc/journeyman/the_great_game/gossip/gossip.clj index af743f3..ee19889 100644 --- a/src/the_great_game/gossip/gossip.clj +++ b/src/cc/journeyman/the_great_game/gossip/gossip.clj @@ -1,7 +1,7 @@ -(ns the-great-game.gossip.gossip +(ns cc.journeyman.the-great-game.gossip.gossip "Interchange of news events between gossip agents" - (:require [the-great-game.utils :refer [deep-merge]] - [the-great-game.gossip.news-items :refer [learn-news-item]])) + (:require [cc.journeyman.the-great-game.utils :refer [deep-merge]] + [cc.journeyman.the-great-game.gossip.news-items :refer [learn-news-item]])) ;; Note that habitual travellers are all gossip agents; specifically, at this ;; stage, that means merchants. When merchants are moved we also need to diff --git a/src/the_great_game/gossip/news_items.clj b/src/cc/journeyman/the_great_game/gossip/news_items.clj similarity index 97% rename from src/the_great_game/gossip/news_items.clj rename to src/cc/journeyman/the_great_game/gossip/news_items.clj index 2b02479..988a7da 100644 --- a/src/the_great_game/gossip/news_items.clj +++ b/src/cc/journeyman/the_great_game/gossip/news_items.clj @@ -1,7 +1,7 @@ -(ns the-great-game.gossip.news-items +(ns cc.journeyman.the-great-game.gossip.news-items "Categories of news events interesting to gossip agents" - (:require [the-great-game.world.location :refer [distance-between]] - [the-great-game.time :refer [game-time]])) + (:require [cc.journeyman.the-great-game.world.location :refer [distance-between]] + [cc.journeyman.the-great-game.time :refer [game-time]])) ;; The ideas here are based on the essay 'The spread of knowledge in a large ;; game world', q.v.; they've advanced a little beyond that and will doubtless diff --git a/src/the_great_game/merchants/markets.clj b/src/cc/journeyman/the_great_game/merchants/markets.clj similarity index 95% rename from src/the_great_game/merchants/markets.clj rename to src/cc/journeyman/the_great_game/merchants/markets.clj index c4f0898..09bce1a 100644 --- a/src/the_great_game/merchants/markets.clj +++ b/src/cc/journeyman/the_great_game/merchants/markets.clj @@ -1,7 +1,7 @@ -(ns the-great-game.merchants.markets +(ns cc.journeyman.the-great-game.merchants.markets "Adjusting quantities and prices in markets." (:require [taoensso.timbre :as l :refer [info error]] - [the-great-game.utils :refer [deep-merge]])) + [cc.journeyman.the-great-game.utils :refer [deep-merge]])) (defn new-price "If `stock` is greater than the maximum of `supply` and `demand`, then diff --git a/src/the_great_game/merchants/merchant_utils.clj b/src/cc/journeyman/the_great_game/merchants/merchant_utils.clj similarity index 98% rename from src/the_great_game/merchants/merchant_utils.clj rename to src/cc/journeyman/the_great_game/merchants/merchant_utils.clj index 9cfb5b4..ae6b8b0 100644 --- a/src/the_great_game/merchants/merchant_utils.clj +++ b/src/cc/journeyman/the_great_game/merchants/merchant_utils.clj @@ -1,4 +1,4 @@ -(ns the-great-game.merchants.merchant-utils +(ns cc.journeyman.the-great-game.merchants.merchant-utils "Useful functions for doing low-level things with merchants.") (defn expected-price diff --git a/src/the_great_game/merchants/merchants.clj b/src/cc/journeyman/the_great_game/merchants/merchants.clj similarity index 94% rename from src/the_great_game/merchants/merchants.clj rename to src/cc/journeyman/the_great_game/merchants/merchants.clj index 9ef160d..fe0e319 100644 --- a/src/the_great_game/merchants/merchants.clj +++ b/src/cc/journeyman/the_great_game/merchants/merchants.clj @@ -1,4 +1,4 @@ -(ns the-great-game.merchants.merchants +(ns cc.journeyman.the-great-game.merchants.merchants "Trade planning for merchants, primarily." (:require [taoensso.timbre :as l :refer [info error spy]] [the-great-game.utils :refer [deep-merge]] diff --git a/src/the_great_game/merchants/planning.clj b/src/cc/journeyman/the_great_game/merchants/planning.clj similarity index 93% rename from src/the_great_game/merchants/planning.clj rename to src/cc/journeyman/the_great_game/merchants/planning.clj index e784036..dd2e622 100644 --- a/src/the_great_game/merchants/planning.clj +++ b/src/cc/journeyman/the_great_game/merchants/planning.clj @@ -1,12 +1,12 @@ -(ns the-great-game.merchants.planning +(ns cc.journeyman.the-great-game.merchants.planning "Trade planning for merchants, primarily. This follows a simple-minded generate-and-test strategy and currently generates plans for all possible routes from the current location. This may not scale. Also, routes do not currently have cost or risk associated with them." - (:require [the-great-game.utils :refer [deep-merge make-target-filter]] - [the-great-game.merchants.merchant-utils :refer :all] - [the-great-game.world.routes :refer [find-route]] - [the-great-game.world.world :refer [actual-price default-world]])) + (:require [cc.journeyman.the-great-game.utils :refer [deep-merge make-target-filter]] + [cc.journeyman.the-great-game.merchants.merchant-utils :refer [can-afford can-carry expected-price]] + [cc.journeyman.the-great-game.world.routes :refer [find-route]] + [cc.journeyman.the-great-game.world.world :refer [actual-price default-world]])) (defn generate-trade-plans "Generate all possible trade plans for this `merchant` and this `commodity` diff --git a/src/the_great_game/merchants/strategies/simple.clj b/src/cc/journeyman/the_great_game/merchants/strategies/simple.clj similarity index 92% rename from src/the_great_game/merchants/strategies/simple.clj rename to src/cc/journeyman/the_great_game/merchants/strategies/simple.clj index d43e952..7ccbdb2 100644 --- a/src/the_great_game/merchants/strategies/simple.clj +++ b/src/cc/journeyman/the_great_game/merchants/strategies/simple.clj @@ -1,4 +1,4 @@ -(ns the-great-game.merchants.strategies.simple +(ns cc.journeyman.the-great-game.merchants.strategies.simple "Default trading strategy for merchants. The simple strategy buys a single product in the local market if there is @@ -7,12 +7,12 @@ profitably, moves towards home with no cargo. If at home and no commodity can be traded profitably, does not move." (:require [taoensso.timbre :as l :refer [info error spy]] - [the-great-game.utils :refer [deep-merge]] - [the-great-game.gossip.gossip :refer [move-gossip]] - [the-great-game.merchants.planning :refer :all] - [the-great-game.merchants.merchant-utils :refer + [cc.journeyman.the-great-game.utils :refer [deep-merge]] + [cc.journeyman.the-great-game.gossip.gossip :refer [move-gossip]] + [cc.journeyman.the-great-game.merchants.planning :refer [augment-plan plan-trade select-cargo]] + [cc.journeyman.the-great-game.merchants.merchant-utils :refer [add-stock add-known-prices]] - [the-great-game.world.routes :refer [find-route]])) + [cc.journeyman.the-great-game.world.routes :refer [find-route]])) (defn plan-and-buy "Return a world like this `world`, in which this `merchant` has planned diff --git a/src/the_great_game/objects/container.clj b/src/cc/journeyman/the_great_game/objects/container.clj similarity index 67% rename from src/the_great_game/objects/container.clj rename to src/cc/journeyman/the_great_game/objects/container.clj index 80a18ce..5d5b48f 100644 --- a/src/the_great_game/objects/container.clj +++ b/src/cc/journeyman/the_great_game/objects/container.clj @@ -1,6 +1,6 @@ -(ns the-great-game.objects.container +(ns cc.journeyman.the-great-game.objects.container (:require - [the-great-game.objects.game-object :refer :all])) + [cc.journeyman.the-great-game.objects.game-object :refer :all])) (defprotocol ProtoContainer (contents diff --git a/src/the_great_game/objects/game_object.clj b/src/cc/journeyman/the_great_game/objects/game_object.clj similarity index 91% rename from src/the_great_game/objects/game_object.clj rename to src/cc/journeyman/the_great_game/objects/game_object.clj index 25c878c..992b378 100644 --- a/src/the_great_game/objects/game_object.clj +++ b/src/cc/journeyman/the_great_game/objects/game_object.clj @@ -1,4 +1,4 @@ -(ns the-great-game.objects.game-object +(ns cc.journeyman.the-great-game.objects.game-object "Anything at all in the game world") (defprotocol ProtoObject diff --git a/src/the_great_game/time.clj b/src/cc/journeyman/the_great_game/time.clj similarity index 99% rename from src/the_great_game/time.clj rename to src/cc/journeyman/the_great_game/time.clj index 2378937..b5bf753 100644 --- a/src/the_great_game/time.clj +++ b/src/cc/journeyman/the_great_game/time.clj @@ -1,4 +1,4 @@ -(ns the-great-game.time +(ns cc.journeyman.the-great-game.time (:require [clojure.string :as s])) (def game-start-time diff --git a/src/the_great_game/utils.clj b/src/cc/journeyman/the_great_game/utils.clj similarity index 96% rename from src/the_great_game/utils.clj rename to src/cc/journeyman/the_great_game/utils.clj index 698eefc..ff00cee 100644 --- a/src/the_great_game/utils.clj +++ b/src/cc/journeyman/the_great_game/utils.clj @@ -1,4 +1,4 @@ -(ns the-great-game.utils) +(ns cc.journeyman.the-great-game.utils) (defn cyclic? "True if two or more elements of `route` are identical" diff --git a/src/the_great_game/world/heightmap.clj b/src/cc/journeyman/the_great_game/world/heightmap.clj similarity index 97% rename from src/the_great_game/world/heightmap.clj rename to src/cc/journeyman/the_great_game/world/heightmap.clj index 5f0378b..07864ae 100644 --- a/src/the_great_game/world/heightmap.clj +++ b/src/cc/journeyman/the_great_game/world/heightmap.clj @@ -1,10 +1,10 @@ -(ns the-great-game.world.heightmap +(ns cc.journeyman.the-great-game.world.heightmap "Functions dealing with the tessellated multi-layer heightmap." (:require [clojure.math.numeric-tower :refer [expt sqrt]] [mw-engine.core :refer []] [mw-engine.heightmap :refer [apply-heightmap]] - [mw-engine.utils :refer [get-cell in-bounds? map-world]] - [the-great-game.utils :refer [value-or-default]])) + [mw-engine.utils :refer [get-cell in-bounds? map-world scale-world]] + [cc.journeyman.the-great-game.utils :refer [value-or-default]])) ;; It's not at all clear to me yet what the workflow for getting a MicroWorld ;; map into The Great Game, and whether it passes through Walkmap to get here. @@ -129,7 +129,8 @@ (>= (:x cell) x-offset) (< (:x cell) (+ x-offset width))) cell)) - row))))))))) + row))))) + grid)))) (defn get-surface "Return, as a vector of vectors of cells represented as Clojure maps, a diff --git a/src/the_great_game/world/location.clj b/src/cc/journeyman/the_great_game/world/location.clj similarity index 96% rename from src/the_great_game/world/location.clj rename to src/cc/journeyman/the_great_game/world/location.clj index b7c3fd0..b4a5c3a 100644 --- a/src/the_great_game/world/location.clj +++ b/src/cc/journeyman/the_great_game/world/location.clj @@ -1,4 +1,4 @@ -(ns the-great-game.world.location +(ns cc.journeyman.the-great-game.world.location "Functions dealing with location in the world." (:require [clojure.math.numeric-tower :refer [expt sqrt]])) diff --git a/src/the_great_game/world/mw.clj b/src/cc/journeyman/the_great_game/world/mw.clj similarity index 91% rename from src/the_great_game/world/mw.clj rename to src/cc/journeyman/the_great_game/world/mw.clj index 7d6436a..162a64c 100644 --- a/src/the_great_game/world/mw.clj +++ b/src/cc/journeyman/the_great_game/world/mw.clj @@ -1,4 +1,4 @@ -(ns the-great-game.world.mw +(ns cc.journeyman.the-great-game.world.mw "Functions dealing with building a great game world from a MicroWorld world." (:require [clojure.math.numeric-tower :refer [expt sqrt]] [mw-engine.core :refer []] diff --git a/src/the_great_game/world/routes.clj b/src/cc/journeyman/the_great_game/world/routes.clj similarity index 93% rename from src/the_great_game/world/routes.clj rename to src/cc/journeyman/the_great_game/world/routes.clj index c45debc..64585b9 100644 --- a/src/the_great_game/world/routes.clj +++ b/src/cc/journeyman/the_great_game/world/routes.clj @@ -1,6 +1,6 @@ -(ns the-great-game.world.routes +(ns cc.journeyman.the-great-game.world.routes "Conceptual (plan level) routes, represented as tuples of location ids." - (:require [the-great-game.utils :refer [cyclic?]])) + (:require [cc.journeyman.the-great-game.utils :refer [cyclic?]])) (defn find-routes "Find routes from among these `routes` from `from`; if `to` is supplied, diff --git a/src/the_great_game/world/run.clj b/src/cc/journeyman/the_great_game/world/run.clj similarity index 75% rename from src/the_great_game/world/run.clj rename to src/cc/journeyman/the_great_game/world/run.clj index b324101..081d247 100644 --- a/src/the_great_game/world/run.clj +++ b/src/cc/journeyman/the_great_game/world/run.clj @@ -1,12 +1,12 @@ -(ns the-great-game.world.run +(ns cc.journeyman.the-great-game.world.run "Run the whole simulation" (:require [environ.core :refer [env]] [taoensso.timbre :as timbre] [taoensso.timbre.appenders.3rd-party.rotor :as rotor] - [the-great-game.gossip.gossip :as g] - [the-great-game.merchants.merchants :as m] - [the-great-game.merchants.markets :as k] - [the-great-game.world.world :as w])) + [cc.journeyman.the-great-game.gossip.gossip :as g] + [cc.journeyman.the-great-game.merchants.merchants :as m] + [cc.journeyman.the-great-game.merchants.markets :as k] + [cc.journeyman.the-great-game.world.world :as w])) (defn init ([] diff --git a/src/the_great_game/world/world.clj b/src/cc/journeyman/the_great_game/world/world.clj similarity index 99% rename from src/the_great_game/world/world.clj rename to src/cc/journeyman/the_great_game/world/world.clj index 9334237..4d873dc 100644 --- a/src/the_great_game/world/world.clj +++ b/src/cc/journeyman/the_great_game/world/world.clj @@ -1,4 +1,4 @@ -(ns the-great-game.world.world +(ns cc.journeyman.the-great-game.world.world "Access to data about the world") ;;; The world has to work either as map or a database. Initially, and for diff --git a/test/cc/journeyman/the_great_game/gossip/gossip_test.clj b/test/cc/journeyman/the_great_game/gossip/gossip_test.clj new file mode 100644 index 0000000..87b15b4 --- /dev/null +++ b/test/cc/journeyman/the_great_game/gossip/gossip_test.clj @@ -0,0 +1,4 @@ +(ns cc.journeyman.the-great-game.gossip.gossip-test + (:require [clojure.test :refer :all] + [cc.journeyman.the-great-game.gossip.gossip :refer :all])) + diff --git a/test/the_great_game/gossip/news_items_test.clj b/test/cc/journeyman/the_great_game/gossip/news_items_test.clj similarity index 95% rename from test/the_great_game/gossip/news_items_test.clj rename to test/cc/journeyman/the_great_game/gossip/news_items_test.clj index ca7788e..79137a6 100644 --- a/test/the_great_game/gossip/news_items_test.clj +++ b/test/cc/journeyman/the_great_game/gossip/news_items_test.clj @@ -1,7 +1,8 @@ -(ns the-great-game.gossip.news-items-test +(ns cc.journeyman.the-great-game.gossip.news-items-test (:require [clojure.test :refer :all] - [the-great-game.gossip.news-items :refer :all])) - + [cc.journeyman.the-great-game.gossip.news-items :refer + [degrade-location infer interest-in-location interesting-location? + learn-news-item make-all-inferences]])) (deftest location-test (testing "Interest in locations" diff --git a/test/the_great_game/merchants/markets_test.clj b/test/cc/journeyman/the_great_game/merchants/markets_test.clj similarity index 92% rename from test/the_great_game/merchants/markets_test.clj rename to test/cc/journeyman/the_great_game/merchants/markets_test.clj index 7cacd30..e86d173 100644 --- a/test/the_great_game/merchants/markets_test.clj +++ b/test/cc/journeyman/the_great_game/merchants/markets_test.clj @@ -1,8 +1,8 @@ -(ns the-great-game.merchants.markets-test +(ns cc.journeyman.the-great-game.merchants.markets-test (:require [clojure.test :refer :all] - [the-great-game.utils :refer [deep-merge]] - [the-great-game.world.world :refer [default-world]] - [the-great-game.merchants.markets :refer :all])) + [cc.journeyman.the-great-game.utils :refer [deep-merge]] + [cc.journeyman.the-great-game.world.world :refer [default-world]] + [cc.journeyman.the-great-game.merchants.markets :refer [adjust-quantity-and-price new-price run]])) (deftest new-price-test @@ -23,7 +23,7 @@ "The greater the relative oversupply, the more prices should fall") )) -(deftest adjust-qunatity-and-price-test +(deftest adjust-quantity-and-price-test (testing "Adjustment in quantity and price: supply only." (let [world (deep-merge default-world diff --git a/test/the_great_game/merchants/merchant_utils_test.clj b/test/cc/journeyman/the_great_game/merchants/merchant_utils_test.clj similarity index 92% rename from test/the_great_game/merchants/merchant_utils_test.clj rename to test/cc/journeyman/the_great_game/merchants/merchant_utils_test.clj index 086c691..69f40fe 100644 --- a/test/the_great_game/merchants/merchant_utils_test.clj +++ b/test/cc/journeyman/the_great_game/merchants/merchant_utils_test.clj @@ -1,8 +1,9 @@ -(ns the-great-game.merchants.merchant-utils-test +(ns cc.journeyman.the-great-game.merchants.merchant-utils-test (:require [clojure.test :refer :all] - [the-great-game.utils :refer [deep-merge]] - [the-great-game.world.world :refer [default-world]] - [the-great-game.merchants.merchant-utils :refer :all])) + [cc.journeyman.the-great-game.utils :refer [deep-merge]] + [cc.journeyman.the-great-game.world.world :refer [default-world]] + [cc.journeyman.the-great-game.merchants.merchant-utils :refer + [add-stock burden can-afford can-carry expected-price]])) (deftest expected-price-test (testing "Anticipated prices in markets" diff --git a/test/the_great_game/merchants/planning_test.clj b/test/cc/journeyman/the_great_game/merchants/planning_test.clj similarity index 92% rename from test/the_great_game/merchants/planning_test.clj rename to test/cc/journeyman/the_great_game/merchants/planning_test.clj index 5662e35..ef7595b 100644 --- a/test/the_great_game/merchants/planning_test.clj +++ b/test/cc/journeyman/the_great_game/merchants/planning_test.clj @@ -1,8 +1,8 @@ -(ns the-great-game.merchants.planning-test +(ns cc.journeyman.the-great-game.merchants.planning-test (:require [clojure.test :refer :all] - [the-great-game.utils :refer [deep-merge]] - [the-great-game.world.world :refer [default-world]] - [the-great-game.merchants.planning :refer :all])) + [cc.journeyman.the-great-game.utils :refer [deep-merge]] + [cc.journeyman.the-great-game.world.world :refer [default-world]] + [cc.journeyman.the-great-game.merchants.planning :refer [plan-trade select-cargo]])) (deftest plan-trade-test diff --git a/test/the_great_game/time_test.clj b/test/cc/journeyman/the_great_game/time_test.clj similarity index 91% rename from test/the_great_game/time_test.clj rename to test/cc/journeyman/the_great_game/time_test.clj index 4727fdd..eb5d856 100644 --- a/test/the_great_game/time_test.clj +++ b/test/cc/journeyman/the_great_game/time_test.clj @@ -1,7 +1,9 @@ -(ns the-great-game.time-test +(ns cc.journeyman.the-great-game.time-test (:require [clojure.test :refer :all] ;; [clojure.core.async :refer [thread