From 185061fb1588422463ea6a03c3ed3c175ab24151 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Thu, 27 Jun 2013 00:38:26 +0200
Subject: [PATCH] Refactored all "next turn" / "record action" stuff into one
 short function.

---
 src/roguelike.c | 22 ++++++++--------------
 src/roguelike.h |  3 +--
 2 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/src/roguelike.c b/src/roguelike.c
index c823482..3fd86c0 100644
--- a/src/roguelike.c
+++ b/src/roguelike.c
@@ -70,14 +70,12 @@ void map_scroll (struct Map * map, char dir) {
   else if (WEST  == dir && map->offset.x > 0) map->offset.x--;
   else if (EAST  == dir)                      map->offset.x++; }
 
-void record_action (char action) {
-// Append action to game record file.
-  FILE * file = fopen("record", "a");
-  fputc(action, file);
-  fclose(file); }
-
-void next_turn (struct World * world) {
-// Increment turn and move enemy.
+void turn_over (struct World * world, char action) {
+// Record action in game record file, increment turn and move enemy.
+  if (1 == world->interactive) {
+    FILE * file = fopen("record", "a");
+    fputc(action, file);
+    fclose(file); }
   world->turn++;
   rrand(1, world->seed * world->turn);
   struct Monster * monster;
@@ -167,16 +165,12 @@ void move_player (struct World * world, char d) {
       update_log (world, msg);
       free(msg); } }
   prev = success * d;
-  if (1 == world->interactive)
-    record_action(d);
-  next_turn (world); }
+  turn_over (world, d); }
 
 void player_wait (struct World * world) {
 // Make player wait one turn.
   update_log (world, "\nYou wait.");
-  if (1 == world->interactive)
-    record_action(0);
-  next_turn (world); }
+  turn_over (world, 0); }
 
 void toggle_window (struct WinMeta * win_meta, struct Win * win) {
 // Toggle display of window win.
diff --git a/src/roguelike.h b/src/roguelike.h
index cf9d5cc..357a4c8 100644
--- a/src/roguelike.h
+++ b/src/roguelike.h
@@ -31,8 +31,7 @@ void update_log (struct World *, char *);
 struct Map init_map ();
 void map_scroll (struct Map *, char);
 
-void record_action (char);
-void next_turn (struct World *);
+void turn_over (struct World *, char);
 void save_game(struct World *);
 
 char is_passable (struct Map *, uint16_t, uint16_t);
-- 
2.30.2