This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/samples/win/watzee/watzee.h

147 lines
4.2 KiB
C
Raw Normal View History

#include "win1632.h"
#ifdef __WINDOWS_386__
#define _EXPORT
#else
#define _EXPORT __export
#endif
/* Child window control messages */
#define IDW_DICE1 91
#define IDW_DICE2 92
#define IDW_DICE3 93
#define IDW_DICE4 94
#define IDW_DICE5 95
#define IDW_ROLL 96
#define IDW_OK 97
/* Menu messages */
#define IDM_NEWGAME 101
#define IDM_OPTIONS 102
#define IDM_EXIT 103
#define IDM_SCORING 104
#define IDM_ABOUT 105
/* Dialog messages */
#define IDD_CLEAR 99
#define IDD_PC 100
#define IDD_OK 101
#define IDD_CANCEL 105
#define IDD_ROLL 106
#define IDD_KEEP 107
#define IDD_RESET 108
/* Internal user messages */
#define WMW_START_NEW_GAME WM_USER+1
#define WMW_SCORE_CHECK WM_USER+3
#define WMW_DIE_CHECK WM_USER+4
#define WMW_ROLL WM_USER+5
#define WMW_OK WM_USER+6
#define WMW_GAME_OVER WM_USER+7
#define ID_TIMER 1
#define TIMER_INTERVAL 2500
#define MAX_PLAYERS 4
#define PLAYER_DATA_ELEMENTS 19
#define UNDEFINED 32767
/* Player data elements */
#define IS_COMPUTER 0
#define ACES 1
#define TWOS 2
#define THREES 3
#define FOURS 4
#define FIVES 5
#define SIXES 6
#define THREE_KIND 7
#define FOUR_KIND 8
#define FULL_HOUSE 9
#define SMALL_STRAIGHT 10
#define LARGE_STRAIGHT 11
#define WATZEE 12
#define CHANCE 13
#define WATZEE_BONUS 14
#define BONUS 15
#define UPPER_TOTAL 16
#define LOWER_TOTAL 17
#define GRAND_TOTAL 18
#define SCORE_OPTIONS_WIDTH 8 /* widths represent # of characters */
#define SCORE_CARD_WIDTH 20
typedef struct die_info { /* data structure for a single die */
short value;
BOOL is_checked;
} die_info;
typedef struct dice_info { /* data structure for dice stats */
short sum;
short count[7];
BOOL got_three_kind;
BOOL got_four_kind;
BOOL got_full_house;
BOOL got_small_straight;
BOOL got_large_straight;
BOOL got_watzee;
} dice_info;
/* global variables */
extern short NumberOfPlayers;
extern short Player[ MAX_PLAYERS ] [ PLAYER_DATA_ELEMENTS ];
extern char PlayerName[ MAX_PLAYERS ][ 4 ];
extern BOOL GotTimer;
extern BOOL PCTurn;
extern BOOL PlayingGameYet;
extern BOOL DieCheckMeansRoll;
extern BOOL ResetDieChecks;
extern die_info Dice[5];
extern dice_info DiceInfo;
extern short CharWidth;
extern short CharHeight;
extern short SysHeight;
extern short CurrentPlayer;
extern short CurrentTurn;
extern short CurrentRoll;
extern short LastScoreSelection;
extern LOGFONT SmallNormalFont;
extern LOGFONT SmallBoldFont;
/* function prototypes */
extern void CreateFonts( void );
extern void DrawScoreCard( HDC );
extern void DrawDice( HWND, HDC );
extern void GetDiceInfo( void );
extern void GetDiceBitmaps( HWND );
extern void GetFontInfo( void );
extern BOOL _EXPORT FAR PASCAL AboutDialogProc( HWND, UINT, WPARAM, LPARAM );
extern BOOL _EXPORT FAR PASCAL GetNumPlayersDialogProc(HWND,UINT, WPARAM, LPARAM );
extern BOOL _EXPORT FAR PASCAL GetInitialsDialogProc(HWND,UINT, WPARAM, LPARAM );
extern BOOL _EXPORT FAR PASCAL HelpDialogProc(HWND,UINT, WPARAM, LPARAM );
extern BOOL _EXPORT FAR PASCAL OptionsDialogProc(HWND,UINT, WPARAM, LPARAM );
extern void HighliteName( HDC, short );
extern BOOL PCPlay( HWND );
extern void RollDice( HWND, HDC );
extern void SelectFont( HDC, short );
extern void WriteInitials( HDC );
extern void WriteScore( HDC, short, short );
extern void WriteScoreOptions( HDC );
extern void WriteScores( HDC );