Tile SetsHere we provide some example tile sets:8 Tiles, 4x4 Subtiles, 1 Rule, 64 Base Points 8 Tiles, 4x4 Subtiles, 1 Rule, 512 Base Points 8 Tiles, 4x4 Subtiles, 1 Rule, 2048 Base Points ← Use this one Please have a look at our source code to see how to use these tile sets. The tile sets can be read in by the following code: struct Tile { int n, e, s, w; int numSubtiles, numSubdivs, numPoints, numSubPoints; int ** subdivs; Vec2 * points, * subPoints; }; int numTiles, numSubtiles, numSubdivs; void loadTileSet(const char * fileName) { FILE * fin = fopen(fileName, "rb"); numTiles = freadi(fin); numSubtiles = freadi(fin); numSubdivs = freadi(fin); tiles = new Tile[numTiles]; for (int i = 0; i < numTiles; i++) { tiles[i].n = freadi(fin); tiles[i].e = freadi(fin); tiles[i].s = freadi(fin); tiles[i].w = freadi(fin); tiles[i].subdivs = new int * [numSubdivs]; for (int j = 0; j < numSubdivs; j++) { int * subdiv = new int[sqri(numSubtiles)]; for (int k = 0; k < sqri(numSubtiles); k++) subdiv[k] = freadi(fin); tiles[i].subdivs[j] = subdiv; } tiles[i].numPoints = freadi(fin); tiles[i].points = new Vec2[tiles[i].numPoints]; for (int j = 0; j < tiles[i].numPoints; j++) { tiles[i].points[j].x = freadf(fin); tiles[i].points[j].y = freadf(fin); freadi(fin);freadi(fin);freadi(fin);freadi(fin); } tiles[i].numSubPoints = freadi(fin); tiles[i].subPoints = new Vec2[tiles[i].numSubPoints]; for (int j = 0; j < tiles[i].numSubPoints; j++) { tiles[i].subPoints[j].x = freadf(fin); tiles[i].subPoints[j].y = freadf(fin); freadi(fin);freadi(fin);freadi(fin);freadi(fin); } } fclose(fin); } |