GeekGameBoard.xcodeproj/project.pbxproj
author Jens Alfke <jens@mooseyard.com>
Fri Mar 07 11:43:02 2008 -0800 (2008-03-07)
changeset 0 e9f7ba4718e1
child 1 3eb7be1dd7b6
permissions -rw-r--r--
Initial check-in into Mercurial. Branched from 1.0 release of Apple's sample code. No longer requires garbage collection. Fixed some memory leaks of CG objects. Fixed a bug when advancing to the 8th row in the Checkers game.
     1 // !$*UTF8*$!
     2 {
     3 	archiveVersion = 1;
     4 	classes = {
     5 	};
     6 	objectVersion = 44;
     7 	objects = {
     8 
     9 /* Begin PBXBuildFile section */
    10 		27224FA00CC29B1A00814095 /* Grid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27224F9F0CC29B1A00814095 /* Grid.m */; };
    11 		2722526F0CC2E86600814095 /* QuartzUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 2722526E0CC2E86600814095 /* QuartzUtils.m */; };
    12 		2727556A0CC3234F009C4C6C /* Dispenser.m in Sources */ = {isa = PBXBuildFile; fileRef = 272755690CC3234F009C4C6C /* Dispenser.m */; };
    13 		27275A550CC6713E009C4C6C /* HexGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27275A540CC6713E009C4C6C /* HexGrid.m */; };
    14 		27275C4B0CC700F2009C4C6C /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = 27275C4A0CC700F2009C4C6C /* Game.m */; };
    15 		27275C920CC7C578009C4C6C /* TicTacToeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27275C910CC7C578009C4C6C /* TicTacToeGame.m */; };
    16 		272C90AB0CCACBA4009EE530 /* DiscPiece.m in Sources */ = {isa = PBXBuildFile; fileRef = 272C90AA0CCACBA4009EE530 /* DiscPiece.m */; };
    17 		2731E0280CD430B800E6E4C8 /* Deck.m in Sources */ = {isa = PBXBuildFile; fileRef = 2731E0270CD430B800E6E4C8 /* Deck.m */; };
    18 		2731E2A80CD5630600E6E4C8 /* BitHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 2731E2A70CD5630600E6E4C8 /* BitHolder.m */; };
    19 		2734B2620CC7F25A0070C008 /* HexchequerGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 2734B2610CC7F25A0070C008 /* HexchequerGame.m */; };
    20 		2734B4F00CCA5BDB0070C008 /* CheckersGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */; };
    21 		274124060CFCCF9D00842A9B /* DemoBoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 274124050CFCCF9D00842A9B /* DemoBoardView.m */; };
    22 		276DFC410D00867000D329AE /* Green Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC400D00867000D329AE /* Green Ball.png */; };
    23 		276DFC560D00890C00D329AE /* Red Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC530D00890C00D329AE /* Red Ball.png */; };
    24 		276DFC570D00890C00D329AE /* Yellow Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC540D00890C00D329AE /* Yellow Ball.png */; };
    25 		276DFC580D00890C00D329AE /* White Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC550D00890C00D329AE /* White Ball.png */; };
    26 		2795C2B80CC278C800D7B2BD /* Piece.m in Sources */ = {isa = PBXBuildFile; fileRef = 2795C2B70CC278C800D7B2BD /* Piece.m */; };
    27 		27B7543E0D08884F000516B9 /* Wood.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 27B7543D0D08884F000516B9 /* Wood.jpg */; };
    28 		27C999C30D81185E005AFD4F /* GGBUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C999C20D81185E005AFD4F /* GGBUtils.m */; };
    29 		27CCA8050CB8A3F9001CFE24 /* BoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCA8040CB8A3F9001CFE24 /* BoardView.m */; };
    30 		27CCA95F0CB8A74D001CFE24 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27CCA95E0CB8A74D001CFE24 /* Quartz.framework */; };
    31 		27CCAABD0CB92A9F001CFE24 /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCAABC0CB92A9F001CFE24 /* Card.m */; };
    32 		27CCABBF0CB9496B001CFE24 /* Bit.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCABBE0CB9496B001CFE24 /* Bit.m */; };
    33 		27CCAC750CB95C2B001CFE24 /* PlayingCard.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCAC740CB95C2B001CFE24 /* PlayingCard.m */; };
    34 		27D4F1260CCF011200923605 /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D4F1250CCF011200923605 /* Stack.m */; };
    35 		27DFC4410CCD01B7005E34CE /* GoGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27DFC4400CCD01B7005E34CE /* GoGame.m */; };
    36 		27F230B90CD1A61B006939C1 /* KlondikeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F230B80CD1A61B006939C1 /* KlondikeGame.m */; };
    37 		8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
    38 		8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
    39 		8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
    40 		8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
    41 /* End PBXBuildFile section */
    42 
    43 /* Begin PBXFileReference section */
    44 		089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    45 		1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
    46 		27224F9E0CC29B1A00814095 /* Grid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grid.h; sourceTree = "<group>"; };
    47 		27224F9F0CC29B1A00814095 /* Grid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Grid.m; sourceTree = "<group>"; };
    48 		2722526D0CC2E86600814095 /* QuartzUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzUtils.h; sourceTree = "<group>"; };
    49 		2722526E0CC2E86600814095 /* QuartzUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuartzUtils.m; sourceTree = "<group>"; };
    50 		272755680CC3234F009C4C6C /* Dispenser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dispenser.h; sourceTree = "<group>"; };
    51 		272755690CC3234F009C4C6C /* Dispenser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dispenser.m; sourceTree = "<group>"; };
    52 		27275A530CC6713E009C4C6C /* HexGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexGrid.h; sourceTree = "<group>"; };
    53 		27275A540CC6713E009C4C6C /* HexGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexGrid.m; sourceTree = "<group>"; };
    54 		27275C490CC700F2009C4C6C /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
    55 		27275C4A0CC700F2009C4C6C /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
    56 		27275C900CC7C578009C4C6C /* TicTacToeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TicTacToeGame.h; sourceTree = "<group>"; };
    57 		27275C910CC7C578009C4C6C /* TicTacToeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TicTacToeGame.m; sourceTree = "<group>"; };
    58 		272C90A90CCACBA4009EE530 /* DiscPiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscPiece.h; sourceTree = "<group>"; };
    59 		272C90AA0CCACBA4009EE530 /* DiscPiece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscPiece.m; sourceTree = "<group>"; };
    60 		2731E0260CD430B800E6E4C8 /* Deck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deck.h; sourceTree = "<group>"; };
    61 		2731E0270CD430B800E6E4C8 /* Deck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deck.m; sourceTree = "<group>"; };
    62 		2731E2A60CD5630600E6E4C8 /* BitHolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitHolder.h; sourceTree = "<group>"; };
    63 		2731E2A70CD5630600E6E4C8 /* BitHolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BitHolder.m; sourceTree = "<group>"; };
    64 		2734B2600CC7F25A0070C008 /* HexchequerGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexchequerGame.h; sourceTree = "<group>"; };
    65 		2734B2610CC7F25A0070C008 /* HexchequerGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexchequerGame.m; sourceTree = "<group>"; };
    66 		2734B4EE0CCA5BDB0070C008 /* CheckersGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckersGame.h; sourceTree = "<group>"; };
    67 		2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheckersGame.m; sourceTree = "<group>"; };
    68 		274124040CFCCF9D00842A9B /* DemoBoardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoBoardView.h; sourceTree = "<group>"; };
    69 		274124050CFCCF9D00842A9B /* DemoBoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoBoardView.m; sourceTree = "<group>"; };
    70 		276DFC400D00867000D329AE /* Green Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Green Ball.png"; path = "Resources/Green Ball.png"; sourceTree = "<group>"; };
    71 		276DFC530D00890C00D329AE /* Red Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Red Ball.png"; path = "Resources/Red Ball.png"; sourceTree = "<group>"; };
    72 		276DFC540D00890C00D329AE /* Yellow Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Yellow Ball.png"; path = "Resources/Yellow Ball.png"; sourceTree = "<group>"; };
    73 		276DFC550D00890C00D329AE /* White Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "White Ball.png"; path = "Resources/White Ball.png"; sourceTree = "<group>"; };
    74 		2795C2B60CC278C800D7B2BD /* Piece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Piece.h; sourceTree = "<group>"; };
    75 		2795C2B70CC278C800D7B2BD /* Piece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Piece.m; sourceTree = "<group>"; };
    76 		27B7543D0D08884F000516B9 /* Wood.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = Wood.jpg; path = Resources/Wood.jpg; sourceTree = "<group>"; };
    77 		27C999C10D81185E005AFD4F /* GGBUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBUtils.h; sourceTree = "<group>"; };
    78 		27C999C20D81185E005AFD4F /* GGBUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBUtils.m; sourceTree = "<group>"; };
    79 		27CCA8030CB8A3F9001CFE24 /* BoardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardView.h; sourceTree = "<group>"; };
    80 		27CCA8040CB8A3F9001CFE24 /* BoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardView.m; sourceTree = "<group>"; };
    81 		27CCA95E0CB8A74D001CFE24 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
    82 		27CCAABB0CB92A9F001CFE24 /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
    83 		27CCAABC0CB92A9F001CFE24 /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
    84 		27CCABBD0CB9496B001CFE24 /* Bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bit.h; sourceTree = "<group>"; };
    85 		27CCABBE0CB9496B001CFE24 /* Bit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bit.m; sourceTree = "<group>"; };
    86 		27CCAC730CB95C2B001CFE24 /* PlayingCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayingCard.h; sourceTree = "<group>"; };
    87 		27CCAC740CB95C2B001CFE24 /* PlayingCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayingCard.m; sourceTree = "<group>"; };
    88 		27D4F1240CCF011200923605 /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = "<group>"; };
    89 		27D4F1250CCF011200923605 /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = "<group>"; };
    90 		27DFC43F0CCD01B7005E34CE /* GoGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoGame.h; sourceTree = "<group>"; };
    91 		27DFC4400CCD01B7005E34CE /* GoGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoGame.m; sourceTree = "<group>"; };
    92 		27F230B70CD1A61B006939C1 /* KlondikeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KlondikeGame.h; sourceTree = "<group>"; };
    93 		27F230B80CD1A61B006939C1 /* KlondikeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KlondikeGame.m; sourceTree = "<group>"; };
    94 		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
    95 		29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
    96 		29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
    97 		29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
    98 		32CA4F630368D1EE00C91783 /* GeekGameBoard_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeekGameBoard_Prefix.pch; sourceTree = "<group>"; };
    99 		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = "<group>"; };
   100 		8D1107320486CEB800E47090 /* GeekGameBoard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GeekGameBoard.app; sourceTree = BUILT_PRODUCTS_DIR; };
   101 /* End PBXFileReference section */
   102 
   103 /* Begin PBXFrameworksBuildPhase section */
   104 		8D11072E0486CEB800E47090 /* Frameworks */ = {
   105 			isa = PBXFrameworksBuildPhase;
   106 			buildActionMask = 2147483647;
   107 			files = (
   108 				8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
   109 				27CCA95F0CB8A74D001CFE24 /* Quartz.framework in Frameworks */,
   110 			);
   111 			runOnlyForDeploymentPostprocessing = 0;
   112 		};
   113 /* End PBXFrameworksBuildPhase section */
   114 
   115 /* Begin PBXGroup section */
   116 		080E96DDFE201D6D7F000001 /* Source */ = {
   117 			isa = PBXGroup;
   118 			children = (
   119 				27CCA8030CB8A3F9001CFE24 /* BoardView.h */,
   120 				27CCA8040CB8A3F9001CFE24 /* BoardView.m */,
   121 				27CCABBD0CB9496B001CFE24 /* Bit.h */,
   122 				27CCABBE0CB9496B001CFE24 /* Bit.m */,
   123 				2731E2A60CD5630600E6E4C8 /* BitHolder.h */,
   124 				2731E2A70CD5630600E6E4C8 /* BitHolder.m */,
   125 				27D4F1240CCF011200923605 /* Stack.h */,
   126 				27D4F1250CCF011200923605 /* Stack.m */,
   127 				27275C440CC70095009C4C6C /* Cards */,
   128 				27275C450CC700C4009C4C6C /* Boards and Pieces */,
   129 				27275C480CC700D8009C4C6C /* Games */,
   130 				2722526D0CC2E86600814095 /* QuartzUtils.h */,
   131 				2722526E0CC2E86600814095 /* QuartzUtils.m */,
   132 				27C999C10D81185E005AFD4F /* GGBUtils.h */,
   133 				27C999C20D81185E005AFD4F /* GGBUtils.m */,
   134 			);
   135 			path = Source;
   136 			sourceTree = "<group>";
   137 		};
   138 		1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
   139 			isa = PBXGroup;
   140 			children = (
   141 				1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
   142 			);
   143 			name = "Linked Frameworks";
   144 			sourceTree = "<group>";
   145 		};
   146 		1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
   147 			isa = PBXGroup;
   148 			children = (
   149 				29B97324FDCFA39411CA2CEA /* AppKit.framework */,
   150 				27CCA95E0CB8A74D001CFE24 /* Quartz.framework */,
   151 				29B97325FDCFA39411CA2CEA /* Foundation.framework */,
   152 			);
   153 			name = "Other Frameworks";
   154 			sourceTree = "<group>";
   155 		};
   156 		19C28FACFE9D520D11CA2CBB /* Products */ = {
   157 			isa = PBXGroup;
   158 			children = (
   159 				8D1107320486CEB800E47090 /* GeekGameBoard.app */,
   160 			);
   161 			name = Products;
   162 			sourceTree = "<group>";
   163 		};
   164 		27275C440CC70095009C4C6C /* Cards */ = {
   165 			isa = PBXGroup;
   166 			children = (
   167 				27CCAABB0CB92A9F001CFE24 /* Card.h */,
   168 				27CCAABC0CB92A9F001CFE24 /* Card.m */,
   169 				2731E0260CD430B800E6E4C8 /* Deck.h */,
   170 				2731E0270CD430B800E6E4C8 /* Deck.m */,
   171 				27CCAC730CB95C2B001CFE24 /* PlayingCard.h */,
   172 				27CCAC740CB95C2B001CFE24 /* PlayingCard.m */,
   173 			);
   174 			name = Cards;
   175 			sourceTree = "<group>";
   176 		};
   177 		27275C450CC700C4009C4C6C /* Boards and Pieces */ = {
   178 			isa = PBXGroup;
   179 			children = (
   180 				2795C2B60CC278C800D7B2BD /* Piece.h */,
   181 				2795C2B70CC278C800D7B2BD /* Piece.m */,
   182 				272C90A90CCACBA4009EE530 /* DiscPiece.h */,
   183 				272C90AA0CCACBA4009EE530 /* DiscPiece.m */,
   184 				27224F9E0CC29B1A00814095 /* Grid.h */,
   185 				27224F9F0CC29B1A00814095 /* Grid.m */,
   186 				27275A530CC6713E009C4C6C /* HexGrid.h */,
   187 				27275A540CC6713E009C4C6C /* HexGrid.m */,
   188 				272755680CC3234F009C4C6C /* Dispenser.h */,
   189 				272755690CC3234F009C4C6C /* Dispenser.m */,
   190 			);
   191 			name = "Boards and Pieces";
   192 			sourceTree = "<group>";
   193 		};
   194 		27275C480CC700D8009C4C6C /* Games */ = {
   195 			isa = PBXGroup;
   196 			children = (
   197 				27275C490CC700F2009C4C6C /* Game.h */,
   198 				27275C4A0CC700F2009C4C6C /* Game.m */,
   199 				27275C900CC7C578009C4C6C /* TicTacToeGame.h */,
   200 				27275C910CC7C578009C4C6C /* TicTacToeGame.m */,
   201 				2734B4EE0CCA5BDB0070C008 /* CheckersGame.h */,
   202 				2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */,
   203 				2734B2600CC7F25A0070C008 /* HexchequerGame.h */,
   204 				2734B2610CC7F25A0070C008 /* HexchequerGame.m */,
   205 				27DFC43F0CCD01B7005E34CE /* GoGame.h */,
   206 				27DFC4400CCD01B7005E34CE /* GoGame.m */,
   207 				27F230B70CD1A61B006939C1 /* KlondikeGame.h */,
   208 				27F230B80CD1A61B006939C1 /* KlondikeGame.m */,
   209 			);
   210 			name = Games;
   211 			sourceTree = "<group>";
   212 		};
   213 		29B97314FDCFA39411CA2CEA /* BoardGame */ = {
   214 			isa = PBXGroup;
   215 			children = (
   216 				080E96DDFE201D6D7F000001 /* Source */,
   217 				29B97315FDCFA39411CA2CEA /* Demo Application */,
   218 				29B97317FDCFA39411CA2CEA /* Resources */,
   219 				29B97323FDCFA39411CA2CEA /* Frameworks */,
   220 				19C28FACFE9D520D11CA2CBB /* Products */,
   221 			);
   222 			name = BoardGame;
   223 			sourceTree = "<group>";
   224 		};
   225 		29B97315FDCFA39411CA2CEA /* Demo Application */ = {
   226 			isa = PBXGroup;
   227 			children = (
   228 				274124040CFCCF9D00842A9B /* DemoBoardView.h */,
   229 				274124050CFCCF9D00842A9B /* DemoBoardView.m */,
   230 				32CA4F630368D1EE00C91783 /* GeekGameBoard_Prefix.pch */,
   231 				29B97316FDCFA39411CA2CEA /* main.m */,
   232 			);
   233 			name = "Demo Application";
   234 			path = Source;
   235 			sourceTree = "<group>";
   236 		};
   237 		29B97317FDCFA39411CA2CEA /* Resources */ = {
   238 			isa = PBXGroup;
   239 			children = (
   240 				29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
   241 				8D1107310486CEB800E47090 /* Info.plist */,
   242 				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
   243 				276DFC400D00867000D329AE /* Green Ball.png */,
   244 				276DFC530D00890C00D329AE /* Red Ball.png */,
   245 				276DFC540D00890C00D329AE /* Yellow Ball.png */,
   246 				276DFC550D00890C00D329AE /* White Ball.png */,
   247 				27B7543D0D08884F000516B9 /* Wood.jpg */,
   248 			);
   249 			name = Resources;
   250 			sourceTree = "<group>";
   251 		};
   252 		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
   253 			isa = PBXGroup;
   254 			children = (
   255 				1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
   256 				1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
   257 			);
   258 			name = Frameworks;
   259 			sourceTree = "<group>";
   260 		};
   261 /* End PBXGroup section */
   262 
   263 /* Begin PBXNativeTarget section */
   264 		8D1107260486CEB800E47090 /* BoardGame */ = {
   265 			isa = PBXNativeTarget;
   266 			buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "BoardGame" */;
   267 			buildPhases = (
   268 				8D1107290486CEB800E47090 /* Resources */,
   269 				8D11072C0486CEB800E47090 /* Sources */,
   270 				8D11072E0486CEB800E47090 /* Frameworks */,
   271 			);
   272 			buildRules = (
   273 			);
   274 			dependencies = (
   275 			);
   276 			name = BoardGame;
   277 			productInstallPath = "$(HOME)/Applications";
   278 			productName = BoardGame;
   279 			productReference = 8D1107320486CEB800E47090 /* GeekGameBoard.app */;
   280 			productType = "com.apple.product-type.application";
   281 		};
   282 /* End PBXNativeTarget section */
   283 
   284 /* Begin PBXProject section */
   285 		29B97313FDCFA39411CA2CEA /* Project object */ = {
   286 			isa = PBXProject;
   287 			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard" */;
   288 			compatibilityVersion = "Xcode 3.0";
   289 			hasScannedForEncodings = 1;
   290 			mainGroup = 29B97314FDCFA39411CA2CEA /* BoardGame */;
   291 			projectDirPath = "";
   292 			projectRoot = "";
   293 			targets = (
   294 				8D1107260486CEB800E47090 /* BoardGame */,
   295 			);
   296 		};
   297 /* End PBXProject section */
   298 
   299 /* Begin PBXResourcesBuildPhase section */
   300 		8D1107290486CEB800E47090 /* Resources */ = {
   301 			isa = PBXResourcesBuildPhase;
   302 			buildActionMask = 2147483647;
   303 			files = (
   304 				8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
   305 				8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
   306 				276DFC410D00867000D329AE /* Green Ball.png in Resources */,
   307 				276DFC560D00890C00D329AE /* Red Ball.png in Resources */,
   308 				276DFC570D00890C00D329AE /* Yellow Ball.png in Resources */,
   309 				276DFC580D00890C00D329AE /* White Ball.png in Resources */,
   310 				27B7543E0D08884F000516B9 /* Wood.jpg in Resources */,
   311 			);
   312 			runOnlyForDeploymentPostprocessing = 0;
   313 		};
   314 /* End PBXResourcesBuildPhase section */
   315 
   316 /* Begin PBXSourcesBuildPhase section */
   317 		8D11072C0486CEB800E47090 /* Sources */ = {
   318 			isa = PBXSourcesBuildPhase;
   319 			buildActionMask = 2147483647;
   320 			files = (
   321 				8D11072D0486CEB800E47090 /* main.m in Sources */,
   322 				27CCA8050CB8A3F9001CFE24 /* BoardView.m in Sources */,
   323 				27CCAABD0CB92A9F001CFE24 /* Card.m in Sources */,
   324 				27CCABBF0CB9496B001CFE24 /* Bit.m in Sources */,
   325 				27CCAC750CB95C2B001CFE24 /* PlayingCard.m in Sources */,
   326 				2795C2B80CC278C800D7B2BD /* Piece.m in Sources */,
   327 				27224FA00CC29B1A00814095 /* Grid.m in Sources */,
   328 				2722526F0CC2E86600814095 /* QuartzUtils.m in Sources */,
   329 				2727556A0CC3234F009C4C6C /* Dispenser.m in Sources */,
   330 				27275A550CC6713E009C4C6C /* HexGrid.m in Sources */,
   331 				27275C4B0CC700F2009C4C6C /* Game.m in Sources */,
   332 				27275C920CC7C578009C4C6C /* TicTacToeGame.m in Sources */,
   333 				2734B2620CC7F25A0070C008 /* HexchequerGame.m in Sources */,
   334 				2734B4F00CCA5BDB0070C008 /* CheckersGame.m in Sources */,
   335 				272C90AB0CCACBA4009EE530 /* DiscPiece.m in Sources */,
   336 				27DFC4410CCD01B7005E34CE /* GoGame.m in Sources */,
   337 				27D4F1260CCF011200923605 /* Stack.m in Sources */,
   338 				27F230B90CD1A61B006939C1 /* KlondikeGame.m in Sources */,
   339 				2731E0280CD430B800E6E4C8 /* Deck.m in Sources */,
   340 				2731E2A80CD5630600E6E4C8 /* BitHolder.m in Sources */,
   341 				274124060CFCCF9D00842A9B /* DemoBoardView.m in Sources */,
   342 				27C999C30D81185E005AFD4F /* GGBUtils.m in Sources */,
   343 			);
   344 			runOnlyForDeploymentPostprocessing = 0;
   345 		};
   346 /* End PBXSourcesBuildPhase section */
   347 
   348 /* Begin PBXVariantGroup section */
   349 		089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
   350 			isa = PBXVariantGroup;
   351 			children = (
   352 				089C165DFE840E0CC02AAC07 /* English */,
   353 			);
   354 			name = InfoPlist.strings;
   355 			sourceTree = "<group>";
   356 		};
   357 		29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
   358 			isa = PBXVariantGroup;
   359 			children = (
   360 				29B97319FDCFA39411CA2CEA /* English */,
   361 			);
   362 			name = MainMenu.nib;
   363 			sourceTree = "<group>";
   364 		};
   365 /* End PBXVariantGroup section */
   366 
   367 /* Begin XCBuildConfiguration section */
   368 		C01FCF4B08A954540054247B /* Debug */ = {
   369 			isa = XCBuildConfiguration;
   370 			buildSettings = {
   371 				COPY_PHASE_STRIP = NO;
   372 				GCC_DYNAMIC_NO_PIC = NO;
   373 				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   374 				GCC_MODEL_TUNING = G5;
   375 				GCC_OPTIMIZATION_LEVEL = 0;
   376 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   377 				GCC_PREFIX_HEADER = Source/GeekGameBoard_Prefix.pch;
   378 				INFOPLIST_FILE = Resources/Info.plist;
   379 				INSTALL_PATH = "$(HOME)/Applications";
   380 				PRODUCT_NAME = GeekGameBoard;
   381 				WRAPPER_EXTENSION = app;
   382 				ZERO_LINK = YES;
   383 			};
   384 			name = Debug;
   385 		};
   386 		C01FCF4C08A954540054247B /* Release */ = {
   387 			isa = XCBuildConfiguration;
   388 			buildSettings = {
   389 				ARCHS = (
   390 					i386,
   391 					ppc,
   392 					ppc64,
   393 					x86_64,
   394 				);
   395 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   396 				GCC_MODEL_TUNING = G5;
   397 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   398 				GCC_PREFIX_HEADER = Source/GeekGameBoard_Prefix.pch;
   399 				INFOPLIST_FILE = Resources/Info.plist;
   400 				INSTALL_PATH = "$(HOME)/Applications";
   401 				PRODUCT_NAME = GeekGameBoard;
   402 				WRAPPER_EXTENSION = app;
   403 			};
   404 			name = Release;
   405 		};
   406 		C01FCF4F08A954540054247B /* Debug */ = {
   407 			isa = XCBuildConfiguration;
   408 			buildSettings = {
   409 				GCC_C_LANGUAGE_STANDARD = gnu99;
   410 				GCC_ENABLE_OBJC_GC = unsupported;
   411 				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
   412 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   413 				GCC_WARN_UNUSED_VARIABLE = YES;
   414 				PREBINDING = NO;
   415 				WARNING_CFLAGS = "-Wall";
   416 			};
   417 			name = Debug;
   418 		};
   419 		C01FCF5008A954540054247B /* Release */ = {
   420 			isa = XCBuildConfiguration;
   421 			buildSettings = {
   422 				ARCHS = (
   423 					ppc,
   424 					i386,
   425 				);
   426 				GCC_C_LANGUAGE_STANDARD = gnu99;
   427 				GCC_ENABLE_OBJC_GC = unsupported;
   428 				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
   429 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   430 				GCC_WARN_UNUSED_VARIABLE = YES;
   431 				PREBINDING = NO;
   432 				WARNING_CFLAGS = "-Wall";
   433 			};
   434 			name = Release;
   435 		};
   436 /* End XCBuildConfiguration section */
   437 
   438 /* Begin XCConfigurationList section */
   439 		C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "BoardGame" */ = {
   440 			isa = XCConfigurationList;
   441 			buildConfigurations = (
   442 				C01FCF4B08A954540054247B /* Debug */,
   443 				C01FCF4C08A954540054247B /* Release */,
   444 			);
   445 			defaultConfigurationIsVisible = 0;
   446 			defaultConfigurationName = Release;
   447 		};
   448 		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard" */ = {
   449 			isa = XCConfigurationList;
   450 			buildConfigurations = (
   451 				C01FCF4F08A954540054247B /* Debug */,
   452 				C01FCF5008A954540054247B /* Release */,
   453 			);
   454 			defaultConfigurationIsVisible = 0;
   455 			defaultConfigurationName = Release;
   456 		};
   457 /* End XCConfigurationList section */
   458 	};
   459 	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
   460 }