From: Stefan F. <ste...@we...> - 2010-04-29 19:54:22
|
Hi Erik, I would like to add additional attributes to the station class. This is mainly related to the different off-board locations in various games. At the bottom were are some questions how to derive graph coordinates for various objects. Any comments or suggestions are welcome, Stefan A) Each station adds the following (additional) attributes: tokenAllows = {RunThrough, RunFrom, NoAccess, N/A} If a token is laid it allows to run through, to run from or no access? openStationAllows = {RunThrough, RunTo, NoAccess, N/A} If a token is laid it allows to run through, to run to or none? closedStationAllows = {RunThrough, RunTo, NoAccess, N/A} If the station is fully tokened and the company does not own a token there, what are the possibilities? To allow an easier definition I suggest to use station type definitions like the company types etc. A station is closed if the number of tokens equals the number of slots, otherwise it is open. By this definition a town is always closed, but by setting closedStationAllows to RunThrough that is not an issue. B) Different off-board locations: There is a substantial variation of different kind of off-board locations. There are at least four cases, may be more. 1) Standard off-board locations (as in 1830) The off-board areas act as sinks for all companies. No tokens allowed. (tokenAllows = N/A, openStationAllows = N/A, closedStationAllows = RunTo) 2) Tokenable off-board locations (example: SP base in 1870) A base token can be layed in at least one of the areas. The rules claim that off-board areas are still sink for all companies, except for the company with a token which can start a train there. But it cannot run its trains through the hex (thus SP cannot have the same train enter from NE and then continue to the E). (tokenAllows = RunFrom, openStationAllows = RunTo, closedStationAllows = RunTo) 3) Run-through off-board locations (as Hamburg in 18EU) A non-tokenable station (similar to towns), that allows running through it. (tokenAllows = N/A, openStationAllows = N/A, closedStationAllows = RunThrough) And another from an non-implemented game: 4) Tokenable run-to off-board locations (as in 18Scan) Here a base-token is needed to run to the station. (tokenAllows = RunFrom, openStationAllows = NoAccess , closedStationAllows = NoAccess) In general a station is fully tokened if the nb of slots equals the nb of tokens. This implies that (default) towns are fully tokened (0=0), but the fullyTokened attribute would be set to RunThrough. StationTypes should be added to provide defaults. C) Other new station attributes runStationType = {Major, Minor} Is it counted as city-type or town-type for plus-trains and express-trains? name = {...} I would like to add is a "name" attribute for stations on tiles. Identical names would imply that those stations are mutually exclusive for train runs. They would be automatically added to the list of exclusions to the revenue calculator. D) Related questions to the current implementations: 1) How is the position property defined? Is this from the tiledesigner? How do I read for example a value of 408? 2) Is there an easy way to determine the coordinates of the token for a public company if there are two or more tokens available? I currently use getTokenCenter(), but how do I know which of the available slots belongs to which company? How would I determine which is an open slot? |