Para a implementação dos modelos foi construída uma estrutura denominada sModel_t. Seu código é o seguinte.
typedef struct { eModel_t Model; int Size; int Number; } sModel_t;
Model define o tipo da embarcação, é escolhido a partir do tipo enumerado abaixo:
typedef enum { TABLE = 1, RAFT = 2, BOAT = 3, SUBMARINE = 4, VESSEL = 5, AUXTABLE = 6, } eModel_t;
Size define o tamanho da embarcação, ou seja, o número de células que ela ocupada no tabuleiro. Number define o número de embarcações deste tipo utilizadas no jogo. A utilização desta estrutura é explicada com maiores detalhes na seção 2.
A cada modelo é associado uma lista do OpenGL que é associada à variável Model. Quando uma embarcação precisa ser exibida, ela acessa a estutura do modelo, em seguida, à variável enumerada Model e chama a lista para aquele modelo.