home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
pocketbk
/
games
/
yam11src
/
YAM.OPH
< prev
next >
Wrap
Text File
|
1995-07-27
|
11KB
|
287 lines
REM YAM.OPH
REM Copyright (c) 1995 Bermuda Software Publishing
REM Written by Bruno Essmann (bessmann@iiic.ethz.ch)
/*
REM Enable this definition for recursive Game_CheckField function
REM (by default the non-recursive variant is taken)
#define CHECK_RECURSIVE
*/
REM Global Variables
#define TimerHandle THandle%
#define TimerError TError%
#define TimerTime TTime&
#define TimerStatus TStatus%
#define SystemStatus SStatus%
#define PlaybackStatus PStatus%
#define Preferences MPrefs%
#define GamePict GPict%
#define GameType MGame%
#define GameStatus MStatus%
#define ScrX MFPosX%
#define ScrY MFPosY%
#define GameW MFX%
#define GameH MFY%
#define GameMines MFMines%
#define NoFree MFree%
#define NoFlags MFlgC%
#define NoFalseFlags MFlgW%
#define MarkX MCX%
#define MarkY MCY%
#define TimeMin MTMin%
#define TimeSec MTSec%
#define PauseWin PWId%
#define PauseWinOpen PWOpen%
#define Minefieldtype MFType%
#define Minefieldnumber MFNum%
REM Minefield
#define FieldW 9
#define MarkW 2
#define MinW 8
#define MinH 8
#define MaxW 30
#define MaxH 16
#define MaxWH 480
#define MinMines 10
#define MaxMines 384
#define FieldMined 1
#define FieldFree 2
#define FieldFlagged 3
#define FieldFalseFlagged 4
#define FieldNumbered 5
#define Fieldtype(X,Y) Minefieldtype(X+Y*MaxW+1)
#define Fieldnumber(X,Y) Minefieldnumber(X+Y*MaxW+1)
#define SetFieldtype(X,Y,t) Minefieldtype(X+Y*MaxW+1) = t
#define SetNoMines(X,Y,m) Minefieldnumber(X+Y*MaxW+1) = m
#define CheckWon() ((NoFree = 0) OR (NoFlags = GameMines))
REM Gametype
#define GameBeginner 1
#define GameAdvanced 2
#define GameExpert 3
#define GameCustom 4
REM Gamestatus
#define GameOver 1
#define GameNew 2
#define GamePlay 3
#define GamePaused 4
#define GameInit 5
#define GamePeekGood 6
#define GamePeekNada 7
REM Varius game constants
#define MaxTimeMin 60
#define HelpMain 1
#define HelpAbout 9
#define YES -1
#define NO 0
#define GameCheatDelay ((GameW*GameH)/GameMines)
#define SoundError 1
#define SoundWon 2
#define SoundLost 3
#define SoundVol 0
#define DefSoundErrPitch 500
#define DefSoundErrTime 1
#define DefSoundWonName "ROM::SYS$AL01.WVE"
#define DefSoundWonTime 55
#define DefSoundLostName "ROM::SYS$AL03.WVE"
#define DefSoundLostTime 40
REM System and key constants
#define NoEvent -46
#define SysForeground $0401
#define SysBackground $0402
#define SysMessage $0404
#define ShiftKey $02
#define ControlKey $04
#define PsionKey $08
#define ModifierKey $0E
#define NormalKey $FF
#define FirstCursorKey $0100
#define LastCursorKey $0107
#define MenuKey $0122
#define HelpKey $0123
#define SpecialKey $FF00
#define ShiftDifference $20 /* Difference 'a'-'A' */
#define Escape $1B
#define Enter $0D
#define Space $20
#define Tab $09
REM String Constants
#define YAMDirectory "M:\APP\YAM"
#define YAMIniFile "M:\APP\YAM\YAM.INI"
#define YAMHelpFile "M:\APP\YAM\YAM.HLP"
#define DispPicture "M:\APP\YAM\YAM.PIC"
#define DispStatus "Status"
#define DispTime "Time"
#define DispMines "Mines"
#define DispType "Type"
#define DispWidth "Width"
#define DispHeight "Height"
#define DispBeginner "Beginner"
#define DispAdvanced "Advanced"
#define DispExpert "Expert"
#define DispCustom "Custom"
#define DispGameWon "Game won"
#define DispGameOver "Game lost"
#define DispGameNew "New game"
#define DispGamePlay "Playing..."
#define DispGamePaused "Paused"
#define DispGameInit "Init..."
#define DispGameCheat "Cheating..."
#define DispPauseGame "GAME"
#define DispPausePause "PAUSED"
#define PrefHelp 6
#define PrefTitle "Set preferences"
#define PrefDefName "Default name"
#define PrefGametype "Startup gametype", "Beginner,Advanced,Expert,Custom"
#define PrefCtrlInc "Control increase"
#define PrefBordMark "Border marks", "On,Off"
#define PrefSoundHelp 7
#define PrefSoundTitle "Setup sounds"
#define PrefSound "Sound", "Off,Quiet,Medium,Loud,Very Loud"
#define PrefSoundType "Type", "Auto,Manual"
#define PrefSoundWon "Win"
#define PrefSoundLost "Loose"
#define PrefFileNotFound "File not found"
#define CustomGameHelp 5
#define CustomGameTitle "New game custom"
#define CustomGameWidth "Minefield width"
#define CustomGameHeight "Minefield height"
#define CustomGameMineMode "Select mines", "Auto,Manual"
#define CustomGameMines "Number of mines"
#define HiscoreHelp 4
#define HiscoreTitle "Hall of Fame"
#define HiscoreBeginner "Beginner "
#define HiscoreAdvanced "Advanced "
#define HiscoreExpert "Expert "
#define HiscoreNewHigh "New Hiscore"
#define HiscoreName "Name"
#define DialogCancel "Cancel"
#define DialogOK "OK"
#define DialogYes "Yes"
#define DialogNo "No"
#define MinesAdjusted "Mines adjusted to "
#define GameInitDistrib "Distributing mines"
#define GameInitCalc "Calculating fields"
#define QueryExit "Exit YAM", "Do you want to abort the", "current game and leave ?"
#define QueryNewGame "New game", "Do you want to abort", "the current game ?"
#define ErrNoHelp "Help not found"
#define ErrTimer "YAM couldn't setup its timer"
#define ErrPrefLoad "YAM cannot proceed without prefs file."
REM Menu Strings and Hotkeys
#define TNew "New"
#define MNew "New game"
#define HNew -%n
#define KNew "n"
#define MBeginner "Beginner"
#define HBeginner %b
#define KBeginner "b"
#define MAdvanced "Advanced"
#define HAdvanced %a
#define KAdvanced "a"
#define MExpert "Expert"
#define HExpert %e
#define KExpert "e"
#define MCustom "Custom"
#define HCustom %c
#define KCustom "c"
#define TGame "Game"
#define MResume "Resume game"
#define HResume %p
#define MPause "Pause game"
#define HPause %p
#define KPause "p"
#define MHiscore "Hall of Fame"
#define HHiscore %h
#define KHiscore "h"
#