This is Mover.h in view mode; [Download] [Up]
// Mover.h // Part of Risk by Mike Ferris #import <objc/Object.h> #import <appkit/Responder.h> // Move phases #define P_NIL 0 #define P_PLACEARMIES 1 #define P_ATTACK 2 #define P_FORTIFY 3 #define P_CHOOSECOUNTRIES 4 // Place Army move subphases #define SP_INITIAL 0 #define SP_BEGINTURN 1 #define SP_ATTACK 2 #define SP_FORTIFY 3 // phase results for attack and fortify #define PR_NIL 0 #define PR_A_VICTORY 1 #define PR_ENDTURN 2 #define PR_A_FORTIFY 3 #define PR_F_PLACE 4 // attackPopup item tags #define AP_ONCE 0 #define AP_MULTIPLE 1 #define AP_UNTILLEFT 2 #define AP_UNTILCANT 3 #define APN_ONCE "Once only." #define APN_MULTIPLE "A specific number of times." #define APN_UNTILLEFT "Until a specific number of armies remain." #define APN_UNTILCANT "Until unable to continue." @interface Mover:Object { // outlets for other main objects id theGameSetup; id riskController; id controlPanel; id theMapView; id computerLogic; id theCardManager; id diceInspector; // outlet for custom view in left section of control panel id statusView; // outlets for controls in middle section of control panel id nameTextField; id phaseTextField; id infoTextField; id colorWell; // outlets for interchangeable views in right section of control panel id phaseComputerMove; id phasePlaceArmies; id phaseAttack; id phaseFortify; id phaseChooseCountries; // outlets for controls within above phase views id placeArmyView; id placeArmyTextField; id placeArmyTurnInButton; id placeArmyReviewButton; id placeArmyInitTextField; id placeArmyInitStatText; id attackRadio; id attackTextField; id attackSlider; id attackPopupButton; id attackCountry; id attackReviewButton; id fortifyReviewButton; // current game info BOOL gameInProgress; int initPlaceArmiesNum; int initPlaceArmies[6]; int fortifyRule; // current move info id currentPhaseView; int currentPhase; int placeArmiesSubphase; int phaseResults; int currentPlayer; int currentTurn; BOOL currentPlayerGetsCard; id currentCountry; id attackFromCountry; id attackToCountry; id defaultAttackFrom; int attackOption[6]; int attackNum[6]; } + initialize; - appDidInit:sender; - startNewGame; - settingsChanged; - endGame:(int)winner; - countryClick:country num:(int)n event:(NXEvent *)e; - placeArmiesInCountry:country num:(int)n event:(NXEvent *)e; - attackFrom:country num:(int)n; - attackTo:country num:(int)n event:(NXEvent *)e; - (BOOL)attackFrom:fc to:tc; - (BOOL)attackOnceFrom:fc to:tc; - endTurn:sender; - fortify:sender; - fortifyFrom:country num:(int)n; - (BOOL)canFortifyTo:country; - chooseCountry:country num:(int)n; - continuePlay:sender; - continuePlay; - goNextPhase; - phaseChange:(int)phaseNum forPlayer:(int)playerNum; // targets of phase controls - attackPopupAction:sender; - attackSliderAction:sender; - turnInCardsAction:sender; - reviewCardsAction:sender; - (BOOL)isGameInProgress; - setGameInProgress:(BOOL)flag; - (int)currentPlayer; - displayStatusView; - setDiceInspector:anObject; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.