home
/
code
/
cellular-automata.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8143820
)
Set generation interval in CLI options.
author
Siraaj Khandkar
<siraaj@khandkar.net>
Mon, 3 Sep 2012 17:44:20 +0000
(13:44 -0400)
committer
Siraaj Khandkar
<siraaj@khandkar.net>
Mon, 3 Sep 2012 17:44:20 +0000
(13:44 -0400)
forest-fire/001/src/forest_fire.ml
patch
|
blob
|
blame
|
history
diff --git
a/forest-fire/001/src/forest_fire.ml
b/forest-fire/001/src/forest_fire.ml
index
fc91c4a
..
272815f
100644
(file)
--- a/
forest-fire/001/src/forest_fire.ml
+++ b/
forest-fire/001/src/forest_fire.ml
@@
-7,6
+7,8
@@
open Printf
let default_f = 0.01 (* Probability of spontaneous ignition *)
let default_p = 1.0 (* Probability of spontaneous growth *)
let default_f = 0.01 (* Probability of spontaneous ignition *)
let default_p = 1.0 (* Probability of spontaneous growth *)
+let default_interval = 0.1 (* Induced interval between generations *)
+
let default_x = 80
let default_y = 25
let default_x = 80
let default_y = 25
@@
-34,8
+36,9
@@
type direction =
type options =
type options =
- { size : int * int
- ; prob : float * float
+ { size : int * int
+ ; prob : float * float
+ ; interval : float
}
}
@@
-59,6
+62,7
@@
let term_reset () =
let get_opts argv =
let usage = ""
let get_opts argv =
let usage = ""
+ and interval = ref default_interval
and f = ref default_f
and p = ref default_p
and x = ref default_x
and f = ref default_f
and p = ref default_p
and x = ref default_x
@@
-70,13
+74,15
@@
let get_opts argv =
; ("-p", Arg.Set_float p, " Probability of spontaneous growth.")
; ("-x", Arg.Set_int x, " Forest width.")
; ("-y", Arg.Set_int y, " Forest height.")
; ("-p", Arg.Set_float p, " Probability of spontaneous growth.")
; ("-x", Arg.Set_int x, " Forest width.")
; ("-y", Arg.Set_int y, " Forest height.")
+ ; ("-i", Arg.Set_float interval, " Induced interval between generations.")
]
in
Arg.parse speclist (fun _ -> ()) usage;
]
in
Arg.parse speclist (fun _ -> ()) usage;
- { size = !x, !y
- ; prob = !f, !p
+ { size = !x, !y
+ ; prob = !f, !p
+ ; interval = !interval
}
}
@@
-168,11
+174,11
@@
let next_generation forest (width, height) prob =
forest
forest
-let rec burn forest size prob =
+let rec burn forest size prob
interval
=
term_reset ();
print_forest forest;
term_reset ();
print_forest forest;
- minisleep
0.1
;
- burn (next_generation forest size prob) size prob
+ minisleep
interval
;
+ burn (next_generation forest size prob) size prob
interval
let main argv =
let main argv =
@@
-182,7
+188,7
@@
let main argv =
let forest = init_forest opts.size opts.prob in
term_clear ();
let forest = init_forest opts.size opts.prob in
term_clear ();
- burn forest opts.size opts.prob
+ burn forest opts.size opts.prob
opts.interval
let () = main Sys.argv
let () = main Sys.argv
This page took
0.024895 seconds
and
4
git commands to generate.