#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 );