• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revision53e5e362757221933aafc66f3b9a19a19a44c854 (tree)
Time2019-02-20 23:27:21
AuthorDeskull <deskull@user...>
CommiterDeskull

Log Message

[Refactor] #37353 rand_dir() と collect_dir() を floor-generate.c に移動。 / Move rand_dir() and collect_dir() to floor-generate.c.

Change Summary

Incremental Difference

--- a/src/floor-generate.c
+++ b/src/floor-generate.c
@@ -1481,6 +1481,48 @@ void generate_cave(void)
14811481 }
14821482
14831483 /*!
1484+ * @brief build_tunnel用に通路を掘るための方向をランダムに決める / Pick a random direction
1485+ * @param rdir Y方向に取るべきベクトル値を返す参照ポインタ
1486+ * @param cdir X方向に取るべきベクトル値を返す参照ポインタ
1487+ * @return なし
1488+ */
1489+static void rand_dir(POSITION *rdir, POSITION *cdir)
1490+{
1491+ /* Pick a random direction */
1492+ int i = randint0(4);
1493+
1494+ /* Extract the dy/dx components */
1495+ *rdir = ddy_ddd[i];
1496+ *cdir = ddx_ddd[i];
1497+}
1498+
1499+/*!
1500+ * @brief build_tunnel用に通路を掘るための方向を位置関係通りに決める / Always picks a correct direction
1501+ * @param rdir Y方向に取るべきベクトル値を返す参照ポインタ
1502+ * @param cdir X方向に取るべきベクトル値を返す参照ポインタ
1503+ * @param y1 始点Y座標
1504+ * @param x1 始点X座標
1505+ * @param y2 終点Y座標
1506+ * @param x2 終点X座標
1507+ * @return なし
1508+ */
1509+static void correct_dir(POSITION *rdir, POSITION *cdir, POSITION y1, POSITION x1, POSITION y2, POSITION x2)
1510+{
1511+ /* Extract vertical and horizontal directions */
1512+ *rdir = (y1 == y2) ? 0 : (y1 < y2) ? 1 : -1;
1513+ *cdir = (x1 == x2) ? 0 : (x1 < x2) ? 1 : -1;
1514+
1515+ /* Never move diagonally */
1516+ if (*rdir && *cdir)
1517+ {
1518+ if (randint0(100) < 50)
1519+ *rdir = 0;
1520+ else
1521+ *cdir = 0;
1522+ }
1523+}
1524+
1525+/*!
14841526 * @brief 部屋間のトンネルを生成する / Constructs a tunnel between two points
14851527 * @param row1 始点Y座標
14861528 * @param col1 始点X座標
--- a/src/grid.c
+++ b/src/grid.c
@@ -704,49 +704,6 @@ void vault_monsters(POSITION y1, POSITION x1, int num)
704704 }
705705 }
706706
707-
708-/*!
709- * @brief build_tunnel用に通路を掘るための方向を位置関係通りに決める / Always picks a correct direction
710- * @param rdir Y方向に取るべきベクトル値を返す参照ポインタ
711- * @param cdir X方向に取るべきベクトル値を返す参照ポインタ
712- * @param y1 始点Y座標
713- * @param x1 始点X座標
714- * @param y2 終点Y座標
715- * @param x2 終点X座標
716- * @return なし
717- */
718-void correct_dir(POSITION *rdir, POSITION *cdir, POSITION y1, POSITION x1, POSITION y2, POSITION x2)
719-{
720- /* Extract vertical and horizontal directions */
721- *rdir = (y1 == y2) ? 0 : (y1 < y2) ? 1 : -1;
722- *cdir = (x1 == x2) ? 0 : (x1 < x2) ? 1 : -1;
723-
724- /* Never move diagonally */
725- if (*rdir && *cdir)
726- {
727- if (randint0(100) < 50)
728- *rdir = 0;
729- else
730- *cdir = 0;
731- }
732-}
733-
734-/*!
735- * @brief build_tunnel用に通路を掘るための方向をランダムに決める / Pick a random direction
736- * @param rdir Y方向に取るべきベクトル値を返す参照ポインタ
737- * @param cdir X方向に取るべきベクトル値を返す参照ポインタ
738- * @return なし
739- */
740-void rand_dir(POSITION *rdir, POSITION *cdir)
741-{
742- /* Pick a random direction */
743- int i = randint0(4);
744-
745- /* Extract the dy/dx components */
746- *rdir = ddy_ddd[i];
747- *cdir = ddx_ddd[i];
748-}
749-
750707 /*!
751708 * @brief 指定のマスが床系地形であるかを返す / Function that sees if a square is a floor. (Includes range checking.)
752709 * @param x チェックするマスのX座標
--- a/src/grid.h
+++ b/src/grid.h
@@ -279,10 +279,6 @@ extern void vault_objects(POSITION y, POSITION x, int num);
279279 extern void vault_trap_aux(POSITION y, POSITION x, POSITION yd, POSITION xd);
280280 extern void vault_traps(POSITION y, POSITION x, POSITION yd, POSITION xd, int num);
281281
282-extern void correct_dir(POSITION *rdir, POSITION *cdir, POSITION y1, POSITION x1, POSITION y2, POSITION x2);
283-
284-extern void rand_dir(POSITION *rdir, POSITION *cdir);
285-
286282 extern bool get_is_floor(POSITION x, POSITION y);
287283 extern void set_floor(POSITION x, POSITION y);
288284
Show on old repository browser