Reformatting for consistency.
[cellular-automata.git] / 003 / src / life.erl
index ebb1a2e..5f91d26 100644 (file)
 -define(INTERVAL, 100).
 
 
--record(state, {x                 :: non_neg_integer()
-               ,y                 :: non_neg_integer()
-               ,n                 :: non_neg_integer()
-               ,bar               :: string()
-               ,board=array:new() :: array()
-               ,gen_count         :: non_neg_integer()
-               ,gen_duration      :: non_neg_integer()
-               ,print_time        :: non_neg_integer()
+-record(state, {x            :: non_neg_integer()
+               ,y            :: non_neg_integer()
+               ,n            :: pos_integer()
+               ,bar          :: nonempty_string()
+               ,board        :: array()
+               ,gen_count    :: pos_integer()
+               ,gen_duration :: non_neg_integer()
+               ,print_time   :: non_neg_integer()
                }).
 
 
@@ -33,9 +33,9 @@ bang(Args) ->
                   ,n            = X * Y
                   ,bar          = [?CHAR_BAR || _ <- lists:seq(1, X)]
                   ,board        = Board
-                  ,gen_count    = 1
+                  ,gen_count    = 1  % Consider inital state to be generation 1
                   ,gen_duration = Time
-                  ,print_time   = 0
+                  ,print_time   = 0  % There was no print time yet
     },
     life_loop(State).
 
@@ -61,7 +61,12 @@ life_loop(
         end
     ),
 
-    {NewTime, NewBoard} = timer:tc(fun() -> next_generation(X, Y, Board) end),
+    {NewTime, NewBoard} = timer:tc(
+        fun() ->
+            next_generation(X, Y, Board)
+        end
+    ),
+
     NewState = State#state{board        = NewBoard
                           ,gen_count    = GenCount + 1
                           ,gen_duration = NewTime
@@ -89,7 +94,7 @@ do_print_status(Bar, X, Y, N, GenCount, TimeMic, PrintTimeMic) ->
 
 
 do_print_board(Board) ->
-    CharLists = array:to_list(
+    RowStrings = array:to_list(
         array:map(
             fun(_, Row) ->
                 array:to_list(
@@ -106,10 +111,10 @@ do_print_board(Board) ->
     ),
 
     ok = lists:foreach(
-        fun(CharList) ->
-            ok = io:format("~s~n", [CharList])
+        fun(RowString) ->
+            ok = io:format("~s~n", [RowString])
         end,
-        CharLists
+        RowStrings
     ).
 
 
This page took 0.026648 seconds and 4 git commands to generate.