From: Mark S. <mar...@gm...> - 2008-10-25 00:04:41
|
I do seem to have gotten your attention. :-) Lengthy response here: So to answer your various questions: 1. Yes, I should produce some documentation, and a DTD on how to define tiles that are used in my code base. I have written notes, and penciled diagrams that I can use to re-produce this. 2. The 1835 Hamburg Grey Tile with the "Ferry" or "Tunnel", or whatever you want to call it is the one that is critical since the track for the ferry is drawn on top of the tri-city background, rather than on the base grey tile color. I am not sure why it would make a real difference in game implementation. 3. There are a few other tiles that the 18xx.net Tile Encylopedia has that gives me a little trouble, but some of the Tiles I don't currently draw, but should not be difficult to implement: a. S01, S02, S03, S04, etc which has a red # in a grey box, I have no idea what this represents. b. Tiles Straight Ferry Tiles (Red-Dashed Track) c. 1825 Tiles with mixed background color (brown & green, and brown & grey d. Mountain Pass tiles with track as shown at http://18xx.net/tiles/f9.htm, where the Track and the city are outlined d. Tunnel Entrances e. Tiles with the small town grey tick with a label of "l" Lira Symbol 4. Other problem tiles, are the double-hex tiles in 18MEX for Mexico City. 5. I use the term Revenue Center specifically, because it is an object that produces revenue. A Junction is simply a connection point between two or more track segments. I don't see a Junction object as having any real value. Or put another way, I double a Junction object would have any code at all associated with it, and no data either. It is purely an abstract concept. The code base is designed so that when I get to the point of selecting a track route, you go from point-to-point. If a point has a Revenue Center, you add that to you run (or not, if the train type and game allows you to ignore it). The selection code would not allow you to select a track segment already used by another train in the same operational step. 6. I do have a object hierarchy that has worked fairly well, and I need to get that out to you for review. It is a bit detailed, and I have revised it over the years. The basic idea is, that if it needs to be drawn on the hex, it gets a location. 7. The other issue I forsee is the "overlay" tiles for the True Tunnels. This would require allowing two (or maybe more) tiles to be associated with an individual hex. Maybe for the few games that allow this, a special extended class of MapCell that allows two tiles to be played on the same tile is possible... but only for the mapcells that allow a tunnel. 8. Given that I put the Tile Definitions in a set of generic files, that is not game specific, but I have for each game a Tile Set that says which tiles to use, in which quantity, once the tile is defined, it doesn't have to be copied to each game. It can be re-used. 9. Erik mentioned the need for a hex name "A1, B2, etc". If you launch my current product, and then let you mouse hover over a hex, a tool tip shows you the cell name. It is not defined in the XML files, other than the rowStart and colStart values on the first line of the Map.xml files. Every map cell name is deduced from that and the order the cells are shown in the file. It may be counting down, or counting up. But it does work on five maps I have coded up so far. Now, if some games (like 1851 with Cincinatti) have some awkward nameing sequences that may require a change, or at least an option to include them with the map cells definitions. 10. Passes in 1841 would most likely be an extension of a Large City with Zero Revenue to allow for token placement, and counting against. And maybe any other special code needed for Passes. (like drawing the outline around station and track). 11. I do track Red-Off Board cells as having a special type of location "dead-end" where the code would allow you to stop (or start) a train at, but not pass through. And it makes drawing the dead-end properly easier. Some games allows pass through (1856 Goderich hex), and it appears 1854 allows either a pass-through or something to Paris in West, and a city in the east (not sure the name) to add another station. Mark P.S. I will work on writing up a couple of pages that define my Tile Definition structure for posting. |