This is GameConfiguration.m in view mode; [Download] [Up]
// // This file is a part of Risk by Mike Ferris. // #import "Risk.h" RCSID ("$Id: GameConfiguration.m,v 1.2 1997/12/15 07:43:51 nygard Exp $"); #import "GameConfiguration.h" //====================================================================== // A GameConfiguration denotes the rules under which a game will be // played. Newly created instances take their initial values from the // defaults database. //====================================================================== #define GameConfiguration_VERSION 1 @implementation GameConfiguration + (void) initialize { NSUserDefaults *defaults; NSMutableDictionary *gameDefaults; if (self == [GameConfiguration class]) { [self setVersion:GameConfiguration_VERSION]; defaults = [NSUserDefaults standardUserDefaults]; gameDefaults = [NSMutableDictionary dictionary]; [gameDefaults setObject:DV_PlayerChosen forKey:DK_InitialCountryDistribution]; [gameDefaults setObject:DV_PlaceByThrees forKey:DK_InitialArmyPlacement]; [gameDefaults setObject:DV_RemainConstant forKey:DK_CardSetRedemption]; [gameDefaults setObject:DV_OneToOneNeighbor forKey:DK_FortifyRule]; [defaults registerDefaults:gameDefaults]; } } //---------------------------------------------------------------------- + defaultConfiguration { return [[[GameConfiguration alloc] init] autorelease]; } //---------------------------------------------------------------------- - init { NSUserDefaults *defaults; if ([super init] == nil) return nil; defaults = [NSUserDefaults standardUserDefaults]; initialCountryDistribution = initialCountryDistributionFromString ([defaults stringForKey:DK_InitialCountryDistribution]); initialArmyPlacement = initialArmyPlacementFromString ([defaults stringForKey:DK_InitialArmyPlacement]); cardSetRedemption = cardSetRedemptionFromString ([defaults stringForKey:DK_CardSetRedemption]); fortifyRule = fortifyRuleFromString ([defaults stringForKey:DK_FortifyRule]); return self; } //---------------------------------------------------------------------- - (InitialCountryDistribution) initialCountryDistribution { return initialCountryDistribution; } //---------------------------------------------------------------------- - (void) setInitialCountryDistribution:(InitialCountryDistribution)newCountryDistribution { initialCountryDistribution = newCountryDistribution; } //---------------------------------------------------------------------- - (InitialArmyPlacement) initialArmyPlacement { return initialArmyPlacement; } //---------------------------------------------------------------------- - (void) setInitialArmyPlacement:(InitialArmyPlacement)newArmyPlacement { initialArmyPlacement = newArmyPlacement; } //---------------------------------------------------------------------- - (CardSetRedemption) cardSetRedemption { return cardSetRedemption; } //---------------------------------------------------------------------- - (void) setCardSetRedemption:(CardSetRedemption)newCardSetRedemption { cardSetRedemption = newCardSetRedemption; } //---------------------------------------------------------------------- - (FortifyRule) fortifyRule { return fortifyRule; } //---------------------------------------------------------------------- - (void) setFortifyRule:(FortifyRule)newFortifyRule { fortifyRule = newFortifyRule; } //---------------------------------------------------------------------- - (int) armyPlacementCount { int count; switch (initialArmyPlacement) { case PlaceByOnes: count = 1; break; case PlaceByThrees: count = 3; break; case PlaceByFives: count = 5; break; default: NSLog (@"Invalid army placement type."); count = 1; } return count; } //---------------------------------------------------------------------- - (void) writeDefaults { NSUserDefaults *defaults; defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:NSStringFromInitialCountryDistribution (initialCountryDistribution) forKey:DK_InitialCountryDistribution]; [defaults setObject:NSStringFromInitialArmyPlacement (initialArmyPlacement) forKey:DK_InitialArmyPlacement]; [defaults setObject:NSStringFromCardSetRedemption (cardSetRedemption) forKey:DK_CardSetRedemption]; [defaults setObject:NSStringFromFortifyRule (fortifyRule) forKey:DK_FortifyRule]; [defaults synchronize]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.