public void FindShortestPath() { var shortest = new ShortestPath(); var map = new TerrainMap(shortest); map.InitializeBoard(10, 10); //mountains 4,1 - 4,8 for (var i = 1; i < 9; i++) { var cube = HexGridMath.OffsetToCube(4, i); map[4, i] = new TerrainCell(cube.X, cube.Y, cube.Z, 30); } // 1,3 to 8,4 shortest.ComputeShortestPath(map, 1, 3, 8, 4, 0); Assert.Equal(new Offset(2, 3), shortest.WayPoint[0]); Assert.Equal(new Offset(3, 2), shortest.WayPoint[1]); Assert.Equal(new Offset(3, 1), shortest.WayPoint[2]); Assert.Equal(new Offset(3, 0), shortest.WayPoint[3]); Assert.Equal(new Offset(4, 0), shortest.WayPoint[4]); Assert.Equal(new Offset(5, 0), shortest.WayPoint[5]); Assert.Equal(new Offset(6, 1), shortest.WayPoint[6]); Assert.Equal(new Offset(7, 1), shortest.WayPoint[7]); Assert.Equal(new Offset(8, 2), shortest.WayPoint[8]); Assert.Equal(new Offset(8, 3), shortest.WayPoint[9]); Assert.Equal(new Offset(8, 4), shortest.WayPoint[10]); }
public void PixelToHexZeroZero() { var result = HexGridMath.PixelToHex(20 + GameContent.XOffset, 5 + GameContent.YOffset); Assert.Equal(0, result.Q); Assert.Equal(0, result.R); }
public void PixelToHexOneOne() { var result = HexGridMath.PixelToHex(40 + GameContent.XOffset, 70 + GameContent.YOffset); Assert.Equal(1, result.Q); Assert.Equal(1, result.R); }
public void HexToCubeQR() { var result = HexGridMath.HexToCube(2, 3); // 2,-5,3 Assert.Equal(2, result.X); Assert.Equal(-5, result.Y); Assert.Equal(3, result.Z); }
public void HexToCube() { var result = HexGridMath.HexToCube(new Hex(5, 5)); // 5,-10,5 Assert.Equal(5, result.X); Assert.Equal(-10, result.Y); Assert.Equal(5, result.Z); }
public void HasherTest() { var terrainMap = new TerrainMap(new ShortestPath()); terrainMap[2, 2] = new TerrainCell(0, 0, 0, 2); var cube = HexGridMath.OffsetToCube(2, 2); var hash = terrainMap.FindMapHash(cube.X, cube.Y, cube.Z); var terrain = terrainMap[hash]; Assert.Equal(2, terrain.BackgroundType); }