http://pastie.org/691288
I did some fine tuning and came up with a rather interesting way of keeping all of it to one class to represent the money. This is an example of one of the sets, the others look like this with a few changes. At the moment if it tries to be set to something below 0 it will take it from itself and if necessary work it's way up first and then down. I haven't been able to test this yet but I would love it if you could take a look at it and see if there might be a way to cut it down some more (The original was hideous!) Hopefully if I keep it to this one class then I could finally take a step forward and continue adding more and more to the database. On Nov 9, 1:45 pm, Marnen Laibow-Koser <rails-mailing-l...@andreas- s.net> wrote: > 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-Koserhttp://www.marnen.org > mar...@marnen.org > -- > Posted viahttp://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 -~----------~----~----~----~------~----~------~--~---