放置类的游戏,如何在地面上实现网格显示?

我想实现一个 玩家选择建筑后,可以在地面上显示网格,应该怎么实现比较合理呢?可放置的网格显示蓝色,不开放置的显示红色这种。

先一个格子一个格子都拼好,然后显示的时候再设置不同的颜色

使用绘制组件 绘制线条,根据位置使用不用颜色

class Map
width
height
originalPoint
init(width,height,originalPoint,gridWidth,gridHeight)

class MapGrid
width
height
mode
setMode(mode)

enum Mode
xx
xx

2012年的时候用flash做过类似的功能,地面是很多菱形格子,利用线段相交的原理,每个格子都有四个交点,再通过绘图API绘制四个交点构成的菱形格子。