Explicit sort function.
[cellular-automata.git] / 001 / src / life_time.erl
index 175321b..1b639a7 100644 (file)
         ]).
 
 
--define(INTERVAL, 100).  % In milliseconds
+-define(INTERVAL, 0).  % In milliseconds
 
 -define(CHAR_DEAD,   32).  % Space
 -define(CHAR_ALIVE, 111).  % o
--define(CHAR_BAR,    61).  % =
+-define(CHAR_BAR,    45).  % -
 
 
 -record(state, {x               :: integer()
@@ -99,16 +99,20 @@ handle_cast({tock, {ID, CellState}},
     case NewRepliesPending of
         0 ->
             NewGenCount = GenCount + 1,
-            SortedStatePairs = lists:sort(NewStatePairs),
+            SortedStatePairs = lists:sort(
+                fun({A, _}, {B, _}) -> A < B end,
+                NewStatePairs
+            ),
             StateChars = [state_to_char(S) || {_, S} <- SortedStatePairs],
-            ok = do_print_bar(X),
+
             ok = io:format(
                 "CELLS: ~b GENERATIONS: ~b~n",
                 [NumCells, NewGenCount]
             ),
             ok = do_print_bar(X),
+
             ok = do_print_state_chars(X, StateChars),
-            ok = do_print_bar(X),
+
             ok = timer:sleep(?INTERVAL),
             schedule_next_tick(),
             {noreply, NewState#state{state_pairs=[], gen_count=NewGenCount}};
This page took 0.027379 seconds and 4 git commands to generate.