Commit 7aede8c7 authored by santiaago's avatar santiaago
Browse files

clean up subTriangleId

parent be85c914
Loading
Loading
Loading
Loading
+73 −108
Original line number Diff line number Diff line
@@ -538,9 +538,14 @@ func triangleId(x, y, direction int) int {
	return -1
}

type trianglePosition struct {
	x, y, direction int
}

func subTriangleId(x, y, direction, id int) int {

	t1 := [][]int{
	triangles := [][]trianglePosition{
		[]trianglePosition{
			{0, 1, right},
			{0, 2, right},
			{0, 3, right},
@@ -550,8 +555,8 @@ func subTriangleId(x, y, direction, id int) int {
			{1, 3, right},
			{1, 2, left},
			{2, 2, right},
	}
	t2 := [][]int{
		},
		[]trianglePosition{
			{0, 1, left},
			{1, 1, right},
			{1, 0, left},
@@ -561,8 +566,7 @@ func subTriangleId(x, y, direction, id int) int {
			{2, 0, left},
			{2, 1, left},
			{2, 2, left},
	}
	t3 := [][]int{
		}, []trianglePosition{
			{3, 0, right},
			{3, 1, right},
			{3, 2, right},
@@ -572,8 +576,8 @@ func subTriangleId(x, y, direction, id int) int {
			{4, 1, right},
			{4, 1, left},
			{5, 1, right},
	}
	t4 := [][]int{
		},
		[]trianglePosition{
			{3, 2, left},
			{4, 2, right},
			{4, 2, left},
@@ -583,8 +587,8 @@ func subTriangleId(x, y, direction, id int) int {
			{5, 1, left},
			{5, 2, left},
			{5, 3, left},
	}
	t5 := [][]int{
		},
		[]trianglePosition{
			{3, 3, right},
			{3, 4, right},
			{3, 5, right},
@@ -594,8 +598,8 @@ func subTriangleId(x, y, direction, id int) int {
			{4, 4, right},
			{4, 4, left},
			{5, 4, right},
	}
	t6 := [][]int{
		},
		[]trianglePosition{
			{0, 4, left},
			{1, 4, right},
			{1, 3, left},
@@ -605,51 +609,12 @@ func subTriangleId(x, y, direction, id int) int {
			{2, 3, left},
			{2, 4, left},
			{2, 5, left},
		},
	}

	if id == 0 {
		for i, p := range t1 {
			if p[0] == x && p[1] == y && (direction == p[2]) {
				return i
			}
		}
	}

	if id == 1 {
		for i, p := range t2 {
			if p[0] == x && p[1] == y && (direction == p[2]) {
				return i
			}
		}
	}

	if id == 2 {
		for i, p := range t3 {
			if p[0] == x && p[1] == y && (direction == p[2]) {
				return i
			}
		}
	}

	if id == 3 {
		for i, p := range t4 {
			if p[0] == x && p[1] == y && (direction == p[2]) {
				return i
			}
		}
	}

	if id == 4 {
		for i, p := range t5 {
			if p[0] == x && p[1] == y && (direction == p[2]) {
				return i
			}
		}
	}

	if id == 5 {
		for i, p := range t6 {
			if p[0] == x && p[1] == y && (direction == p[2]) {
	for _, t := range triangles {
		for i, ti := range t {
			if ti.x == x && ti.y == y && (direction == ti.direction) {
				return i
			}
		}