Exemplo n.º 1
0
 static public void EqualOffsetcoord(string name, OsCoord a, OsCoord b)
 {
     if (!(a.col == b.col && a.row == b.row))
     {
         Complain(name);
     }
 }
Exemplo n.º 2
0
    static public HexTile RoffsetToCube(int offset, OsCoord h)
    {
        int q = h.col - (int)((h.row + offset * (h.row & 1)) / 2);
        int r = h.row;
        int s = -q - r;

        return(new HexTile(q, r, s));
    }
Exemplo n.º 3
0
    static public void TestOffsetRoundtrip()
    {
        HexTile a = new HexTile(3, 4, -7);
        OsCoord b = new OsCoord(1, -3);

        EqualHex("conversion_roundtrip even-r", a, OsCoord.RoffsetToCube(OsCoord.EVEN, OsCoord.RoffsetFromCube(OsCoord.EVEN, a)));
        EqualOffsetcoord("conversion_roundtrip even-r", b, OsCoord.RoffsetFromCube(OsCoord.EVEN, OsCoord.RoffsetToCube(OsCoord.EVEN, b)));

        EqualHex("conversion_roundtrip odd-r", a, OsCoord.RoffsetToCube(OsCoord.ODD, OsCoord.RoffsetFromCube(OsCoord.ODD, a)));
        EqualOffsetcoord("conversion_roundtrip odd-r", b, OsCoord.RoffsetFromCube(OsCoord.ODD, OsCoord.RoffsetToCube(OsCoord.ODD, b)));
    }
Exemplo n.º 4
0
 static public void TestOffsetToCube()
 {
     EqualHex("offset_to_cube odd-r", new HexTile(1, 2, -3), OsCoord.RoffsetToCube(OsCoord.ODD, new OsCoord(1, 2)));
 }
Exemplo n.º 5
0
 static public void TestOffsetFromCube()
 {
     EqualOffsetcoord("offset_from_cube odd-r", new OsCoord(1, 2), OsCoord.RoffsetFromCube(OsCoord.ODD, new HexTile(1, 2, -3)));
 }