From: Erik V. <eri...@xs...> - 2011-11-08 22:34:09
|
Stefan, The reasons why I removed this code were: 1. I thought it was redundant, but apparently is does something that isn't done elsewhere, so I was wrong. Sorry for that. 2. I understood this code was intended to autopass in start rounds only, but nothing in that code restricts its working to start rounds. I would expect a condition like ' if (getCurrentRound() instanceof StartRound) '. 3. The code claims to check that there is only a Pass in the possible actions, but in fact it only checks that the first action is a Pass. In practice that might be equivalent, at least in the current code, but it creates a dependency that I would rather avoid. What you really mean is: there is a pass and there isn't a bid or buy, i.e. no StartItemAction. Why not implement it that way? Erik. > -----Original Message----- > From: Stefan Frey [mailto:ste...@we...] > Sent: Tuesday, November 08, 2011 10:54 PM > To: Development list for Rails: an 18xx game > Subject: Re: [Rails-devel] 18EU bug in 1.5.2 > > Erik: > I do not really understand your concerns here: This feature to silently choose > the pass action if it is the only available action was implemented on > 10/Jul/2010 (Commit 38a485) and released with version 1.4. in August 2010. > > As there have been no bugs reported so far on the list, I wonder why you > consider it likely that it will break some Stock Rounds. > > Reverting your comments around the code fixes the issue and should not > raise any new issues, except that there is a dependency of 1835 on the > removal of that code. However from you commit message it seems that you > simply thought my code is redundant/obsolete, which was not the case. > > Stefan > > I dug up my e-mail that described the changes at the time of the > implementation, attached for reference here: > > The pass option at the beginning of the 18EU minor initial sale round is > renamed to "decline to bid" for the first action of each player after the minor > selection. After that "pass" is active (implying "decline to buy"). > > I took the opportunity to implement the long-standing feature-request for > an autopass in the 18EU start round: > Anytime a player has not enough money to bid or buy, he passes > automatically (or declines to bid or declines to increase his bid). > Exception is the player after the selection of a minor as the first bid is > processed by the user interface instead of the backend. Here the player still > has to select NoBid. > > This fix covers all game situations, where a player has only the option to pass. > The other occasion I have tested is the 1830 type StartRound. The general > StockRound is not effected (it allows both pass and autopass). > And it does not effect those cases, where players/companies have to choose > "Done" (e.g. after an action in the StockRound or during ORs). > > In principle this behavior could be generalized to those occasions above, but > it might surprise players if their turn is skipped outside of the StartRounds. > > The 1835 StartRound has its own autopass method implemented, which has a > pop-up message supplied. > So far I have not added a pop-up message box. It can be easily added, but > this works a little bit against the intention of a game speed up. > (Here and in some other occasions it would be nice to have a non-blocking > information panel). > > > > On Tuesday, November 08, 2011 10:07:01 pm Erik Vos wrote: > > IIRC, the problem was that, although it might do some good for > > StartRounds, it did break some StockRounds. For all I know, in > > StockRounds passing is only automatic if Autopass is set. > > > > Feel free to try it out, but in any case I would like to do additional > > testing before it is released. Such a change may (and I fear, will) > > have side effects. > > > > Erik. > > > > > -----Original Message----- > > > From: Stefan Frey [mailto:ste...@we...] > > > Sent: Tuesday, November 08, 2011 4:11 PM > > > To: Development list for Rails: an 18xx game > > > Subject: Re: [Rails-devel] 18EU bug in 1.5.2 > > > > > > Bill, > > > I will respond on behave and in addition to Erik (see below). > > > > > > It seems that Erik thought at that time of his bug fix that the code > > > for automatic passes was out of date/ineffective and simply commented > it out. > > > > > > However this is something that I introduced because of a feature > > > request especially for those occasions in 18EU. It took me some time > > > to fix side- effects that the next player was not chosen in the > > > correct sequence after > > > > an > > > > > automatic pass. I considered the 18EU StartRound to be quite a beast > > > ;-) (please no offense taken - Erik). > > > > > > This did not occur for the standard StartRound (1830 style). I > > > cannot > > > > > > remember if I have checked 1835 StartRound at that time. > > > > > > Unfortunately this is a UI function and thus cannot be tested by the > > > > current > > > > > automatic game tests. > > > > > > My preferred solution is to fix that by uncommenting the code and > > > publish > > > > a > > > > > new Release 1.5.3, but I want Erik's opinion first, if this has any > > > impact > > > > on > > > > > 1835 or other games. > > > > > > Stefan > > > > > > On Tuesday, November 08, 2011 03:44:44 pm Bill Rosgen wrote: > > > > Erik, > > > > > > > > As far as I can tell, a bug was introduced in commit 1893c3 that > > > > makes the 18EU minor auction unplayable in certain circumstances. > > > > This is the commit with message: "In 1835 Start Round, removed > > > > popups that reported forced passes. Also removed some > redundant/ineffective code." > > > > Specifically, I think the problem occurs whenever a player is > > > > forced to pass in an auction due to a lack of funds. > > > > > > > > It seems like the 18EU Starting Round depended on exactly how > > > > forced-passes were being implemented. In the attached savegame, > > > > Carol has spent all of her money and so must pass on the minor > > > > being auctioned, but instead of this happening, the Starting Round > > > > window vanishes and Rails becomes non-functional. > > > > > > > > Digging further, the commented out code on lines 897-9 of > > > > rails/GameManager.java seems to be the source of this behaviour. > > > > Uncommenting it (as well as the function it calls in > > > > PossibleActions) fixes 18EU, but it presumably will cause breakage > > > > elsewhere. I suspect that StartRound_18EU.java has somehow > become > > > > obsolete, but after spending a while going through the various > > > > StartRound and GameManager classes, I can't find the problem. > > > > > > > > Bill > > > > ---------------------------------------------------------------------- > > ----- > > - -- > > > > > RSA(R) Conference 2012 > > > Save $700 by Nov 18 > > > Register now > > > http://p.sf.net/sfu/rsa-sfdev2dev1 > > > _______________________________________________ > > > Rails-devel mailing list > > > Rai...@li... > > > https://lists.sourceforge.net/lists/listinfo/rails-devel > > > > ---------------------------------------------------------------------- > > ----- > > --- RSA(R) Conference 2012 > > Save $700 by Nov 18 > > Register now > > http://p.sf.net/sfu/rsa-sfdev2dev1 > > _______________________________________________ > > Rails-devel mailing list > > Rai...@li... > > https://lists.sourceforge.net/lists/listinfo/rails-devel > > ---------------------------------------------------------------------------- -- > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 > _______________________________________________ > Rails-devel mailing list > Rai...@li... > https://lists.sourceforge.net/lists/listinfo/rails-devel |