#ifndef SQUARE_H #define SQUARE_H #include #include "node.h" // Include node.h to use Node type. // Define the Terrain_Type enum typedef enum { TERRAIN_INIT, TERRAIN_ROUGH, TERRAIN_FAIRWAY, TERRAIN_GREEN, TERRAIN_WATER, TERRAIN_SAND, } Terrain_Type; // Define the Square struct typedef struct Square { Terrain_Type terrain; Node *node_tl; Node *node_tr; Node *node_bl; Node *node_br; bool selected; } Square; // Function prototypes Square* init_square(Node *tl, Node *tr, Node *bl, Node *br, Terrain_Type terrain, bool selected); void change_square_height(Square* square, float diff); void change_square_terrain(Square* square, Terrain_Type terrain); float* get_terrain_color(Terrain_Type terrain); Square* find_selected_square(Square*** squares, int x, int y); #endif