csnake/include/screen.h

29 lines
579 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;
void screenCreate(Screen *buffer, int width, int height, Point fill_value);
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__ */