make Games 4 DOS easy

This commit is contained in:
2023-08-16 15:02:01 +03:00
commit b4fdd5a659
11 changed files with 352 additions and 0 deletions

48
examples/mouse.c Normal file
View File

@@ -0,0 +1,48 @@
/**
* Example mouse work
*
* Alexander Popov <iiiypuk@fastmail.fm>
* License: Unlicense
*/
#include <stdio.h>
#include <gdos/gdos.h>
void main() {
int mouse_status;
int mouse_x, mouse_y, mouse_click;
int mouse_x_old = -1, mouse_y_old = -1, mouse_click_old = -1;
mouse_status = gd_detect_mouse();
if (mouse_status != GD_TRUE) {
printf("Mouse support not available.\n");
abort();
}
/* example: TEXT_MODE || VGA_256_COLOR_MODE */
gd_set_mode(VGA_256_COLOR_MODE);
clrscr();
gd_show_mouse();
do {
gd_get_mouse_status(&mouse_x, &mouse_y, &mouse_click);
/* when mouse status change update */
if (mouse_x != mouse_x_old ||
mouse_y != mouse_y_old ||
mouse_click != mouse_click_old)
{
mouse_x_old = mouse_x;
mouse_y_old = mouse_y;
mouse_click_old = mouse_click;
clrscr();
gotoxy(0, 0);
printf("Mouse position: X=%d, Y=%d, CLICK=%d", mouse_x, mouse_y, mouse_click);
gd_show_mouse();
}
} while (!kbhit());
gd_hide_mouse();
getch();
gd_set_mode(TEXT_MODE);
}