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
-~----------~----~----~----~------~----~------~--~---

Reply via email to