From: Erik V. <eri...@hc...> - 2005-05-05 17:25:54
|
> > (Another reason why this makes sense is that privates count against > > the certificate limit in most games). > > Really? > > Hmmm... in that case, we probably do need a > privateCertificate, and a parent Certificate class for both > PublicCert and PrivateCert. Well.... my approach so far has been that a PrivateCompany and its certificate coincide, because there is never more than one. This is not so for (any type of) PublicCompany (including minor companies, even though some also have one certificate). My approach is not without its drawbacks (which I was trying to smooth out in my new interface proposal), but separating a private and its certificate looks a bit over the top to me. But it certainly is an option. > > I will also create a new class StartPacketItem, that will contain > > either one or two Certificates, the second being the additional > > certificate that comes with some primary ones. The Start Packet will > > be configured separately from the Private companies > (because of 1835 etc.). > > Why wouldn't you just use the certificate from the Public > Company portfolio? > > Here's how I see this working: > > GameManager fills each publicCompany portfolio with their stocks. > GameManager then examines the rules for each private, and if > the private comes with a publicCompany certificate, like the > B&O or PRR, just call the existing set*() methods to add the > publicCompany certificate to the privateCompany portfolio. > > When the privateCompany is bought, we add the contents of its > portfolio to the player portfolio. Hmmm, currently privates don't have a Portfolio because they never own anything, and because they are not CashHolders (which is supposed to be the case for Portfolio holders). Adding it would IMO extend Portfolio beyond its intended limits. I could add an attribute "CertificateI comesWith" to PrivateCompany, that would enable the combo in a different way. But I still would need an additional interface to define start packets with. Maybe my proposed superinterface Certificate could be used for that as well. And I do need to define start packets separate from other config items, perhaps in a separate Startpacket.xml or in Game.xml. Here I must keep referring to 1835, where the "start packet" (the name was introduced with that game) consists of - 6 private companies (4 of which come with a major company share), - 6 minor companies (1-share companies, which run trains, and later merge into a major company), - 1 presidency of a major company (Bayrische Eisenbahn). This packet is not auctioned, but all of it must be sold before a real stock round can begin (there are various variants on how the selling is done, because many believe the original rules to be broken). Currently, privates and certificates have nothing in common, so I need that superinterface. And then I need the ability to define more than one start packet, so I suppose I need a StartPacket class, which may have multiple instances. For instance: in 1837 we have three start packets, which must all be sold consecutively before major shares come available. And then the new 18US - a game that seems to devalidate many assumptions that we have all considered sacred so far - where a second start packet becomes available later in the game. I hope you see why I think that the concept of a "start packet" and its contents should be intertwined with other concepts as little as possible - anything goes here. > If a privateCompany can exchange itself for a share of > publicCompany stock, such as in 1830 with the private company > that may be exchanged for a share of NYC, we don't need any > initial stock allocation, we just process that as two steps: > close the private, buy an available share for free. Sure, that is no problem, but quite a different matter. Erik. |