csnake/include/screen.h

31 lines
608 B
C
Raw Normal View History

2023-10-29 20:03:23 +03:00
#ifndef __SCREEN_H__
#define __SCREEN_H__
#include <string.h>
typedef char Point;
2023-10-29 20:03:23 +03:00
typedef struct screen_t
{
int width;
int height;
Point *screen;
2023-10-29 20:03:23 +03:00
} Screen;
Screen *screenCreate(int width, int height, Point fill_value);
void screenFree(Screen *screen);
void screenShow(Screen *screen);
static inline Point *screenGetPoint(Screen *screen, int x, int y)
{
return screen->screen + x + (y * screen->width);
}
static inline void screenSet(Screen *screen, Point fill_value)
{
memset(screen->screen, fill_value, screen->width * screen->height * sizeof(char));
}
2023-10-29 20:03:23 +03:00
#endif /* __SCREEN_H__ */