diff options
| author | Olivier Gayot <duskcoder@gmail.com> | 2017-12-28 21:30:20 +0100 | 
|---|---|---|
| committer | Olivier Gayot <duskcoder@gmail.com> | 2017-12-28 21:31:01 +0100 | 
| commit | 54f40f6cb863f00fbcaa77ebdb930d8d7fc6988d (patch) | |
| tree | 0757b1da4f95b1096877fcbd101ef7edf923b4ce /include | |
Imported the code into Git
Signed-off-by: Olivier Gayot <duskcoder@gmail.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/minesweeper.h | 73 | 
1 files changed, 73 insertions, 0 deletions
| diff --git a/include/minesweeper.h b/include/minesweeper.h new file mode 100644 index 0000000..6bc7738 --- /dev/null +++ b/include/minesweeper.h @@ -0,0 +1,73 @@ +#ifndef MINESWEEPER_H +#define	MINESWEEPER_H + +#include <sysexits.h> +#include <SDL/SDL.h> +#include <SDL/SDL_thread.h> +#include <SDL/SDL_mutex.h> +#include <time.h> +#include <stdlib.h> +#include <stdio.h> +#include <sdl_digit.h> + +#if defined (_WIN32) +# include <windows.h> +#endif + +#ifndef __cplusplus +  typedef unsigned char	bool; +  enum { true = 1, false = 0 }; +#endif + +SDL_Surface *scr; +SDL_Surface *surf_number[9]; +SDL_Surface *bmb_surf; +SDL_Surface *hidden_surf; +SDL_Surface *selection_surf; +SDL_Surface *flag_surf; +SDL_Surface *wrong_flag; + +SDL_mutex *mutex; + +unsigned int discovered; +unsigned int g_flags; + +#define BLOCK_SIZE 30 +#define BLOCK_W    30 +#define BLOCK_H    16 +#define BOMBS      100 + +typedef struct { +  bool flagged; +  bool type; +  bool hidden; +  bool selected; +  int  touch; +  int  x, y; +} case_t; + +typedef struct { +  case_t       tab[BLOCK_H][BLOCK_W]; +  unsigned int bombs; +} map_t; + +void init_map(map_t *map); +int get_nbr_touch(bool tab[BLOCK_H][BLOCK_W], int j, int i); +void show_map(map_t *map); +void load_surfaces(void); + +int move_left(map_t *map, int *selection); +int move_right(map_t *map, int *selection); +int move_up(map_t *map, int *selection); +int move_down(map_t *map, int *selection); + +int flip(map_t *map, int *selection); +int flag(map_t *map, int *selection); + +void dsp_ribbon_flags(void); +SDL_Thread *start_clock(void); +void dsp_clock(Uint32 base_ticks); +int xSDL_BlitSurface(SDL_Surface *, SDL_Rect *, SDL_Surface *, SDL_Rect *); +void xSDL_Flip(SDL_Surface *); + +#endif		/* !MINESWEEPER_H */ | 
