Game class now tracks board state and moves, as strings, and can step through its history.
Fixed another bug in Go (you could drag your captured stones back to the board!)
9 /* Begin PBXBuildFile section */
10 1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
11 1D60589B0D05DD56006BFB54 /* main-iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main-iPhone.m */; };
12 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
13 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
14 279F4B590D85C51700B32DBF /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279F4B580D85C51700B32DBF /* AudioToolbox.framework */; };
15 279F4B5B0D85C51700B32DBF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */; };
16 279F4B620D85C63000B32DBF /* GGBTextLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4B610D85C63000B32DBF /* GGBTextLayer.m */; };
17 279F4B6A0D85CBFC00B32DBF /* iPhoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */; };
18 279F4B740D85CDE900B32DBF /* ToolbarAdvanced.icns in Resources */ = {isa = PBXBuildFile; fileRef = 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */; };
19 279F4C1D0D85D0AF00B32DBF /* X.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C1C0D85D0AF00B32DBF /* X.tiff */; };
20 279F4C1F0D85D0CB00B32DBF /* O.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C1E0D85D0CB00B32DBF /* O.tiff */; };
21 279F4C740D85D43800B32DBF /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C730D85D43800B32DBF /* Background.png */; };
22 279F4E0A0D860B8800B32DBF /* Green Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E050D860B8800B32DBF /* Green Ball.png */; };
23 279F4E0B0D860B8800B32DBF /* Red Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E060D860B8800B32DBF /* Red Ball.png */; };
24 279F4E0C0D860B8800B32DBF /* White Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E070D860B8800B32DBF /* White Ball.png */; };
25 279F4E0E0D860B8800B32DBF /* Yellow Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E090D860B8800B32DBF /* Yellow Ball.png */; };
26 279F4F1B0D86448100B32DBF /* Wood.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 279F4F1A0D86448100B32DBF /* Wood.jpg */; };
27 27C99B0F0D820868005AFD4F /* BoardUIView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE40D820868005AFD4F /* BoardUIView.m */; };
28 27C99B100D820868005AFD4F /* Bit.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE60D820868005AFD4F /* Bit.m */; };
29 27C99B110D820868005AFD4F /* BitHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE80D820868005AFD4F /* BitHolder.m */; };
30 27C99B120D820868005AFD4F /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AEA0D820868005AFD4F /* Stack.m */; };
31 27C99B130D820868005AFD4F /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AED0D820868005AFD4F /* Card.m */; };
32 27C99B140D820868005AFD4F /* Deck.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AEF0D820868005AFD4F /* Deck.m */; };
33 27C99B150D820868005AFD4F /* PlayingCard.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF10D820868005AFD4F /* PlayingCard.m */; };
34 27C99B160D820868005AFD4F /* Piece.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF40D820868005AFD4F /* Piece.m */; };
35 27C99B170D820868005AFD4F /* DiscPiece.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF60D820868005AFD4F /* DiscPiece.m */; };
36 27C99B180D820868005AFD4F /* Grid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF80D820868005AFD4F /* Grid.m */; };
37 27C99B190D820868005AFD4F /* HexGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFA0D820868005AFD4F /* HexGrid.m */; };
38 27C99B1A0D820868005AFD4F /* Dispenser.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFC0D820868005AFD4F /* Dispenser.m */; };
39 27C99B1B0D820868005AFD4F /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFF0D820868005AFD4F /* Game.m */; };
40 27C99B1C0D820868005AFD4F /* TicTacToeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B010D820868005AFD4F /* TicTacToeGame.m */; };
41 27C99B1D0D820868005AFD4F /* CheckersGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B030D820868005AFD4F /* CheckersGame.m */; };
42 27C99B1E0D820868005AFD4F /* HexchequerGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B050D820868005AFD4F /* HexchequerGame.m */; };
43 27C99B1F0D820868005AFD4F /* GoGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B070D820868005AFD4F /* GoGame.m */; };
44 27C99B200D820868005AFD4F /* KlondikeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B090D820868005AFD4F /* KlondikeGame.m */; };
45 27C99B210D820868005AFD4F /* QuartzUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B0B0D820868005AFD4F /* QuartzUtils.m */; };
46 27C99B220D820868005AFD4F /* GGBUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B0D0D820868005AFD4F /* GGBUtils.m */; };
47 27C99B510D82106E005AFD4F /* GGBLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B500D82106E005AFD4F /* GGBLayer.m */; };
48 /* End PBXBuildFile section */
50 /* Begin PBXFileReference section */
51 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
52 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
53 1D6058910D05DD3D006BFB54 /* GGB-iPhone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "GGB-iPhone.app"; sourceTree = BUILT_PRODUCTS_DIR; };
54 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
55 279F4B580D85C51700B32DBF /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
56 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
57 279F4B600D85C63000B32DBF /* GGBTextLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBTextLayer.h; sourceTree = "<group>"; };
58 279F4B610D85C63000B32DBF /* GGBTextLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBTextLayer.m; sourceTree = "<group>"; };
59 279F4B680D85CBFC00B32DBF /* iPhoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iPhoneAppDelegate.h; path = Source/iPhoneAppDelegate.h; sourceTree = "<group>"; };
60 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iPhoneAppDelegate.m; path = Source/iPhoneAppDelegate.m; sourceTree = "<group>"; };
61 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = ToolbarAdvanced.icns; path = /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarAdvanced.icns; sourceTree = "<absolute>"; };
62 279F4C1C0D85D0AF00B32DBF /* X.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = X.tiff; sourceTree = "<group>"; };
63 279F4C1E0D85D0CB00B32DBF /* O.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = O.tiff; sourceTree = "<group>"; };
64 279F4C730D85D43800B32DBF /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Background.png; sourceTree = "<group>"; };
65 279F4E050D860B8800B32DBF /* Green Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Green Ball.png"; sourceTree = "<group>"; };
66 279F4E060D860B8800B32DBF /* Red Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Red Ball.png"; sourceTree = "<group>"; };
67 279F4E070D860B8800B32DBF /* White Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "White Ball.png"; sourceTree = "<group>"; };
68 279F4E090D860B8800B32DBF /* Yellow Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Yellow Ball.png"; sourceTree = "<group>"; };
69 279F4F1A0D86448100B32DBF /* Wood.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Wood.jpg; sourceTree = "<group>"; };
70 27C99AE30D820868005AFD4F /* BoardUIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardUIView.h; sourceTree = "<group>"; };
71 27C99AE40D820868005AFD4F /* BoardUIView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardUIView.m; sourceTree = "<group>"; };
72 27C99AE50D820868005AFD4F /* Bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bit.h; sourceTree = "<group>"; };
73 27C99AE60D820868005AFD4F /* Bit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bit.m; sourceTree = "<group>"; };
74 27C99AE70D820868005AFD4F /* BitHolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitHolder.h; sourceTree = "<group>"; };
75 27C99AE80D820868005AFD4F /* BitHolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BitHolder.m; sourceTree = "<group>"; };
76 27C99AE90D820868005AFD4F /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = "<group>"; };
77 27C99AEA0D820868005AFD4F /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = "<group>"; };
78 27C99AEC0D820868005AFD4F /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
79 27C99AED0D820868005AFD4F /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
80 27C99AEE0D820868005AFD4F /* Deck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deck.h; sourceTree = "<group>"; };
81 27C99AEF0D820868005AFD4F /* Deck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deck.m; sourceTree = "<group>"; };
82 27C99AF00D820868005AFD4F /* PlayingCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayingCard.h; sourceTree = "<group>"; };
83 27C99AF10D820868005AFD4F /* PlayingCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayingCard.m; sourceTree = "<group>"; };
84 27C99AF30D820868005AFD4F /* Piece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Piece.h; sourceTree = "<group>"; };
85 27C99AF40D820868005AFD4F /* Piece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Piece.m; sourceTree = "<group>"; };
86 27C99AF50D820868005AFD4F /* DiscPiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscPiece.h; sourceTree = "<group>"; };
87 27C99AF60D820868005AFD4F /* DiscPiece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscPiece.m; sourceTree = "<group>"; };
88 27C99AF70D820868005AFD4F /* Grid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grid.h; sourceTree = "<group>"; };
89 27C99AF80D820868005AFD4F /* Grid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Grid.m; sourceTree = "<group>"; };
90 27C99AF90D820868005AFD4F /* HexGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexGrid.h; sourceTree = "<group>"; };
91 27C99AFA0D820868005AFD4F /* HexGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexGrid.m; sourceTree = "<group>"; };
92 27C99AFB0D820868005AFD4F /* Dispenser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dispenser.h; sourceTree = "<group>"; };
93 27C99AFC0D820868005AFD4F /* Dispenser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dispenser.m; sourceTree = "<group>"; };
94 27C99AFE0D820868005AFD4F /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
95 27C99AFF0D820868005AFD4F /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
96 27C99B000D820868005AFD4F /* TicTacToeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TicTacToeGame.h; sourceTree = "<group>"; };
97 27C99B010D820868005AFD4F /* TicTacToeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TicTacToeGame.m; sourceTree = "<group>"; };
98 27C99B020D820868005AFD4F /* CheckersGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckersGame.h; sourceTree = "<group>"; };
99 27C99B030D820868005AFD4F /* CheckersGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheckersGame.m; sourceTree = "<group>"; };
100 27C99B040D820868005AFD4F /* HexchequerGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexchequerGame.h; sourceTree = "<group>"; };
101 27C99B050D820868005AFD4F /* HexchequerGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexchequerGame.m; sourceTree = "<group>"; };
102 27C99B060D820868005AFD4F /* GoGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoGame.h; sourceTree = "<group>"; };
103 27C99B070D820868005AFD4F /* GoGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoGame.m; sourceTree = "<group>"; };
104 27C99B080D820868005AFD4F /* KlondikeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KlondikeGame.h; sourceTree = "<group>"; };
105 27C99B090D820868005AFD4F /* KlondikeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KlondikeGame.m; sourceTree = "<group>"; };
106 27C99B0A0D820868005AFD4F /* QuartzUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzUtils.h; sourceTree = "<group>"; };
107 27C99B0B0D820868005AFD4F /* QuartzUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuartzUtils.m; sourceTree = "<group>"; };
108 27C99B0C0D820868005AFD4F /* GGBUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBUtils.h; sourceTree = "<group>"; };
109 27C99B0D0D820868005AFD4F /* GGBUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBUtils.m; sourceTree = "<group>"; };
110 27C99B4F0D82106E005AFD4F /* GGBLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBLayer.h; sourceTree = "<group>"; };
111 27C99B500D82106E005AFD4F /* GGBLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBLayer.m; sourceTree = "<group>"; };
112 29B97316FDCFA39411CA2CEA /* main-iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "main-iPhone.m"; path = "Source/main-iPhone.m"; sourceTree = "<group>"; };
113 32CA4F630368D1EE00C91783 /* GGB-iPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GGB-iPhone_Prefix.pch"; path = "Source/GGB-iPhone_Prefix.pch"; sourceTree = "<group>"; };
114 8D1107310486CEB800E47090 /* Info-iPhone.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iPhone.plist"; sourceTree = "<group>"; };
115 /* End PBXFileReference section */
117 /* Begin PBXFrameworksBuildPhase section */
118 1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
119 isa = PBXFrameworksBuildPhase;
120 buildActionMask = 2147483647;
122 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
123 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
124 1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
125 279F4B590D85C51700B32DBF /* AudioToolbox.framework in Frameworks */,
126 279F4B5B0D85C51700B32DBF /* QuartzCore.framework in Frameworks */,
128 runOnlyForDeploymentPostprocessing = 0;
130 /* End PBXFrameworksBuildPhase section */
132 /* Begin PBXGroup section */
133 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
136 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
137 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
138 1D30AB110D05D00D00671497 /* Foundation.framework */,
140 name = "Linked Frameworks";
141 sourceTree = "<group>";
143 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
147 name = "Other Frameworks";
148 sourceTree = "<group>";
150 19C28FACFE9D520D11CA2CBB /* Products */ = {
153 1D6058910D05DD3D006BFB54 /* GGB-iPhone.app */,
156 sourceTree = "<group>";
158 27C99AE00D820868005AFD4F /* Source */ = {
161 27C99AE30D820868005AFD4F /* BoardUIView.h */,
162 27C99AE40D820868005AFD4F /* BoardUIView.m */,
163 27C99AE50D820868005AFD4F /* Bit.h */,
164 27C99AE60D820868005AFD4F /* Bit.m */,
165 27C99AE70D820868005AFD4F /* BitHolder.h */,
166 27C99AE80D820868005AFD4F /* BitHolder.m */,
167 27C99AE90D820868005AFD4F /* Stack.h */,
168 27C99AEA0D820868005AFD4F /* Stack.m */,
169 27C99AF20D820868005AFD4F /* Boards and Pieces */,
170 27C99AEB0D820868005AFD4F /* Cards */,
171 27C99AFD0D820868005AFD4F /* Games */,
172 27C99B4F0D82106E005AFD4F /* GGBLayer.h */,
173 27C99B500D82106E005AFD4F /* GGBLayer.m */,
174 279F4B600D85C63000B32DBF /* GGBTextLayer.h */,
175 279F4B610D85C63000B32DBF /* GGBTextLayer.m */,
176 27C99B0A0D820868005AFD4F /* QuartzUtils.h */,
177 27C99B0B0D820868005AFD4F /* QuartzUtils.m */,
178 27C99B0C0D820868005AFD4F /* GGBUtils.h */,
179 27C99B0D0D820868005AFD4F /* GGBUtils.m */,
182 sourceTree = "<group>";
184 27C99AEB0D820868005AFD4F /* Cards */ = {
187 27C99AEC0D820868005AFD4F /* Card.h */,
188 27C99AED0D820868005AFD4F /* Card.m */,
189 27C99AEE0D820868005AFD4F /* Deck.h */,
190 27C99AEF0D820868005AFD4F /* Deck.m */,
191 27C99AF00D820868005AFD4F /* PlayingCard.h */,
192 27C99AF10D820868005AFD4F /* PlayingCard.m */,
195 sourceTree = "<group>";
197 27C99AF20D820868005AFD4F /* Boards and Pieces */ = {
200 27C99AF30D820868005AFD4F /* Piece.h */,
201 27C99AF40D820868005AFD4F /* Piece.m */,
202 27C99AF50D820868005AFD4F /* DiscPiece.h */,
203 27C99AF60D820868005AFD4F /* DiscPiece.m */,
204 27C99AF70D820868005AFD4F /* Grid.h */,
205 27C99AF80D820868005AFD4F /* Grid.m */,
206 27C99AF90D820868005AFD4F /* HexGrid.h */,
207 27C99AFA0D820868005AFD4F /* HexGrid.m */,
208 27C99AFB0D820868005AFD4F /* Dispenser.h */,
209 27C99AFC0D820868005AFD4F /* Dispenser.m */,
211 name = "Boards and Pieces";
212 sourceTree = "<group>";
214 27C99AFD0D820868005AFD4F /* Games */ = {
217 27C99AFE0D820868005AFD4F /* Game.h */,
218 27C99AFF0D820868005AFD4F /* Game.m */,
219 27C99B000D820868005AFD4F /* TicTacToeGame.h */,
220 27C99B010D820868005AFD4F /* TicTacToeGame.m */,
221 27C99B020D820868005AFD4F /* CheckersGame.h */,
222 27C99B030D820868005AFD4F /* CheckersGame.m */,
223 27C99B040D820868005AFD4F /* HexchequerGame.h */,
224 27C99B050D820868005AFD4F /* HexchequerGame.m */,
225 27C99B060D820868005AFD4F /* GoGame.h */,
226 27C99B070D820868005AFD4F /* GoGame.m */,
227 27C99B080D820868005AFD4F /* KlondikeGame.h */,
228 27C99B090D820868005AFD4F /* KlondikeGame.m */,
231 sourceTree = "<group>";
233 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
236 27C99AE00D820868005AFD4F /* Source */,
237 29B97315FDCFA39411CA2CEA /* Other Sources */,
238 29B97317FDCFA39411CA2CEA /* Resources */,
239 29B97323FDCFA39411CA2CEA /* Frameworks */,
240 19C28FACFE9D520D11CA2CBB /* Products */,
241 279F4B580D85C51700B32DBF /* AudioToolbox.framework */,
242 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */,
244 name = CustomTemplate;
245 sourceTree = "<group>";
247 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
250 279F4B680D85CBFC00B32DBF /* iPhoneAppDelegate.h */,
251 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */,
252 32CA4F630368D1EE00C91783 /* GGB-iPhone_Prefix.pch */,
253 29B97316FDCFA39411CA2CEA /* main-iPhone.m */,
255 name = "Other Sources";
256 sourceTree = "<group>";
258 29B97317FDCFA39411CA2CEA /* Resources */ = {
261 279F4E050D860B8800B32DBF /* Green Ball.png */,
262 279F4E060D860B8800B32DBF /* Red Ball.png */,
263 279F4E070D860B8800B32DBF /* White Ball.png */,
264 279F4F1A0D86448100B32DBF /* Wood.jpg */,
265 279F4E090D860B8800B32DBF /* Yellow Ball.png */,
266 279F4C730D85D43800B32DBF /* Background.png */,
267 279F4C1C0D85D0AF00B32DBF /* X.tiff */,
268 279F4C1E0D85D0CB00B32DBF /* O.tiff */,
269 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */,
270 8D1107310486CEB800E47090 /* Info-iPhone.plist */,
273 sourceTree = "<group>";
275 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
278 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
279 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
282 sourceTree = "<group>";
284 /* End PBXGroup section */
286 /* Begin PBXNativeTarget section */
287 1D6058900D05DD3D006BFB54 /* GGB-iPhone */ = {
288 isa = PBXNativeTarget;
289 buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "GGB-iPhone" */;
291 1D60588D0D05DD3D006BFB54 /* Resources */,
292 1D60588E0D05DD3D006BFB54 /* Sources */,
293 1D60588F0D05DD3D006BFB54 /* Frameworks */,
300 productName = "GGB-iPhone";
301 productReference = 1D6058910D05DD3D006BFB54 /* GGB-iPhone.app */;
302 productType = "com.apple.product-type.application";
304 /* End PBXNativeTarget section */
306 /* Begin PBXProject section */
307 29B97313FDCFA39411CA2CEA /* Project object */ = {
309 buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard-iPhone" */;
310 compatibilityVersion = "Xcode 3.1";
311 hasScannedForEncodings = 1;
312 mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
316 1D6058900D05DD3D006BFB54 /* GGB-iPhone */,
319 /* End PBXProject section */
321 /* Begin PBXResourcesBuildPhase section */
322 1D60588D0D05DD3D006BFB54 /* Resources */ = {
323 isa = PBXResourcesBuildPhase;
324 buildActionMask = 2147483647;
326 279F4B740D85CDE900B32DBF /* ToolbarAdvanced.icns in Resources */,
327 279F4C1D0D85D0AF00B32DBF /* X.tiff in Resources */,
328 279F4C1F0D85D0CB00B32DBF /* O.tiff in Resources */,
329 279F4C740D85D43800B32DBF /* Background.png in Resources */,
330 279F4E0A0D860B8800B32DBF /* Green Ball.png in Resources */,
331 279F4E0B0D860B8800B32DBF /* Red Ball.png in Resources */,
332 279F4E0C0D860B8800B32DBF /* White Ball.png in Resources */,
333 279F4E0E0D860B8800B32DBF /* Yellow Ball.png in Resources */,
334 279F4F1B0D86448100B32DBF /* Wood.jpg in Resources */,
336 runOnlyForDeploymentPostprocessing = 0;
338 /* End PBXResourcesBuildPhase section */
340 /* Begin PBXSourcesBuildPhase section */
341 1D60588E0D05DD3D006BFB54 /* Sources */ = {
342 isa = PBXSourcesBuildPhase;
343 buildActionMask = 2147483647;
345 1D60589B0D05DD56006BFB54 /* main-iPhone.m in Sources */,
346 27C99B0F0D820868005AFD4F /* BoardUIView.m in Sources */,
347 27C99B100D820868005AFD4F /* Bit.m in Sources */,
348 27C99B110D820868005AFD4F /* BitHolder.m in Sources */,
349 27C99B120D820868005AFD4F /* Stack.m in Sources */,
350 27C99B130D820868005AFD4F /* Card.m in Sources */,
351 27C99B140D820868005AFD4F /* Deck.m in Sources */,
352 27C99B150D820868005AFD4F /* PlayingCard.m in Sources */,
353 27C99B160D820868005AFD4F /* Piece.m in Sources */,
354 27C99B170D820868005AFD4F /* DiscPiece.m in Sources */,
355 27C99B180D820868005AFD4F /* Grid.m in Sources */,
356 27C99B190D820868005AFD4F /* HexGrid.m in Sources */,
357 27C99B1A0D820868005AFD4F /* Dispenser.m in Sources */,
358 27C99B1B0D820868005AFD4F /* Game.m in Sources */,
359 27C99B1C0D820868005AFD4F /* TicTacToeGame.m in Sources */,
360 27C99B1D0D820868005AFD4F /* CheckersGame.m in Sources */,
361 27C99B1E0D820868005AFD4F /* HexchequerGame.m in Sources */,
362 27C99B1F0D820868005AFD4F /* GoGame.m in Sources */,
363 27C99B200D820868005AFD4F /* KlondikeGame.m in Sources */,
364 27C99B210D820868005AFD4F /* QuartzUtils.m in Sources */,
365 27C99B220D820868005AFD4F /* GGBUtils.m in Sources */,
366 27C99B510D82106E005AFD4F /* GGBLayer.m in Sources */,
367 279F4B620D85C63000B32DBF /* GGBTextLayer.m in Sources */,
368 279F4B6A0D85CBFC00B32DBF /* iPhoneAppDelegate.m in Sources */,
370 runOnlyForDeploymentPostprocessing = 0;
372 /* End PBXSourcesBuildPhase section */
374 /* Begin XCBuildConfiguration section */
375 1D6058940D05DD3E006BFB54 /* Debug */ = {
376 isa = XCBuildConfiguration;
378 COPY_PHASE_STRIP = NO;
379 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
380 GCC_DYNAMIC_NO_PIC = NO;
381 GCC_ENABLE_FIX_AND_CONTINUE = NO;
382 GCC_OPTIMIZATION_LEVEL = 0;
383 GCC_PRECOMPILE_PREFIX_HEADER = YES;
384 GCC_PREFIX_HEADER = "Source/GGB-iPhone_Prefix.pch";
385 INFOPLIST_FILE = "Resources/Info-iPhone.plist";
387 PRODUCT_NAME = "GGB-iPhone";
391 1D6058950D05DD3E006BFB54 /* Release */ = {
392 isa = XCBuildConfiguration;
394 COPY_PHASE_STRIP = YES;
395 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
396 GCC_ENABLE_FIX_AND_CONTINUE = NO;
397 GCC_PRECOMPILE_PREFIX_HEADER = YES;
398 GCC_PREFIX_HEADER = "Source/GGB-iPhone_Prefix.pch";
399 INFOPLIST_FILE = "Resources/Info-iPhone.plist";
401 PRODUCT_NAME = "GGB-iPhone";
402 WRAPPER_EXTENSION = app;
406 C01FCF4F08A954540054247B /* Debug */ = {
407 isa = XCBuildConfiguration;
409 ALWAYS_SEARCH_USER_PATHS = NO;
410 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
411 "CODE_SIGN_IDENTITY[sdk=aspen*]" = "iPhone Developer";
412 GCC_C_LANGUAGE_STANDARD = c99;
413 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
414 GCC_WARN_ABOUT_RETURN_TYPE = YES;
415 GCC_WARN_UNUSED_VARIABLE = YES;
416 ONLY_ACTIVE_ARCH = YES;
419 WARNING_CFLAGS = "-Wall";
423 C01FCF5008A954540054247B /* Release */ = {
424 isa = XCBuildConfiguration;
426 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
427 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
430 WARNING_CFLAGS = "-Wall";
434 /* End XCBuildConfiguration section */
436 /* Begin XCConfigurationList section */
437 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "GGB-iPhone" */ = {
438 isa = XCConfigurationList;
439 buildConfigurations = (
440 1D6058940D05DD3E006BFB54 /* Debug */,
441 1D6058950D05DD3E006BFB54 /* Release */,
443 defaultConfigurationIsVisible = 0;
444 defaultConfigurationName = Release;
446 C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard-iPhone" */ = {
447 isa = XCConfigurationList;
448 buildConfigurations = (
449 C01FCF4F08A954540054247B /* Debug */,
450 C01FCF5008A954540054247B /* Release */,
452 defaultConfigurationIsVisible = 0;
453 defaultConfigurationName = Release;
455 /* End XCConfigurationList section */
457 rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;