-
-
Notifications
You must be signed in to change notification settings - Fork 87
[ja] Reference_cpp14
地形データの変数。
ここではdungeon_tと記載する。
using dungeon_t = std::uint_fast8_t;名前の通り地形を生成するクラスである。
例えばRogueLikeクラスやSimple Voronoi Islandクラスのことを指す。
地形変数をテンプレートに指定して宣言する。
dtl::RogueLike<dungeon_t> rogue_like;宣言時にコンストラクタで"地形配列"と"各地形生成クラスのパラメータ"を指定する。
dtl::RogueLike<dungeon_t> rogue_like(dungeon, 50);create関数で"地形配列"と"各地形生成クラスのパラメータ"を指定する。
rogue_like.create(dungeon, 50);
ダンジョンの地形データを格納する配列。 多くの場合、STLを使用する。
記事ではdungeonという名前で宣言する。
std::array<std::array<dungeon_t, dungeon_size_x>, dungeon_size_y> dungeon{ {} };std::vector<std::vector<dungeon_t>> dungeon(dungeon_size_y, std::vector<dungeon_t>(dungeon_size_x, 0));地形配列の値を2値化する機能を提供するヘッダー。
ここでは指定する地形配列変数型をSTL_
地形配列内部の整数型をInt_
と定義する。
void dungeonBinarization(STL_& stl_, const Int_ value_);void dungeonBinarization_RangeBasedFor(STL_& stl_, const Int_ value_);配列内の値がvalue_以上の値の場合は1を代入し、それ以外の場合は0を代入する。 後者は範囲ベースfor版。
void dungeonBinarizationBool(STL_& stl_, STL2_& stl2_, const Int_ value_);stl_配列内の値がvalue_以上の値の場合は、stl2_配列に1を代入し、それ以外の場合は0を代入する。
void dungeonBinarization(STL_& stl_);void dungeonBinarization_RangeBasedFor(STL_& stl_);配列内の値がtrueの場合は1を代入し、それ以外の場合は0を代入する。 後者は範囲ベースfor版。
void dungeonBinarizationBool(STL_& stl_, STL2_& stl2_);stl_配列内の値がtrueの場合は、stl2_配列に1を代入し、それ以外の場合は0を代入する。
地形配列の値にノイズを発生させる機能を提供するヘッダー。
ここでは指定する地形配列変数型をSTL_
地形配列内部の整数型をInt_
ノイズ発生確率をdoubleのrbool_
ノイズ発生の値置換をInt_のtrue_tile_とfalse_tile_
と定義する。
void noiseBool(STL_& stl_, const double rbool_, const Int_ true_tile_ = 1, const Int_ false_tile_ = 0);void noiseBool_RangeBasedFor(STL_& stl_, const double rbool_, const Int_ true_tile_ = 1, const Int_ false_tile_ = 0);ノイズ発生確率がtrueの時、
配列内の値がtrueの場合はfalse_tile_を代入し、falseの場合はtrue_tile_を代入する。
後者は範囲ベースfor版。
void noiseShoreBool(STL_& stl_, const double rbool_);void rnoiseShoreBool(STL_& stl_, const double rbool_);"ノイズ発生確率がtrue"かつ"隣接するマスの値が異なる(岸)"の時、
配列内の値がtrueの場合はfalseを代入し、falseの場合はtrueを代入する。
noiseShoreBoolは上方向からの探査、
rnoiseShoreBoolは下方向からの探査である。
void noiseShoreBothBool(STL_& stl_, const double rbool_);void noiseShoreBothBool(STL_& stl_, const double rbool1_, const double rbool2_);void rnoiseShoreBothBool(STL_& stl_, const double rbool_);void rnoiseShoreBothBool(STL_& stl_, const double rbool1_, const double rbool2_);noiseShoreBoolとrnoiseShoreBoolの両方の操作を行う。
void noiseShore(STL_& stl_, const double rbool_, const Int_ true_tile_ = 1, const Int_ false_tile_ = 0);void rnoiseShore(STL_& stl_, const double rbool_, const Int_ true_tile_ = 1, const Int_ false_tile_ = 0);ノイズ発生確率がtrueかつ"隣接するマスの値が異なる(岸)"の時、
配列内の値がtrueの場合はfalse_tile_を代入し、falseの場合はtrue_tile_を代入する。
noiseShoreBoolは上方向からの探査、
rnoiseShoreBoolは下方向からの探査である。
void noiseShoreOver(STL_& stl_, const double rbool_, const Int_ true_tile_ = 1, const Int_ false_tile_ = 0);void rnoiseShoreOver(STL_& stl_, const double rbool_, const Int_ true_tile_ = 1, const Int_ false_tile_ = 0);Copyright (c) 2018-2021 As Project.
Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
