読者です 読者をやめる 読者になる 読者になる

AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

SpriteでMapを動的に表示する(2)

外壁を表示して、柱と柱の間に壁をランダムに配置
f:id:yasu9780:20150617230708p:plain

本当にランダムに配置しただけなので、迷路になってません(´・ω・`)
こちらで紹介されているようなアルゴリズムで壁を作る必要があります
せっき~のゲーム屋さん ドルアーガの塔 乱数の工夫の正体


大きさが違うマップチップを配置するのはなんかわかりにくいですね。
通常の2Dだとdotの世界なのに、Unityの座標系は本来は少数点の世界なので、
2Dモードといっても、そのへんがわかりにくい(´・ω・`)
柱が8x8で、1unitを8dot指定しているので、他のチップも8の倍数で作る必要がありますね。
壁は横18dotにしているので、これだと8の倍数じゃないのでまずいです。
作りなおす必要があります。

for(int y=1;y<=8;y++)
	for(int x=0;x<=17;x++)
	{
		if( Random.Range (0, 100)<50 ) continue;
		SpriteRenderer obj=new GameObject("Sprite").AddComponent<SpriteRenderer>();
		obj.sortingLayerName = "Units";
		obj.sprite = Instantiate(Hwall) as Sprite;
		obj.transform.position = new Vector3(x*3+1.5f,y*3,0f);
	}
for(int y=1;y<=8;y++)
	for(int x=0;x<=17;x++)
	{
		if( Random.Range (0, 100)<50 ) continue;
		SpriteRenderer obj=new GameObject("Sprite").AddComponent<SpriteRenderer>();
		obj.sortingLayerName = "Units";
		obj.sprite = Instantiate(Vwall) as Sprite;
		obj.transform.position = new Vector3(x*3,y*3+1.5f,0f);
	}
広告を非表示にする