GBoard: A DbC Graphical Console Board
(mos's homepage)


This project implements a simplified (and yet quite powerful) graphical board library for Java. This board is build as a (2+1)D matrix of cells accepting Gelem (graphical elements) objects to be drawed (the third dimension, define the drawing order of the gelems). All drawings are scalable and persistent within the board, so once a Gelem is drawed the board will take care of its correct drawing (for example when the dimensions of the board change). Normally a Gelem uses only one cell (1x1), but it may occupy a rectangle of cells (NxM), as long as it fits inside the board.

A public git repository for this library can be found at http://code.ua.pt/projects/gboard.

Latest version: 2.2.0

GBoard allows the development of many types of visualization boards. Classes exist that allow labyrinth, chess, card (and other) types of drawings. Currently gelems are immutable, but we expect to extend GBoard to mutable gelems in the next major release (any change in a mutable gelem will be immediate and automatically propagated in the GBoard objects where the gelem exists).

Example: Labyrinth

A labyrinth gboard object can be automatically created from a text file labyrinth representation. The following images result from program LabyrinthSolver.java (green dots result from a backtracking path find algorithm).

map.txt:





Example: Chess Board

Program TestChess.java.

Example: Cards

Program TestCards.java.


(mos at ua.pt) University of Aveiro, DETI/IEETA