Skip to content

DTL.Shape.HalfMixRect (形状クラス)

sitRyo edited this page Jan 15, 2020 · 6 revisions

バージョン 0.1.0以降

namespace DTL.Shape {
    public class HalfMixRect
}

概要

HalfMixRectとは "Matrixの描画範囲に1/2の確率で1番目の描画値を設置し、残りの確率で2番目以降の描画値をランダムに設置する" 機能を持つクラスである。

描画範囲の全てを必ず塗りつぶす。

継承

RectBaseWithIList → HalfMixRect

インターフェース

IDrawer<int>

コンストラクタ

Constructors Descriptions Version
HalfMixRect() Matrixの内容をそのまま出力するHalfMixRectのインスタンスを生成します。 v0.1.0
HalfMixRect(IList<int> drawValue) 描画値を格納するリストを指定したHalfMixRectのインスタンスを生成します。 v0.1.0
HalfMixRect(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, IList<int> drawValue) 描画値を格納するリストと描画範囲を指定したHalfMixRectのインスタンスを生成します。 v0.1.0

プロパティ

Name Accessibility Descriptions Version
IList<int> public get, protected set 描画値 v0.1.0
uint startX public get, protected set 描画の開始点X v0.1.0
uint startY public get, protected set 描画の開始点Y v0.1.0
uint width public get, protected set 描画横幅W v0.1.0
uint height public get, protected set 描画縦幅H v0.1.0

メソッド

描画範囲取得/描画値取得

Name Descriptions Version
GetPointX 描画始点座標Xを取得 v0.1.0
GetPointY 描画始点座標Yを取得 v0.1.0
GetWidth 描画横幅Wを取得 v0.1.0
GetHeight 描画縦幅Hを取得 v0.1.0

描画範囲指定/描画値指定

Name Descriptions Version
SetPointX 描画始点座標Xを指定 v0.1.0
SetPointY 描画始点座標Yを指定 v0.1.0
SetWidth 描画横幅Wを指定 v0.1.0
SetHeight 描画縦幅Hを指定 v0.1.0
SetPoint 描画始点座標(X,Y)を指定 v0.1.0
SetRange 描画範囲(X,Y,W,H)を指定 v0.1.0
SetValue 描画値を指定 v0.1.0

描画範囲消去/描画値消去

名前 説明 対応バージョン
ClearPointX 描画始点座標Xを消去 v0.1.0
ClearPointY 描画始点座標Yを消去 v0.1.0
ClearWidth 描画横幅Wを消去 v0.1.0
ClearHeight 描画縦幅Hを消去 v0.1.0
ClearPoint 描画始点座標(X,Y)を消去 v0.1.0
ClearRange 描画範囲(X,Y,W,H)を消去 v0.1.0
ClearValue 描画値を消去 v0.1.0
Clear 描画値と描画範囲を消去 v0.1.0

Examples(C#)

using System.Collections.Generic;
using DTL.Console;
using DTL.Shape;
using UnityEngine;

public class HalfMixRectGenerator : MonoBehaviour {
    public int width = 40;
    public int height = 40;
    public List<int> outputList = new List<int>();

    private HalfMixRect halfMixRect;

    void Start () {
        var matrix = new int[height, width];
        halfMixRect = new HalfMixRect(outputList);
        halfMixRect.Draw(matrix);
        new OutputConsole().Draw(matrix);
    }
}

Output

0 3 4 5 0 0 4 0 0 3 0 0 3 0 0 1 3 0 0 0 0 3 0 0 2 3 0 2 0 0 0 0 0 0 0 2 0 2 0 3 
0 5 2 4 1 0 0 0 0 1 1 0 5 1 0 0 0 0 0 4 4 0 0 0 0 4 0 0 5 1 0 5 5 0 1 4 0 0 4 0 
0 0 2 0 0 0 0 5 0 0 0 5 3 0 0 5 0 0 4 0 0 0 0 0 5 0 3 0 0 0 5 5 4 0 2 3 4 5 0 2 
0 5 3 1 0 0 0 0 0 3 0 1 0 0 0 1 2 0 0 0 0 1 0 0 3 0 0 5 2 4 0 0 2 0 5 0 0 0 0 4 
0 0 0 0 5 1 0 0 1 0 4 0 3 2 0 0 4 0 0 0 0 0 3 4 4 0 0 5 2 1 0 0 0 2 0 5 0 3 0 1 
0 5 2 0 1 0 0 0 0 0 3 0 1 0 0 0 2 1 0 0 0 0 5 4 0 5 0 0 4 0 0 0 2 0 5 1 3 0 1 0 
3 0 2 0 0 0 5 0 0 4 1 0 2 0 4 1 2 0 1 4 4 4 1 0 0 2 4 5 0 3 4 0 2 3 3 0 0 0 3 0 
5 0 4 0 1 1 5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 5 4 2 2 4 0 1 4 0 0 0 0 0 0 0 
0 0 2 0 5 4 0 0 3 0 0 4 3 0 0 5 4 0 0 0 0 0 5 4 0 4 3 0 0 0 0 2 0 0 0 0 0 4 0 5 
0 0 1 1 2 0 0 0 0 0 5 0 1 0 0 0 0 0 1 0 4 1 1 3 0 5 2 0 1 0 0 0 0 0 0 4 1 0 0 1 
3 4 1 3 0 1 2 0 4 0 0 0 1 1 0 1 3 5 3 3 5 0 0 0 3 4 0 3 2 0 0 2 3 2 0 4 0 3 0 0 
0 2 2 0 5 0 0 2 0 0 0 4 3 0 1 3 0 1 1 0 0 0 5 0 2 0 0 0 5 0 0 0 0 1 3 3 0 0 0 0 
0 3 0 0 0 2 5 4 0 0 3 0 5 0 5 0 0 0 0 0 0 0 0 0 0 5 0 0 1 0 0 0 0 3 0 4 4 0 0 0 
3 1 3 2 4 5 3 3 4 0 0 0 0 4 2 0 3 0 0 0 4 0 0 0 0 1 0 0 5 0 0 3 0 0 0 2 2 0 0 0 
0 0 0 1 0 3 3 5 0 0 0 2 5 0 5 2 0 0 4 4 0 0 0 0 3 0 3 0 3 0 0 0 0 0 3 2 0 0 0 0 
0 4 0 0 0 5 0 0 0 0 0 2 3 0 1 2 3 0 0 2 5 5 1 0 0 4 2 0 1 0 4 0 0 1 0 5 0 4 0 0 
0 0 0 0 0 1 0 3 5 1 0 1 5 0 0 0 0 4 5 0 0 3 0 0 0 4 0 4 1 0 4 2 3 5 0 1 3 3 4 0 
1 0 0 0 3 5 3 2 0 0 0 4 0 3 0 3 0 0 3 0 0 0 4 4 0 0 0 2 5 0 0 0 0 0 2 1 0 1 0 0 
0 4 1 0 0 0 0 4 0 4 4 5 0 4 5 0 0 0 0 0 1 1 0 3 2 0 2 4 0 0 5 4 1 0 4 4 0 0 3 3 
0 0 0 0 0 0 0 0 0 0 0 0 4 4 1 0 3 0 1 2 0 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 
0 0 5 5 1 0 0 0 3 1 1 2 0 0 0 0 2 1 0 0 0 0 0 5 5 2 0 0 4 5 4 3 0 0 0 0 2 4 5 2 
0 0 2 0 0 2 3 0 0 0 0 0 0 0 1 4 0 0 5 0 0 3 0 2 0 4 0 3 0 0 0 0 0 3 0 3 0 0 5 0 
2 0 0 0 0 0 4 3 2 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 3 2 1 5 0 0 0 5 5 0 1 1 4 0 
2 0 2 4 5 0 3 2 5 1 0 0 0 3 0 0 0 0 0 0 5 0 3 0 0 0 0 5 0 2 0 0 1 0 0 1 0 5 2 0 
0 3 0 4 3 0 4 0 0 2 0 0 1 0 3 4 0 0 1 0 5 2 0 0 4 0 0 0 3 2 3 0 0 0 0 0 3 5 3 0 
0 0 0 3 1 0 3 5 5 0 2 5 2 0 0 5 1 1 0 0 0 1 0 0 3 1 0 2 0 0 0 4 0 3 0 0 3 0 0 0 
0 0 0 0 5 0 3 5 3 0 1 0 4 0 2 0 0 5 4 2 0 3 0 0 0 0 3 0 5 0 4 5 4 5 0 4 2 1 4 5 
2 4 4 0 0 0 0 0 0 4 0 3 0 5 3 1 2 3 1 5 2 2 5 0 0 0 0 3 0 4 0 4 0 0 2 5 1 2 2 2 
5 0 0 0 2 0 0 1 1 0 3 1 0 0 3 3 0 0 1 0 0 0 0 4 5 2 3 0 3 0 0 0 0 1 0 0 4 0 0 1 
0 4 1 0 3 0 3 0 0 0 0 2 5 0 0 0 0 4 0 0 0 0 1 2 1 0 0 0 0 1 0 0 0 5 2 4 0 1 0 0 
0 2 3 1 0 4 3 1 0 0 0 0 5 5 0 0 0 0 1 0 4 0 0 0 0 0 2 0 2 0 0 0 2 0 4 0 0 0 0 0 
2 0 2 0 0 0 1 0 2 3 0 0 3 2 0 0 0 4 1 0 0 1 0 5 0 3 0 0 1 0 0 0 3 5 0 5 0 0 0 4 
2 0 2 4 0 1 1 0 0 0 2 2 1 0 0 0 0 2 0 2 0 0 0 0 0 2 0 0 0 0 0 2 4 0 0 0 4 0 0 0 
0 0 0 0 0 0 4 0 1 2 0 0 4 5 1 0 1 0 5 0 0 0 0 1 0 0 0 0 0 3 3 0 0 0 0 0 4 0 5 1 
0 5 2 0 0 0 0 0 4 0 3 0 0 3 0 2 0 1 2 0 0 0 5 3 0 3 0 0 0 5 0 0 0 0 0 0 0 3 0 0 
0 0 0 3 0 3 0 4 1 0 3 0 0 0 0 0 0 0 5 0 0 3 0 0 0 1 0 4 0 4 5 0 0 2 0 0 1 5 0 0 
0 0 3 0 0 3 0 0 0 2 1 0 0 5 0 0 0 0 0 2 3 0 1 2 0 2 0 0 0 0 1 2 1 0 0 0 5 5 3 0 
0 0 0 0 2 0 0 4 0 0 0 0 0 0 0 3 0 5 0 0 0 1 2 0 0 3 0 0 0 4 2 0 0 0 3 0 0 0 0 5 
0 0 5 0 0 5 4 0 3 4 2 0 0 0 3 3 0 0 0 0 0 0 0 0 5 4 5 0 0 0 0 3 0 0 1 4 0 3 0 3 
0 0 0 3 0 5 2 0 1 0 0 0 5 5 0 0 0 0 0 0 3 0 5 0 2 0 0 0 0 0 1 0 2 0 0 0 0 0 4 5 
ApiHalfMixRect1
Clone this wiki locally