18 if (width<4 || height<4) {
61 int offset = y*(target->
width) + x;
62 return (target->
content + offset);
73 if (x<0 || y<0 || x>=target->
width || y>=target->
height)
108 int charsWidth = target->
width*4 + 2;
110 int charsHeight = target->
height*2 + 3;
112 int totalSize = charsWidth*charsHeight*6 + 1;
114 canvas = malloc(totalSize *
sizeof(
char));
127 for(fieldY = target->
height - 1; fieldY >= 0; fieldY--) {
130 for(fieldX = 0; fieldX < target->
width; fieldX++) {
131 if (fieldY == target->
height - 1 && fieldX == 0) {
133 }
else if (fieldY == target->
height - 1) {
135 }
else if (fieldX == 0) {
144 if (fieldY == target->
height - 1) {
152 for(fieldX = 0; fieldX < target->
width; fieldX++) {
155 char field =
getField(target,fieldX,fieldY);
169 for(fieldX = 0; fieldX < target->
width; fieldX++) {
180 for(fieldX = 0; fieldX < target->
width; fieldX++) {
char * FONT_DPIPE_TBAR_RIGHT
void strcatRepeat(char *target, const char *source, unsigned int howOften)
char * FONT_DPIPE_TOP_LEFT
char * FONT_DPIPE_TBAR_UP
char getField(struct board *target, int x, int y)
const int EXITCODE_OUTOFMEMORY
void clearBoard(struct board *target)
void setField(struct board *target, int x, int y, char value)
char * FONT_DPIPE_BOTTOM_LEFT
char * FONT_DPIPE_TBAR_LEFT
char * FONT_DPIPE_BOTTOM_RIGHT
unsigned int numberOfFields
const char FIELD_OUTOFBOUNDS
char * calcFieldAddress(struct board *target, int x, int y)
char * FONT_DPIPE_TBAR_DOWN
char * FONT_DPIPE_VERT_BAR
void freeBoard(struct board *target)
int newBoard(struct board *target, unsigned int width, unsigned int height)
char * FONT_DPIPE_HORI_BAR
void drawBoard(struct board *target)
char * FONT_DPIPE_TOP_RIGHT
int output(const char *input,...)
char * FONT_DPIPE_CROSSING