7H3LaughingMan wrote: > Thanks for the help, I was already in the process of converting it > into it's own separate class and having it always loading > automatically. But right now I am having some issues mostly with > carrying numbers across (mostly downwards). The idea is to have > methods where I can get and set the individual values (pp, gp, sp, > cp). > > However if the value is set to a number below 0 it would... > 1. Go up a level subtract one. > 2. Add 10 to itself > 3. Continue > > I would like for it to always go downwards and thought I could use > some recursion to keep these methods DRY. I don't want conversions > being done unless it needs to be done. A person can't take 10 cp and > magically turn it into 1 sp but if he purchases something that is 1 sp > they can use 10 cp since it's the same value. But with the current way > I was planning it would of had issues with infinite recursion and > yadda yadda yadda. But here are some examples... > > 1. 10 gp - 1 sp = 9 gp 9 sp > 2. 200 cp - 2 gp = 0 cp > 3. 10 sp - 1 pp = 0 cp (Not letting it get below 0, since normally > this wouldn't happen unless under certain cirmstances) > > http://pastebin.com/d420d085a
The easiest way to do this, I think, would be to define class Currency, with subclasses (or perhaps instances) SilverPiece, GoldPiece, and so on. There's lots of info floating around on handling multiple real-world currencies; you should be able to do D&D money the same way. > > I was going to add some options to where if it was set to something > below 0 that it would automatically subtract 1 from the one above it, > add 10 to itself, and continue doing the math while repeating if > necessary with recursion. However that would be in issue if the one > above it was 0 since if it was subtracted by 1 it would set the one > below it to -1 causing it to repeat indefinitely. > > I hope this kind of makes since, and I am kind of stumped on doing > this without an insane amount of repeated coding. Use the power of a decent object model. I'll try to post a quick example if I have time. > > FYI: I will probably add another class the is an extension called > BankMoney, since the Bank has no issue converting automatically > upwards or downwards and they also allow for negative ammounts. > > > On Nov 8, 11:00�pm, Marnen Laibow-Koser <rails-mailing-l...@andreas- Best, -- Marnen Laibow-Koser http://www.marnen.org mar...@marnen.org -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---