for i = 0; i < grid_height; i++ for j = 0; j < grid_width; j++ if is_even(i) and is_even(j) draw_hex_at(j*x_spacing, i*y_spacing) else if is_even(i) and not is_even(j) draw_hex_at(j*x_spacing + x_offset, i*y_spacing) else if not is_even(i) and is_even(j) draw_hex_at(j*x_spacing, i*y_spacing + y_offset) else if not is_even(i) and not is_even(j) draw_hex_at(j*x_spacing + x_offset, i*y_spacing + y_offset)