Lots of reworking. Completed support for game history, including Turn class. Changed Game API around quite a bit.
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 2740502B0DEF36DF0006A9EE /* Pop.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 274050290DEF36DF0006A9EE /* Pop.aiff */; };
15 2740502C0DEF36DF0006A9EE /* Tink.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 2740502A0DEF36DF0006A9EE /* Tink.aiff */; };
16 279F4B590D85C51700B32DBF /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279F4B580D85C51700B32DBF /* AudioToolbox.framework */; };
17 279F4B5B0D85C51700B32DBF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */; };
18 279F4B620D85C63000B32DBF /* GGBTextLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4B610D85C63000B32DBF /* GGBTextLayer.m */; };
19 279F4B6A0D85CBFC00B32DBF /* iPhoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */; };
20 279F4B740D85CDE900B32DBF /* ToolbarAdvanced.icns in Resources */ = {isa = PBXBuildFile; fileRef = 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */; };
21 279F4C1D0D85D0AF00B32DBF /* X.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C1C0D85D0AF00B32DBF /* X.tiff */; };
22 279F4C1F0D85D0CB00B32DBF /* O.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C1E0D85D0CB00B32DBF /* O.tiff */; };
23 279F4C740D85D43800B32DBF /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C730D85D43800B32DBF /* Background.png */; };
24 279F4E0A0D860B8800B32DBF /* Green Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E050D860B8800B32DBF /* Green Ball.png */; };
25 279F4E0B0D860B8800B32DBF /* Red Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E060D860B8800B32DBF /* Red Ball.png */; };
26 279F4E0C0D860B8800B32DBF /* White Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E070D860B8800B32DBF /* White Ball.png */; };
27 279F4E0E0D860B8800B32DBF /* Yellow Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E090D860B8800B32DBF /* Yellow Ball.png */; };
28 279F4F1B0D86448100B32DBF /* Wood.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 279F4F1A0D86448100B32DBF /* Wood.jpg */; };
29 27C99B0F0D820868005AFD4F /* BoardUIView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE40D820868005AFD4F /* BoardUIView.m */; };
30 27C99B100D820868005AFD4F /* Bit.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE60D820868005AFD4F /* Bit.m */; };
31 27C99B110D820868005AFD4F /* BitHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE80D820868005AFD4F /* BitHolder.m */; };
32 27C99B120D820868005AFD4F /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AEA0D820868005AFD4F /* Stack.m */; };
33 27C99B130D820868005AFD4F /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AED0D820868005AFD4F /* Card.m */; };
34 27C99B140D820868005AFD4F /* Deck.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AEF0D820868005AFD4F /* Deck.m */; };
35 27C99B150D820868005AFD4F /* PlayingCard.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF10D820868005AFD4F /* PlayingCard.m */; };
36 27C99B160D820868005AFD4F /* Piece.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF40D820868005AFD4F /* Piece.m */; };
37 27C99B170D820868005AFD4F /* DiscPiece.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF60D820868005AFD4F /* DiscPiece.m */; };
38 27C99B180D820868005AFD4F /* Grid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF80D820868005AFD4F /* Grid.m */; };
39 27C99B190D820868005AFD4F /* HexGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFA0D820868005AFD4F /* HexGrid.m */; };
40 27C99B1A0D820868005AFD4F /* Dispenser.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFC0D820868005AFD4F /* Dispenser.m */; };
41 27C99B1B0D820868005AFD4F /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFF0D820868005AFD4F /* Game.m */; };
42 27C99B1C0D820868005AFD4F /* TicTacToeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B010D820868005AFD4F /* TicTacToeGame.m */; };
43 27C99B1D0D820868005AFD4F /* CheckersGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B030D820868005AFD4F /* CheckersGame.m */; };
44 27C99B1E0D820868005AFD4F /* HexchequerGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B050D820868005AFD4F /* HexchequerGame.m */; };
45 27C99B1F0D820868005AFD4F /* GoGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B070D820868005AFD4F /* GoGame.m */; };
46 27C99B200D820868005AFD4F /* KlondikeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B090D820868005AFD4F /* KlondikeGame.m */; };
47 27C99B210D820868005AFD4F /* QuartzUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B0B0D820868005AFD4F /* QuartzUtils.m */; };
48 27C99B220D820868005AFD4F /* GGBUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B0D0D820868005AFD4F /* GGBUtils.m */; };
49 27C99B510D82106E005AFD4F /* GGBLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B500D82106E005AFD4F /* GGBLayer.m */; };
50 27DBB52C0DEE059700616D85 /* Blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB5270DEE059700616D85 /* Blue.png */; };
51 27DBB52D0DEE059800616D85 /* Gold.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB5280DEE059700616D85 /* Gold.png */; };
52 27DBB52E0DEE059800616D85 /* Green.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB5290DEE059700616D85 /* Green.png */; };
53 27DBB52F0DEE059900616D85 /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB52A0DEE059700616D85 /* Red.png */; };
54 27DBB5300DEE059900616D85 /* Violet.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB52B0DEE059700616D85 /* Violet.png */; };
55 /* End PBXBuildFile section */
57 /* Begin PBXFileReference section */
58 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
59 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
60 1D6058910D05DD3D006BFB54 /* GeekGameBoard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GeekGameBoard.app; sourceTree = BUILT_PRODUCTS_DIR; };
61 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
62 274050290DEF36DF0006A9EE /* Pop.aiff */ = {isa = PBXFileReference; lastKnownFileType = audio.aiff; name = Pop.aiff; path = /System/Library/Sounds/Pop.aiff; sourceTree = "<absolute>"; };
63 2740502A0DEF36DF0006A9EE /* Tink.aiff */ = {isa = PBXFileReference; lastKnownFileType = audio.aiff; name = Tink.aiff; path = /System/Library/Sounds/Tink.aiff; sourceTree = "<absolute>"; };
64 279F4B580D85C51700B32DBF /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
65 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
66 279F4B600D85C63000B32DBF /* GGBTextLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBTextLayer.h; sourceTree = "<group>"; };
67 279F4B610D85C63000B32DBF /* GGBTextLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBTextLayer.m; sourceTree = "<group>"; };
68 279F4B680D85CBFC00B32DBF /* iPhoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iPhoneAppDelegate.h; path = Source/iPhoneAppDelegate.h; sourceTree = "<group>"; };
69 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iPhoneAppDelegate.m; path = Source/iPhoneAppDelegate.m; sourceTree = "<group>"; };
70 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = ToolbarAdvanced.icns; path = /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarAdvanced.icns; sourceTree = "<absolute>"; };
71 279F4C1C0D85D0AF00B32DBF /* X.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = X.tiff; sourceTree = "<group>"; };
72 279F4C1E0D85D0CB00B32DBF /* O.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = O.tiff; sourceTree = "<group>"; };
73 279F4C730D85D43800B32DBF /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Background.png; sourceTree = "<group>"; };
74 279F4E050D860B8800B32DBF /* Green Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Green Ball.png"; sourceTree = "<group>"; };
75 279F4E060D860B8800B32DBF /* Red Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Red Ball.png"; sourceTree = "<group>"; };
76 279F4E070D860B8800B32DBF /* White Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "White Ball.png"; sourceTree = "<group>"; };
77 279F4E090D860B8800B32DBF /* Yellow Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Yellow Ball.png"; sourceTree = "<group>"; };
78 279F4F1A0D86448100B32DBF /* Wood.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Wood.jpg; sourceTree = "<group>"; };
79 27C99AE30D820868005AFD4F /* BoardUIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardUIView.h; sourceTree = "<group>"; };
80 27C99AE40D820868005AFD4F /* BoardUIView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardUIView.m; sourceTree = "<group>"; };
81 27C99AE50D820868005AFD4F /* Bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bit.h; sourceTree = "<group>"; };
82 27C99AE60D820868005AFD4F /* Bit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bit.m; sourceTree = "<group>"; };
83 27C99AE70D820868005AFD4F /* BitHolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitHolder.h; sourceTree = "<group>"; };
84 27C99AE80D820868005AFD4F /* BitHolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BitHolder.m; sourceTree = "<group>"; };
85 27C99AE90D820868005AFD4F /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = "<group>"; };
86 27C99AEA0D820868005AFD4F /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = "<group>"; };
87 27C99AEC0D820868005AFD4F /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
88 27C99AED0D820868005AFD4F /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
89 27C99AEE0D820868005AFD4F /* Deck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deck.h; sourceTree = "<group>"; };
90 27C99AEF0D820868005AFD4F /* Deck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deck.m; sourceTree = "<group>"; };
91 27C99AF00D820868005AFD4F /* PlayingCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayingCard.h; sourceTree = "<group>"; };
92 27C99AF10D820868005AFD4F /* PlayingCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayingCard.m; sourceTree = "<group>"; };
93 27C99AF30D820868005AFD4F /* Piece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Piece.h; sourceTree = "<group>"; };
94 27C99AF40D820868005AFD4F /* Piece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Piece.m; sourceTree = "<group>"; };
95 27C99AF50D820868005AFD4F /* DiscPiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscPiece.h; sourceTree = "<group>"; };
96 27C99AF60D820868005AFD4F /* DiscPiece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscPiece.m; sourceTree = "<group>"; };
97 27C99AF70D820868005AFD4F /* Grid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grid.h; sourceTree = "<group>"; };
98 27C99AF80D820868005AFD4F /* Grid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Grid.m; sourceTree = "<group>"; };
99 27C99AF90D820868005AFD4F /* HexGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexGrid.h; sourceTree = "<group>"; };
100 27C99AFA0D820868005AFD4F /* HexGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexGrid.m; sourceTree = "<group>"; };
101 27C99AFB0D820868005AFD4F /* Dispenser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dispenser.h; sourceTree = "<group>"; };
102 27C99AFC0D820868005AFD4F /* Dispenser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dispenser.m; sourceTree = "<group>"; };
103 27C99AFE0D820868005AFD4F /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
104 27C99AFF0D820868005AFD4F /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
105 27C99B000D820868005AFD4F /* TicTacToeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TicTacToeGame.h; sourceTree = "<group>"; };
106 27C99B010D820868005AFD4F /* TicTacToeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TicTacToeGame.m; sourceTree = "<group>"; };
107 27C99B020D820868005AFD4F /* CheckersGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckersGame.h; sourceTree = "<group>"; };
108 27C99B030D820868005AFD4F /* CheckersGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheckersGame.m; sourceTree = "<group>"; };
109 27C99B040D820868005AFD4F /* HexchequerGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexchequerGame.h; sourceTree = "<group>"; };
110 27C99B050D820868005AFD4F /* HexchequerGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexchequerGame.m; sourceTree = "<group>"; };
111 27C99B060D820868005AFD4F /* GoGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoGame.h; sourceTree = "<group>"; };
112 27C99B070D820868005AFD4F /* GoGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoGame.m; sourceTree = "<group>"; };
113 27C99B080D820868005AFD4F /* KlondikeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KlondikeGame.h; sourceTree = "<group>"; };
114 27C99B090D820868005AFD4F /* KlondikeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KlondikeGame.m; sourceTree = "<group>"; };
115 27C99B0A0D820868005AFD4F /* QuartzUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzUtils.h; sourceTree = "<group>"; };
116 27C99B0B0D820868005AFD4F /* QuartzUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuartzUtils.m; sourceTree = "<group>"; };
117 27C99B0C0D820868005AFD4F /* GGBUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBUtils.h; sourceTree = "<group>"; };
118 27C99B0D0D820868005AFD4F /* GGBUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBUtils.m; sourceTree = "<group>"; };
119 27C99B4F0D82106E005AFD4F /* GGBLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBLayer.h; sourceTree = "<group>"; };
120 27C99B500D82106E005AFD4F /* GGBLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBLayer.m; sourceTree = "<group>"; };
121 27DBB5270DEE059700616D85 /* Blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Blue.png; sourceTree = "<group>"; };
122 27DBB5280DEE059700616D85 /* Gold.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Gold.png; sourceTree = "<group>"; };
123 27DBB5290DEE059700616D85 /* Green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Green.png; sourceTree = "<group>"; };
124 27DBB52A0DEE059700616D85 /* Red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Red.png; sourceTree = "<group>"; };
125 27DBB52B0DEE059700616D85 /* Violet.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Violet.png; sourceTree = "<group>"; };
126 29B97316FDCFA39411CA2CEA /* main-iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "main-iPhone.m"; path = "Source/main-iPhone.m"; sourceTree = "<group>"; };
127 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>"; };
128 8D1107310486CEB800E47090 /* Info-iPhone.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iPhone.plist"; sourceTree = "<group>"; };
129 /* End PBXFileReference section */
131 /* Begin PBXFrameworksBuildPhase section */
132 1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
133 isa = PBXFrameworksBuildPhase;
134 buildActionMask = 2147483647;
136 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
137 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
138 1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
139 279F4B590D85C51700B32DBF /* AudioToolbox.framework in Frameworks */,
140 279F4B5B0D85C51700B32DBF /* QuartzCore.framework in Frameworks */,
142 runOnlyForDeploymentPostprocessing = 0;
144 /* End PBXFrameworksBuildPhase section */
146 /* Begin PBXGroup section */
147 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
150 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
151 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
152 1D30AB110D05D00D00671497 /* Foundation.framework */,
154 name = "Linked Frameworks";
155 sourceTree = "<group>";
157 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
161 name = "Other Frameworks";
162 sourceTree = "<group>";
164 19C28FACFE9D520D11CA2CBB /* Products */ = {
167 1D6058910D05DD3D006BFB54 /* GeekGameBoard.app */,
170 sourceTree = "<group>";
172 27C99AE00D820868005AFD4F /* Source */ = {
175 27C99AE30D820868005AFD4F /* BoardUIView.h */,
176 27C99AE40D820868005AFD4F /* BoardUIView.m */,
177 27C99AE50D820868005AFD4F /* Bit.h */,
178 27C99AE60D820868005AFD4F /* Bit.m */,
179 27C99AE70D820868005AFD4F /* BitHolder.h */,
180 27C99AE80D820868005AFD4F /* BitHolder.m */,
181 27C99AE90D820868005AFD4F /* Stack.h */,
182 27C99AEA0D820868005AFD4F /* Stack.m */,
183 27C99AF20D820868005AFD4F /* Boards and Pieces */,
184 27C99AEB0D820868005AFD4F /* Cards */,
185 27C99AFD0D820868005AFD4F /* Games */,
186 27C99B4F0D82106E005AFD4F /* GGBLayer.h */,
187 27C99B500D82106E005AFD4F /* GGBLayer.m */,
188 279F4B600D85C63000B32DBF /* GGBTextLayer.h */,
189 279F4B610D85C63000B32DBF /* GGBTextLayer.m */,
190 27C99B0A0D820868005AFD4F /* QuartzUtils.h */,
191 27C99B0B0D820868005AFD4F /* QuartzUtils.m */,
192 27C99B0C0D820868005AFD4F /* GGBUtils.h */,
193 27C99B0D0D820868005AFD4F /* GGBUtils.m */,
196 sourceTree = "<group>";
198 27C99AEB0D820868005AFD4F /* Cards */ = {
201 27C99AEC0D820868005AFD4F /* Card.h */,
202 27C99AED0D820868005AFD4F /* Card.m */,
203 27C99AEE0D820868005AFD4F /* Deck.h */,
204 27C99AEF0D820868005AFD4F /* Deck.m */,
205 27C99AF00D820868005AFD4F /* PlayingCard.h */,
206 27C99AF10D820868005AFD4F /* PlayingCard.m */,
209 sourceTree = "<group>";
211 27C99AF20D820868005AFD4F /* Boards and Pieces */ = {
214 27C99AF30D820868005AFD4F /* Piece.h */,
215 27C99AF40D820868005AFD4F /* Piece.m */,
216 27C99AF50D820868005AFD4F /* DiscPiece.h */,
217 27C99AF60D820868005AFD4F /* DiscPiece.m */,
218 27C99AF70D820868005AFD4F /* Grid.h */,
219 27C99AF80D820868005AFD4F /* Grid.m */,
220 27C99AF90D820868005AFD4F /* HexGrid.h */,
221 27C99AFA0D820868005AFD4F /* HexGrid.m */,
222 27C99AFB0D820868005AFD4F /* Dispenser.h */,
223 27C99AFC0D820868005AFD4F /* Dispenser.m */,
225 name = "Boards and Pieces";
226 sourceTree = "<group>";
228 27C99AFD0D820868005AFD4F /* Games */ = {
231 27C99AFE0D820868005AFD4F /* Game.h */,
232 27C99AFF0D820868005AFD4F /* Game.m */,
233 27C99B000D820868005AFD4F /* TicTacToeGame.h */,
234 27C99B010D820868005AFD4F /* TicTacToeGame.m */,
235 27C99B020D820868005AFD4F /* CheckersGame.h */,
236 27C99B030D820868005AFD4F /* CheckersGame.m */,
237 27C99B040D820868005AFD4F /* HexchequerGame.h */,
238 27C99B050D820868005AFD4F /* HexchequerGame.m */,
239 27C99B060D820868005AFD4F /* GoGame.h */,
240 27C99B070D820868005AFD4F /* GoGame.m */,
241 27C99B080D820868005AFD4F /* KlondikeGame.h */,
242 27C99B090D820868005AFD4F /* KlondikeGame.m */,
245 sourceTree = "<group>";
247 27DBB5260DEE059700616D85 /* Gingko */ = {
250 27DBB5270DEE059700616D85 /* Blue.png */,
251 27DBB5280DEE059700616D85 /* Gold.png */,
252 27DBB5290DEE059700616D85 /* Green.png */,
253 27DBB52A0DEE059700616D85 /* Red.png */,
254 27DBB52B0DEE059700616D85 /* Violet.png */,
257 sourceTree = "<group>";
259 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
262 27C99AE00D820868005AFD4F /* Source */,
263 29B97315FDCFA39411CA2CEA /* Other Sources */,
264 29B97317FDCFA39411CA2CEA /* Resources */,
265 29B97323FDCFA39411CA2CEA /* Frameworks */,
266 19C28FACFE9D520D11CA2CBB /* Products */,
267 279F4B580D85C51700B32DBF /* AudioToolbox.framework */,
268 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */,
270 name = CustomTemplate;
271 sourceTree = "<group>";
273 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
276 279F4B680D85CBFC00B32DBF /* iPhoneAppDelegate.h */,
277 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */,
278 32CA4F630368D1EE00C91783 /* GGB-iPhone_Prefix.pch */,
279 29B97316FDCFA39411CA2CEA /* main-iPhone.m */,
281 name = "Other Sources";
282 sourceTree = "<group>";
284 29B97317FDCFA39411CA2CEA /* Resources */ = {
287 274050290DEF36DF0006A9EE /* Pop.aiff */,
288 2740502A0DEF36DF0006A9EE /* Tink.aiff */,
289 279F4E050D860B8800B32DBF /* Green Ball.png */,
290 279F4E060D860B8800B32DBF /* Red Ball.png */,
291 279F4E070D860B8800B32DBF /* White Ball.png */,
292 279F4E090D860B8800B32DBF /* Yellow Ball.png */,
293 279F4C1C0D85D0AF00B32DBF /* X.tiff */,
294 279F4C1E0D85D0CB00B32DBF /* O.tiff */,
295 279F4F1A0D86448100B32DBF /* Wood.jpg */,
296 27DBB5260DEE059700616D85 /* Gingko */,
297 279F4C730D85D43800B32DBF /* Background.png */,
298 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */,
299 8D1107310486CEB800E47090 /* Info-iPhone.plist */,
302 sourceTree = "<group>";
304 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
307 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
308 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
311 sourceTree = "<group>";
313 /* End PBXGroup section */
315 /* Begin PBXNativeTarget section */
316 1D6058900D05DD3D006BFB54 /* GGB-iPhone */ = {
317 isa = PBXNativeTarget;
318 buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "GGB-iPhone" */;
320 1D60588D0D05DD3D006BFB54 /* Resources */,
321 1D60588E0D05DD3D006BFB54 /* Sources */,
322 1D60588F0D05DD3D006BFB54 /* Frameworks */,
329 productName = "GGB-iPhone";
330 productReference = 1D6058910D05DD3D006BFB54 /* GeekGameBoard.app */;
331 productType = "com.apple.product-type.application";
333 /* End PBXNativeTarget section */
335 /* Begin PBXProject section */
336 29B97313FDCFA39411CA2CEA /* Project object */ = {
338 buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard-iPhone" */;
339 compatibilityVersion = "Xcode 3.1";
340 hasScannedForEncodings = 1;
341 mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
345 1D6058900D05DD3D006BFB54 /* GGB-iPhone */,
348 /* End PBXProject section */
350 /* Begin PBXResourcesBuildPhase section */
351 1D60588D0D05DD3D006BFB54 /* Resources */ = {
352 isa = PBXResourcesBuildPhase;
353 buildActionMask = 2147483647;
355 279F4B740D85CDE900B32DBF /* ToolbarAdvanced.icns in Resources */,
356 279F4C1D0D85D0AF00B32DBF /* X.tiff in Resources */,
357 279F4C1F0D85D0CB00B32DBF /* O.tiff in Resources */,
358 279F4C740D85D43800B32DBF /* Background.png in Resources */,
359 279F4E0A0D860B8800B32DBF /* Green Ball.png in Resources */,
360 279F4E0B0D860B8800B32DBF /* Red Ball.png in Resources */,
361 279F4E0C0D860B8800B32DBF /* White Ball.png in Resources */,
362 279F4E0E0D860B8800B32DBF /* Yellow Ball.png in Resources */,
363 279F4F1B0D86448100B32DBF /* Wood.jpg in Resources */,
364 27DBB52C0DEE059700616D85 /* Blue.png in Resources */,
365 27DBB52D0DEE059800616D85 /* Gold.png in Resources */,
366 27DBB52E0DEE059800616D85 /* Green.png in Resources */,
367 27DBB52F0DEE059900616D85 /* Red.png in Resources */,
368 27DBB5300DEE059900616D85 /* Violet.png in Resources */,
369 2740502B0DEF36DF0006A9EE /* Pop.aiff in Resources */,
370 2740502C0DEF36DF0006A9EE /* Tink.aiff in Resources */,
372 runOnlyForDeploymentPostprocessing = 0;
374 /* End PBXResourcesBuildPhase section */
376 /* Begin PBXSourcesBuildPhase section */
377 1D60588E0D05DD3D006BFB54 /* Sources */ = {
378 isa = PBXSourcesBuildPhase;
379 buildActionMask = 2147483647;
381 1D60589B0D05DD56006BFB54 /* main-iPhone.m in Sources */,
382 27C99B0F0D820868005AFD4F /* BoardUIView.m in Sources */,
383 27C99B100D820868005AFD4F /* Bit.m in Sources */,
384 27C99B110D820868005AFD4F /* BitHolder.m in Sources */,
385 27C99B120D820868005AFD4F /* Stack.m in Sources */,
386 27C99B130D820868005AFD4F /* Card.m in Sources */,
387 27C99B140D820868005AFD4F /* Deck.m in Sources */,
388 27C99B150D820868005AFD4F /* PlayingCard.m in Sources */,
389 27C99B160D820868005AFD4F /* Piece.m in Sources */,
390 27C99B170D820868005AFD4F /* DiscPiece.m in Sources */,
391 27C99B180D820868005AFD4F /* Grid.m in Sources */,
392 27C99B190D820868005AFD4F /* HexGrid.m in Sources */,
393 27C99B1A0D820868005AFD4F /* Dispenser.m in Sources */,
394 27C99B1B0D820868005AFD4F /* Game.m in Sources */,
395 27C99B1C0D820868005AFD4F /* TicTacToeGame.m in Sources */,
396 27C99B1D0D820868005AFD4F /* CheckersGame.m in Sources */,
397 27C99B1E0D820868005AFD4F /* HexchequerGame.m in Sources */,
398 27C99B1F0D820868005AFD4F /* GoGame.m in Sources */,
399 27C99B200D820868005AFD4F /* KlondikeGame.m in Sources */,
400 27C99B210D820868005AFD4F /* QuartzUtils.m in Sources */,
401 27C99B220D820868005AFD4F /* GGBUtils.m in Sources */,
402 27C99B510D82106E005AFD4F /* GGBLayer.m in Sources */,
403 279F4B620D85C63000B32DBF /* GGBTextLayer.m in Sources */,
404 279F4B6A0D85CBFC00B32DBF /* iPhoneAppDelegate.m in Sources */,
406 runOnlyForDeploymentPostprocessing = 0;
408 /* End PBXSourcesBuildPhase section */
410 /* Begin XCBuildConfiguration section */
411 1D6058940D05DD3E006BFB54 /* Debug */ = {
412 isa = XCBuildConfiguration;
414 COPY_PHASE_STRIP = NO;
415 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
416 GCC_DYNAMIC_NO_PIC = NO;
417 GCC_ENABLE_FIX_AND_CONTINUE = NO;
418 GCC_OPTIMIZATION_LEVEL = 0;
419 GCC_PRECOMPILE_PREFIX_HEADER = YES;
420 GCC_PREFIX_HEADER = "Source/GGB-iPhone_Prefix.pch";
421 INFOPLIST_FILE = "Resources/Info-iPhone.plist";
423 PRODUCT_NAME = GeekGameBoard;
427 1D6058950D05DD3E006BFB54 /* Release */ = {
428 isa = XCBuildConfiguration;
430 COPY_PHASE_STRIP = YES;
431 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
432 GCC_ENABLE_FIX_AND_CONTINUE = NO;
433 GCC_PRECOMPILE_PREFIX_HEADER = YES;
434 GCC_PREFIX_HEADER = "Source/GGB-iPhone_Prefix.pch";
435 INFOPLIST_FILE = "Resources/Info-iPhone.plist";
437 PRODUCT_NAME = GeekGameBoard;
438 WRAPPER_EXTENSION = app;
442 C01FCF4F08A954540054247B /* Debug */ = {
443 isa = XCBuildConfiguration;
445 ALWAYS_SEARCH_USER_PATHS = NO;
446 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
447 CODE_SIGN_IDENTITY = "Laurence ANDERSEN";
448 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Laurence ANDERSEN";
449 GCC_C_LANGUAGE_STANDARD = gnu99;
450 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
451 GCC_WARN_ABOUT_RETURN_TYPE = YES;
452 GCC_WARN_UNUSED_VARIABLE = YES;
453 ONLY_ACTIVE_ARCH = YES;
455 SDKROOT = iphoneos2.0;
456 WARNING_CFLAGS = "-Wall";
460 C01FCF5008A954540054247B /* Release */ = {
461 isa = XCBuildConfiguration;
463 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
464 CODE_SIGN_IDENTITY = "Laurence ANDERSEN";
465 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Laurence ANDERSEN";
466 GCC_C_LANGUAGE_STANDARD = gnu99;
467 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
468 GCC_WARN_ABOUT_RETURN_TYPE = YES;
470 SDKROOT = iphoneos2.0;
471 WARNING_CFLAGS = "-Wall";
475 /* End XCBuildConfiguration section */
477 /* Begin XCConfigurationList section */
478 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "GGB-iPhone" */ = {
479 isa = XCConfigurationList;
480 buildConfigurations = (
481 1D6058940D05DD3E006BFB54 /* Debug */,
482 1D6058950D05DD3E006BFB54 /* Release */,
484 defaultConfigurationIsVisible = 0;
485 defaultConfigurationName = Release;
487 C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard-iPhone" */ = {
488 isa = XCConfigurationList;
489 buildConfigurations = (
490 C01FCF4F08A954540054247B /* Debug */,
491 C01FCF5008A954540054247B /* Release */,
493 defaultConfigurationIsVisible = 0;
494 defaultConfigurationName = Release;
496 /* End XCConfigurationList section */
498 rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;