Skip to content

dtl::XX::YY::drawArray (形状描画)

Kasugaccho edited this page Aug 10, 2019 · 3 revisions

Select Language 🌐

English 🇬🇧 / 日本語 🇯🇵


// Array
template<typename Matrix_>
constexpr bool drawArray(Matrix_&& matrix_, const std::size_t max_x_, const std::size_t max_y_) const noexcept;

概要

Matrixに描画する。

戻り値

戻り値の型は全てにおいて bool である。

戻り値 説明
false 描画に失敗したことを示す
true 描画に成功したことを示す

例外

投げない

計算量

基本的にはO(n^2)である。 ※一部、例外がある。

#include <DTL.hpp>
#include <cstddef>
#include <cstdint>

int main() {

	using shape_t = std::uint_fast8_t;
	constexpr std::size_t width{ 16 };
	constexpr std::size_t height{ 8 };

	shape_t matrix[height * width]{};

	dtl::shape::Border<shape_t>(1).drawArray(matrix, width, height);

	dtl::console::OutputNumber<shape_t>(",").drawArray(matrix, width, height);
	dtl::console::OutputString<shape_t>("//", "##").drawArray(matrix, width, height);

	return 0;
}

出力

1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
################################
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
################################
Clone this wiki locally