壁を塗るのが隣のマス目とちょくちょく間違えちゃったり。
ただ、設計がスマートにいかなかったので考え中。
タイルも画像ピクセルも座標があればいいのだけども、
壁だと1マスでさらに4方向のどれかという情報を持たせなくちゃいけなくて設計が使いまわせなくて
別でif文で分岐させてるがモヤモヤがとまらない。
良い感じかと思ってたが、応用が利かない時点で駄目駄目すぎる(;´Д`)
4壁式
Re: 4壁式
私は迷路のプログラムで壁の情報を保存するのに、ビットフィールドで持たせてます。
ただ、壁を挟んで両側の通路に同時に壁情報を設定しないといけないという問題があって
なにかうまい方法はないかなといろいろ考えたんですがいい案は思いつかず(-_-;)
C# だとビットフィールドも扱いやすいですね。
サンプルコード
ただ、壁を挟んで両側の通路に同時に壁情報を設定しないといけないという問題があって
なにかうまい方法はないかなといろいろ考えたんですがいい案は思いつかず(-_-;)
C# だとビットフィールドも扱いやすいですね。
サンプルコード
using System;
[Flags]
enum Wall : byte
{
right = 0x01, // 右の壁
top = 0x02, // 上の壁
left = 0x04, // 左の壁
bottom = 0x08, // 下の壁
}
class MazeWall
{
static void Main()
{
Wall piece = Wall.right | Wall.bottom;
if (piece.HasFlag(Wall.right))
{
Console.WriteLine("右に壁あり");
}
if (piece.HasFlag(Wall.top))
{
Console.WriteLine("上に壁あり");
}
if (piece.HasFlag(Wall.left))
{
Console.WriteLine("左に壁あり");
}
if (piece.HasFlag(Wall.bottom))
{
Console.WriteLine("下に壁あり");
}
}
}