* Got it working with latest iPhone SDK.
* Fixed some text alignment issues that showed up on PlayingCards.
* Working on persistence and move-tracking for Game.
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 279F4D870D8606C200B32DBF /* GGBLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4D840D8606C200B32DBF /* GGBLayer.m */; };
28 279F4D880D8606C200B32DBF /* GGBTextLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4D860D8606C200B32DBF /* GGBTextLayer.m */; };
29 279F4DB20D8607AD00B32DBF /* O.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4DB00D8607AD00B32DBF /* O.tiff */; };
30 279F4DB30D8607AD00B32DBF /* X.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4DB10D8607AD00B32DBF /* X.tiff */; };
31 279F4DE20D8609C200B32DBF /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4DE10D8609C200B32DBF /* Background.png */; };
32 27B7543E0D08884F000516B9 /* Wood.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 27B7543D0D08884F000516B9 /* Wood.jpg */; };
33 27C999C30D81185E005AFD4F /* GGBUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C999C20D81185E005AFD4F /* GGBUtils.m */; };
34 27CCA8050CB8A3F9001CFE24 /* BoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCA8040CB8A3F9001CFE24 /* BoardView.m */; };
35 27CCA95F0CB8A74D001CFE24 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27CCA95E0CB8A74D001CFE24 /* Quartz.framework */; };
36 27CCAABD0CB92A9F001CFE24 /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCAABC0CB92A9F001CFE24 /* Card.m */; };
37 27CCABBF0CB9496B001CFE24 /* Bit.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCABBE0CB9496B001CFE24 /* Bit.m */; };
38 27CCAC750CB95C2B001CFE24 /* PlayingCard.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCAC740CB95C2B001CFE24 /* PlayingCard.m */; };
39 27D014C00D8DFB4500615ADD /* Game-Persistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D014BF0D8DFB4500615ADD /* Game-Persistence.m */; };
40 27D4F1260CCF011200923605 /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D4F1250CCF011200923605 /* Stack.m */; };
41 27DFC4410CCD01B7005E34CE /* GoGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27DFC4400CCD01B7005E34CE /* GoGame.m */; };
42 27F230B90CD1A61B006939C1 /* KlondikeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F230B80CD1A61B006939C1 /* KlondikeGame.m */; };
43 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
44 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
45 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
46 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
47 /* End PBXBuildFile section */
49 /* Begin PBXFileReference section */
50 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
51 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
52 27224F9E0CC29B1A00814095 /* Grid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grid.h; sourceTree = "<group>"; };
53 27224F9F0CC29B1A00814095 /* Grid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Grid.m; sourceTree = "<group>"; };
54 2722526D0CC2E86600814095 /* QuartzUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzUtils.h; sourceTree = "<group>"; };
55 2722526E0CC2E86600814095 /* QuartzUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuartzUtils.m; sourceTree = "<group>"; };
56 272755680CC3234F009C4C6C /* Dispenser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dispenser.h; sourceTree = "<group>"; };
57 272755690CC3234F009C4C6C /* Dispenser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dispenser.m; sourceTree = "<group>"; };
58 27275A530CC6713E009C4C6C /* HexGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexGrid.h; sourceTree = "<group>"; };
59 27275A540CC6713E009C4C6C /* HexGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexGrid.m; sourceTree = "<group>"; };
60 27275C490CC700F2009C4C6C /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
61 27275C4A0CC700F2009C4C6C /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
62 27275C900CC7C578009C4C6C /* TicTacToeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TicTacToeGame.h; sourceTree = "<group>"; };
63 27275C910CC7C578009C4C6C /* TicTacToeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TicTacToeGame.m; sourceTree = "<group>"; };
64 272C90A90CCACBA4009EE530 /* DiscPiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscPiece.h; sourceTree = "<group>"; };
65 272C90AA0CCACBA4009EE530 /* DiscPiece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscPiece.m; sourceTree = "<group>"; };
66 2731E0260CD430B800E6E4C8 /* Deck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deck.h; sourceTree = "<group>"; };
67 2731E0270CD430B800E6E4C8 /* Deck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deck.m; sourceTree = "<group>"; };
68 2731E2A60CD5630600E6E4C8 /* BitHolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitHolder.h; sourceTree = "<group>"; };
69 2731E2A70CD5630600E6E4C8 /* BitHolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BitHolder.m; sourceTree = "<group>"; };
70 2734B2600CC7F25A0070C008 /* HexchequerGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexchequerGame.h; sourceTree = "<group>"; };
71 2734B2610CC7F25A0070C008 /* HexchequerGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexchequerGame.m; sourceTree = "<group>"; };
72 2734B4EE0CCA5BDB0070C008 /* CheckersGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckersGame.h; sourceTree = "<group>"; };
73 2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheckersGame.m; sourceTree = "<group>"; };
74 274124040CFCCF9D00842A9B /* DemoBoardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoBoardView.h; sourceTree = "<group>"; };
75 274124050CFCCF9D00842A9B /* DemoBoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoBoardView.m; sourceTree = "<group>"; };
76 276DFC400D00867000D329AE /* Green Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Green Ball.png"; path = "Resources/Green Ball.png"; sourceTree = "<group>"; };
77 276DFC530D00890C00D329AE /* Red Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Red Ball.png"; path = "Resources/Red Ball.png"; sourceTree = "<group>"; };
78 276DFC540D00890C00D329AE /* Yellow Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Yellow Ball.png"; path = "Resources/Yellow Ball.png"; sourceTree = "<group>"; };
79 276DFC550D00890C00D329AE /* White Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "White Ball.png"; path = "Resources/White Ball.png"; sourceTree = "<group>"; };
80 2795C2B60CC278C800D7B2BD /* Piece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Piece.h; sourceTree = "<group>"; };
81 2795C2B70CC278C800D7B2BD /* Piece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Piece.m; sourceTree = "<group>"; };
82 279F4D830D8606C200B32DBF /* GGBLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBLayer.h; sourceTree = "<group>"; };
83 279F4D840D8606C200B32DBF /* GGBLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBLayer.m; sourceTree = "<group>"; };
84 279F4D850D8606C200B32DBF /* GGBTextLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBTextLayer.h; sourceTree = "<group>"; };
85 279F4D860D8606C200B32DBF /* GGBTextLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBTextLayer.m; sourceTree = "<group>"; };
86 279F4DB00D8607AD00B32DBF /* O.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = O.tiff; path = Resources/O.tiff; sourceTree = "<group>"; };
87 279F4DB10D8607AD00B32DBF /* X.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = X.tiff; path = Resources/X.tiff; sourceTree = "<group>"; };
88 279F4DE10D8609C200B32DBF /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Background.png; path = Resources/Background.png; sourceTree = "<group>"; };
89 27B7543D0D08884F000516B9 /* Wood.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = Wood.jpg; path = Resources/Wood.jpg; sourceTree = "<group>"; };
90 27C999C10D81185E005AFD4F /* GGBUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBUtils.h; sourceTree = "<group>"; };
91 27C999C20D81185E005AFD4F /* GGBUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBUtils.m; sourceTree = "<group>"; };
92 27C99AB40D820500005AFD4F /* BoardUIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardUIView.h; sourceTree = "<group>"; };
93 27C99AB50D820500005AFD4F /* BoardUIView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardUIView.m; sourceTree = "<group>"; };
94 27CCA8030CB8A3F9001CFE24 /* BoardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardView.h; sourceTree = "<group>"; };
95 27CCA8040CB8A3F9001CFE24 /* BoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardView.m; sourceTree = "<group>"; };
96 27CCA95E0CB8A74D001CFE24 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
97 27CCAABB0CB92A9F001CFE24 /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
98 27CCAABC0CB92A9F001CFE24 /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
99 27CCABBD0CB9496B001CFE24 /* Bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bit.h; sourceTree = "<group>"; };
100 27CCABBE0CB9496B001CFE24 /* Bit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bit.m; sourceTree = "<group>"; };
101 27CCAC730CB95C2B001CFE24 /* PlayingCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayingCard.h; sourceTree = "<group>"; };
102 27CCAC740CB95C2B001CFE24 /* PlayingCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayingCard.m; sourceTree = "<group>"; };
103 27D014BE0D8DFB4500615ADD /* Game-Persistence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Game-Persistence.h"; sourceTree = "<group>"; };
104 27D014BF0D8DFB4500615ADD /* Game-Persistence.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Game-Persistence.m"; sourceTree = "<group>"; };
105 27D4F1240CCF011200923605 /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = "<group>"; };
106 27D4F1250CCF011200923605 /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = "<group>"; };
107 27DFC43F0CCD01B7005E34CE /* GoGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoGame.h; sourceTree = "<group>"; };
108 27DFC4400CCD01B7005E34CE /* GoGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoGame.m; sourceTree = "<group>"; };
109 27F230B70CD1A61B006939C1 /* KlondikeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KlondikeGame.h; sourceTree = "<group>"; };
110 27F230B80CD1A61B006939C1 /* KlondikeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KlondikeGame.m; sourceTree = "<group>"; };
111 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
112 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
113 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
114 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
115 32CA4F630368D1EE00C91783 /* GeekGameBoard_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeekGameBoard_Prefix.pch; sourceTree = "<group>"; };
116 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = "<group>"; };
117 8D1107320486CEB800E47090 /* GeekGameBoard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GeekGameBoard.app; sourceTree = BUILT_PRODUCTS_DIR; };
118 /* End PBXFileReference section */
120 /* Begin PBXFrameworksBuildPhase section */
121 8D11072E0486CEB800E47090 /* Frameworks */ = {
122 isa = PBXFrameworksBuildPhase;
123 buildActionMask = 2147483647;
125 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
126 27CCA95F0CB8A74D001CFE24 /* Quartz.framework in Frameworks */,
128 runOnlyForDeploymentPostprocessing = 0;
130 /* End PBXFrameworksBuildPhase section */
132 /* Begin PBXGroup section */
133 080E96DDFE201D6D7F000001 /* Source */ = {
136 27CCA8030CB8A3F9001CFE24 /* BoardView.h */,
137 27CCA8040CB8A3F9001CFE24 /* BoardView.m */,
138 27C99AB40D820500005AFD4F /* BoardUIView.h */,
139 27C99AB50D820500005AFD4F /* BoardUIView.m */,
140 27CCABBD0CB9496B001CFE24 /* Bit.h */,
141 27CCABBE0CB9496B001CFE24 /* Bit.m */,
142 2731E2A60CD5630600E6E4C8 /* BitHolder.h */,
143 2731E2A70CD5630600E6E4C8 /* BitHolder.m */,
144 27D4F1240CCF011200923605 /* Stack.h */,
145 27D4F1250CCF011200923605 /* Stack.m */,
146 27275C440CC70095009C4C6C /* Cards */,
147 27275C450CC700C4009C4C6C /* Boards and Pieces */,
148 27275C480CC700D8009C4C6C /* Games */,
149 279F4D830D8606C200B32DBF /* GGBLayer.h */,
150 279F4D840D8606C200B32DBF /* GGBLayer.m */,
151 279F4D850D8606C200B32DBF /* GGBTextLayer.h */,
152 279F4D860D8606C200B32DBF /* GGBTextLayer.m */,
153 2722526D0CC2E86600814095 /* QuartzUtils.h */,
154 2722526E0CC2E86600814095 /* QuartzUtils.m */,
155 27C999C10D81185E005AFD4F /* GGBUtils.h */,
156 27C999C20D81185E005AFD4F /* GGBUtils.m */,
159 sourceTree = "<group>";
161 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
164 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
166 name = "Linked Frameworks";
167 sourceTree = "<group>";
169 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
172 29B97324FDCFA39411CA2CEA /* AppKit.framework */,
173 27CCA95E0CB8A74D001CFE24 /* Quartz.framework */,
174 29B97325FDCFA39411CA2CEA /* Foundation.framework */,
176 name = "Other Frameworks";
177 sourceTree = "<group>";
179 19C28FACFE9D520D11CA2CBB /* Products */ = {
182 8D1107320486CEB800E47090 /* GeekGameBoard.app */,
185 sourceTree = "<group>";
187 27275C440CC70095009C4C6C /* Cards */ = {
190 27CCAABB0CB92A9F001CFE24 /* Card.h */,
191 27CCAABC0CB92A9F001CFE24 /* Card.m */,
192 2731E0260CD430B800E6E4C8 /* Deck.h */,
193 2731E0270CD430B800E6E4C8 /* Deck.m */,
194 27CCAC730CB95C2B001CFE24 /* PlayingCard.h */,
195 27CCAC740CB95C2B001CFE24 /* PlayingCard.m */,
198 sourceTree = "<group>";
200 27275C450CC700C4009C4C6C /* Boards and Pieces */ = {
203 2795C2B60CC278C800D7B2BD /* Piece.h */,
204 2795C2B70CC278C800D7B2BD /* Piece.m */,
205 272C90A90CCACBA4009EE530 /* DiscPiece.h */,
206 272C90AA0CCACBA4009EE530 /* DiscPiece.m */,
207 27224F9E0CC29B1A00814095 /* Grid.h */,
208 27224F9F0CC29B1A00814095 /* Grid.m */,
209 27275A530CC6713E009C4C6C /* HexGrid.h */,
210 27275A540CC6713E009C4C6C /* HexGrid.m */,
211 272755680CC3234F009C4C6C /* Dispenser.h */,
212 272755690CC3234F009C4C6C /* Dispenser.m */,
214 name = "Boards and Pieces";
215 sourceTree = "<group>";
217 27275C480CC700D8009C4C6C /* Games */ = {
220 27275C490CC700F2009C4C6C /* Game.h */,
221 27275C4A0CC700F2009C4C6C /* Game.m */,
222 27D014BE0D8DFB4500615ADD /* Game-Persistence.h */,
223 27D014BF0D8DFB4500615ADD /* Game-Persistence.m */,
224 27275C900CC7C578009C4C6C /* TicTacToeGame.h */,
225 27275C910CC7C578009C4C6C /* TicTacToeGame.m */,
226 2734B4EE0CCA5BDB0070C008 /* CheckersGame.h */,
227 2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */,
228 2734B2600CC7F25A0070C008 /* HexchequerGame.h */,
229 2734B2610CC7F25A0070C008 /* HexchequerGame.m */,
230 27DFC43F0CCD01B7005E34CE /* GoGame.h */,
231 27DFC4400CCD01B7005E34CE /* GoGame.m */,
232 27F230B70CD1A61B006939C1 /* KlondikeGame.h */,
233 27F230B80CD1A61B006939C1 /* KlondikeGame.m */,
236 sourceTree = "<group>";
238 29B97314FDCFA39411CA2CEA /* BoardGame */ = {
241 080E96DDFE201D6D7F000001 /* Source */,
242 29B97315FDCFA39411CA2CEA /* Demo Application */,
243 29B97317FDCFA39411CA2CEA /* Resources */,
244 29B97323FDCFA39411CA2CEA /* Frameworks */,
245 19C28FACFE9D520D11CA2CBB /* Products */,
248 sourceTree = "<group>";
250 29B97315FDCFA39411CA2CEA /* Demo Application */ = {
253 274124040CFCCF9D00842A9B /* DemoBoardView.h */,
254 274124050CFCCF9D00842A9B /* DemoBoardView.m */,
255 32CA4F630368D1EE00C91783 /* GeekGameBoard_Prefix.pch */,
256 29B97316FDCFA39411CA2CEA /* main.m */,
258 name = "Demo Application";
260 sourceTree = "<group>";
262 29B97317FDCFA39411CA2CEA /* Resources */ = {
265 29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
266 8D1107310486CEB800E47090 /* Info.plist */,
267 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
268 279F4DE10D8609C200B32DBF /* Background.png */,
269 276DFC400D00867000D329AE /* Green Ball.png */,
270 276DFC530D00890C00D329AE /* Red Ball.png */,
271 276DFC540D00890C00D329AE /* Yellow Ball.png */,
272 276DFC550D00890C00D329AE /* White Ball.png */,
273 27B7543D0D08884F000516B9 /* Wood.jpg */,
274 279F4DB00D8607AD00B32DBF /* O.tiff */,
275 279F4DB10D8607AD00B32DBF /* X.tiff */,
278 sourceTree = "<group>";
280 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
283 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
284 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
287 sourceTree = "<group>";
289 /* End PBXGroup section */
291 /* Begin PBXNativeTarget section */
292 8D1107260486CEB800E47090 /* BoardGame */ = {
293 isa = PBXNativeTarget;
294 buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "BoardGame" */;
296 8D1107290486CEB800E47090 /* Resources */,
297 8D11072C0486CEB800E47090 /* Sources */,
298 8D11072E0486CEB800E47090 /* Frameworks */,
305 productInstallPath = "$(HOME)/Applications";
306 productName = BoardGame;
307 productReference = 8D1107320486CEB800E47090 /* GeekGameBoard.app */;
308 productType = "com.apple.product-type.application";
310 /* End PBXNativeTarget section */
312 /* Begin PBXProject section */
313 29B97313FDCFA39411CA2CEA /* Project object */ = {
315 buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard" */;
316 compatibilityVersion = "Xcode 3.0";
317 hasScannedForEncodings = 1;
318 mainGroup = 29B97314FDCFA39411CA2CEA /* BoardGame */;
322 8D1107260486CEB800E47090 /* BoardGame */,
325 /* End PBXProject section */
327 /* Begin PBXResourcesBuildPhase section */
328 8D1107290486CEB800E47090 /* Resources */ = {
329 isa = PBXResourcesBuildPhase;
330 buildActionMask = 2147483647;
332 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
333 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
334 276DFC410D00867000D329AE /* Green Ball.png in Resources */,
335 276DFC560D00890C00D329AE /* Red Ball.png in Resources */,
336 276DFC570D00890C00D329AE /* Yellow Ball.png in Resources */,
337 276DFC580D00890C00D329AE /* White Ball.png in Resources */,
338 27B7543E0D08884F000516B9 /* Wood.jpg in Resources */,
339 279F4DB20D8607AD00B32DBF /* O.tiff in Resources */,
340 279F4DB30D8607AD00B32DBF /* X.tiff in Resources */,
341 279F4DE20D8609C200B32DBF /* Background.png in Resources */,
343 runOnlyForDeploymentPostprocessing = 0;
345 /* End PBXResourcesBuildPhase section */
347 /* Begin PBXSourcesBuildPhase section */
348 8D11072C0486CEB800E47090 /* Sources */ = {
349 isa = PBXSourcesBuildPhase;
350 buildActionMask = 2147483647;
352 8D11072D0486CEB800E47090 /* main.m in Sources */,
353 27CCA8050CB8A3F9001CFE24 /* BoardView.m in Sources */,
354 27CCAABD0CB92A9F001CFE24 /* Card.m in Sources */,
355 27CCABBF0CB9496B001CFE24 /* Bit.m in Sources */,
356 27CCAC750CB95C2B001CFE24 /* PlayingCard.m in Sources */,
357 2795C2B80CC278C800D7B2BD /* Piece.m in Sources */,
358 27224FA00CC29B1A00814095 /* Grid.m in Sources */,
359 2722526F0CC2E86600814095 /* QuartzUtils.m in Sources */,
360 2727556A0CC3234F009C4C6C /* Dispenser.m in Sources */,
361 27275A550CC6713E009C4C6C /* HexGrid.m in Sources */,
362 27275C4B0CC700F2009C4C6C /* Game.m in Sources */,
363 27275C920CC7C578009C4C6C /* TicTacToeGame.m in Sources */,
364 2734B2620CC7F25A0070C008 /* HexchequerGame.m in Sources */,
365 2734B4F00CCA5BDB0070C008 /* CheckersGame.m in Sources */,
366 272C90AB0CCACBA4009EE530 /* DiscPiece.m in Sources */,
367 27DFC4410CCD01B7005E34CE /* GoGame.m in Sources */,
368 27D4F1260CCF011200923605 /* Stack.m in Sources */,
369 27F230B90CD1A61B006939C1 /* KlondikeGame.m in Sources */,
370 2731E0280CD430B800E6E4C8 /* Deck.m in Sources */,
371 2731E2A80CD5630600E6E4C8 /* BitHolder.m in Sources */,
372 274124060CFCCF9D00842A9B /* DemoBoardView.m in Sources */,
373 27C999C30D81185E005AFD4F /* GGBUtils.m in Sources */,
374 279F4D870D8606C200B32DBF /* GGBLayer.m in Sources */,
375 279F4D880D8606C200B32DBF /* GGBTextLayer.m in Sources */,
376 27D014C00D8DFB4500615ADD /* Game-Persistence.m in Sources */,
378 runOnlyForDeploymentPostprocessing = 0;
380 /* End PBXSourcesBuildPhase section */
382 /* Begin PBXVariantGroup section */
383 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
384 isa = PBXVariantGroup;
386 089C165DFE840E0CC02AAC07 /* English */,
388 name = InfoPlist.strings;
389 sourceTree = "<group>";
391 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
392 isa = PBXVariantGroup;
394 29B97319FDCFA39411CA2CEA /* English */,
397 sourceTree = "<group>";
399 /* End PBXVariantGroup section */
401 /* Begin XCBuildConfiguration section */
402 C01FCF4B08A954540054247B /* Debug */ = {
403 isa = XCBuildConfiguration;
405 COPY_PHASE_STRIP = NO;
406 GCC_DYNAMIC_NO_PIC = NO;
407 GCC_ENABLE_FIX_AND_CONTINUE = YES;
408 GCC_MODEL_TUNING = G5;
409 GCC_OPTIMIZATION_LEVEL = 0;
410 GCC_PRECOMPILE_PREFIX_HEADER = YES;
411 GCC_PREFIX_HEADER = Source/GeekGameBoard_Prefix.pch;
412 INFOPLIST_FILE = Resources/Info.plist;
413 INSTALL_PATH = "$(HOME)/Applications";
414 PRODUCT_NAME = GeekGameBoard;
415 WRAPPER_EXTENSION = app;
420 C01FCF4C08A954540054247B /* Release */ = {
421 isa = XCBuildConfiguration;
429 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
430 GCC_MODEL_TUNING = G5;
431 GCC_PRECOMPILE_PREFIX_HEADER = YES;
432 GCC_PREFIX_HEADER = Source/GeekGameBoard_Prefix.pch;
433 INFOPLIST_FILE = Resources/Info.plist;
434 INSTALL_PATH = "$(HOME)/Applications";
435 PRODUCT_NAME = GeekGameBoard;
436 WRAPPER_EXTENSION = app;
440 C01FCF4F08A954540054247B /* Debug */ = {
441 isa = XCBuildConfiguration;
443 GCC_C_LANGUAGE_STANDARD = gnu99;
444 GCC_ENABLE_OBJC_GC = unsupported;
445 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
446 GCC_WARN_ABOUT_RETURN_TYPE = YES;
447 GCC_WARN_UNUSED_VARIABLE = YES;
449 SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
450 WARNING_CFLAGS = "-Wall";
454 C01FCF5008A954540054247B /* Release */ = {
455 isa = XCBuildConfiguration;
461 GCC_C_LANGUAGE_STANDARD = gnu99;
462 GCC_ENABLE_OBJC_GC = unsupported;
463 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
464 GCC_WARN_ABOUT_RETURN_TYPE = YES;
465 GCC_WARN_UNUSED_VARIABLE = YES;
467 SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
468 WARNING_CFLAGS = "-Wall";
472 /* End XCBuildConfiguration section */
474 /* Begin XCConfigurationList section */
475 C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "BoardGame" */ = {
476 isa = XCConfigurationList;
477 buildConfigurations = (
478 C01FCF4B08A954540054247B /* Debug */,
479 C01FCF4C08A954540054247B /* Release */,
481 defaultConfigurationIsVisible = 0;
482 defaultConfigurationName = Release;
484 C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard" */ = {
485 isa = XCConfigurationList;
486 buildConfigurations = (
487 C01FCF4F08A954540054247B /* Debug */,
488 C01FCF5008A954540054247B /* Release */,
490 defaultConfigurationIsVisible = 0;
491 defaultConfigurationName = Release;
493 /* End XCConfigurationList section */
495 rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;