Selecting a suitable game tile
Now, to find suitable tiles, we will generate random spawn coordinates. We know that all tiles with the TILE::FLOOR
or TILE::FLOOR_ALT
type are floor tiles. Therefore, we can select a tile at random and deduce if it's suitable for the spawning of an item.
To avoid having to do these checks ourselves, the project provides the Level::IsFloor
function. It is quite self-explanatory; you can pass it a tile, or the indices of one, and it will return true if it's a floor tile. We'll use that from now on to check whether the tiles are valid for spawning an item.
Randomly selecting a tile
The first function that we'll look at is choosing a value from an underlying grid. In our case, the level data is described in a 2D array. ...
Get Procedural Content Generation for C++ Game Development now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.