Re: General Opinion on a how to?



Hi Jeremy,

Thats exactly the idea i had in mind, to store the algorithm for the
calculation in the db and then have my server use that. So different prize
distributions could be calculated with ease. No need for any big design
changes to my code.

So do all calculations in the code based on the database values. I'll look
intot his methodology. My next problem is how to calculate a non uniform
spread in c#. Another post may loom i think.

thanks to all responses.


"Jamey McElveen" <jamey.mcelveen@xxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
message news:um%236DCIRHHA.2252@xxxxxxxxxxxxxxxxxxxxxxx
You could store the name of the algorithm in the database along with some
params for it. I have done this two ways in the past successfully.
First, you could store the params in a TEXT field as xml. Second you can
create another detail table with key value pairs. Either way you would
not have to change the database as you add new algorithm to the system.
We used a system similar to this for calculating holidays for a calendar.
Almost all holidays on the calendar could be calculated with a few basic
algorithms.
<holiday name="CHRISTmas" algorithm ="date" day="25" month="12"/>
<holiday name="July 4th" algorithm ="date" day="4" month="7"/>
<holiday name="Thanksgiving" algorithm ="weekday" month="11" week="4"
weekday="5"/>

however easter was different so we had create a special algorithm for it.
<holiday name="Easter" algorithm ="easter"/>
<holiday name="Good Friday" algorithm ="relative" relativeHoliday="Easter"
metric="day" distance="-2"/>

All in all we have arround 5 algorithms and almost 100 holidays. This
came in very usefull this year because with daylight savings time changing
we had to only change the xml file.

Hope this helps

Jamey

"Daniel" <nospam@xxxxxxxxxxxxxx> wrote in message
news:%23O$hy%237QHHA.1200@xxxxxxxxxxxxxxxxxxxxxxx
That part is already done and complete. The issue is more the back end
storage of the prize pool break dowm to hard code in code as your method
suggests or not?

If i have a database table that reads the variables out then that to be
is the only way forward.

As Jamey said, a interface and a factory sounds a good plan and i can
instatiate each from the database in advamce choosing the one needed at
run time.

The way i see my calculation working with the aid of Jameys tips is this:

- load a game
- Retrieve Tournament placed winning positions from database as a %, top
30%, top 1% (winner takes all), etc
- Load into a prize pool object instance for that game

My biggest issue is the distribution of that prize pool. Rather than hard
code, "if 3 prize positions then break down as follows", "if 4 etc".

I would rather some form of algorithm for or setting in my database to
say that for this game use this ditribution, for this one use another
one, and eaxh distribution be stored in a back end db table.

But how do you store a 'distribution'? I guess its an algorithm, if so i
could store in the db which algorithm to use etc? this is where i am
stuck....

Any ideas?


"Peter Bradley" <pbradley@xxxxxxxxxx> wrote in message
news:%23%23qm4i7QHHA.1860@xxxxxxxxxxxxxxxxxxxxxxx
Seems to me you need to do some analysis.

Some obvious objects are:

Game
Player
Prize
PrizePool

Now, can you say what state variables and methods these objects should
have? Does thinking about that suggest to you that you may want an
inheritance hierarchy, or an interface for some of these objects? E.g.

Could there be different types of Games (Pool, Poker, Darts, Domines,
Cribbage)? Would they have extra/different state and behaviour?

What about prizes? Would an interface work best here? Then a PrizePool
could hold objects that implement the interface?

Will a Game hold a collection of players? Presumably a PrizePool will
hold a collection of Prizes. Since the Prizes may be different, will
they be different in an inheritance sense, or in an interface sense?
Will a PrizePool need a reference to a Game (i.e. need to know which
Game it is the PrizePool for)? Will a Prize need a reference to a Game,
too? Or could the same Prize be used for many Games.

There's no substitute for good analysis.

HTH, IMHO, YMMV, Just my 2c etc etc


Peter




"Daniel" <nospam@xxxxxxxxxxxxxx> wrote in message
news:O$8rOP6QHHA.4916@xxxxxxxxxxxxxxxxxxxxxxx
Hi guys

I have a requirment to calculate a prize pool for a competiton similar
to a poker tournament. But i am stuck on best ways or even if i have
the right ideas, so:

Players pay to play, total paid is prize pool and is distributed to top
3 or so winners.

Variables are number of players who will win, if a lot enter i increase
number of winners. i think a standard top 30% rounded off would work
for calculating paid positions? So 10 players. 30% would be 3 of them
(rounded)

Now to calculate the actual amount of prize each gets i'd like to be
able to vary it. So i could offer or be versatile enough to offer
different distribtuions. Such as, a winner takes all, a top 2 get the
most and then 3rd gets a fair bit less, or a 4 out of 10 get
prizes.....etc

Also i'd like to be able to offer prizes where say first place can get
cash AND a car for example. But other 2 places just cash etc etc

This is where i am stuck, do i go for a hard coded table in database
and read off it when my prog loads into a struct and just reference
that when doing calculations? One way forward, but then if a number of
players enters that i havent accounted for, then what?

Alternatively as i said above i calculate winning positions based on a
% but then how do idecide which of those positions wins what?

Very stuck and confused, i keep thinking this must be simple. any ideas
or pointers welcome?

Thanks











.



Relevant Pages

  • Re: General Opinion on a how to?
    ... You could store the name of the algorithm in the database along with some ... Load into a prize pool object instance for that game ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Kresss Probability Trilogy Qs
    ... We know our mathematics is true by direct insight, ... Any calculation has an experimental aspect to it (albeit one that is ... objections and answers which I'm ... Our "algorithm" is an ...
    (rec.arts.sf.science)
  • Re: How to calculate pi in binary ?
    ... > calculating just the Nth digit of pi. ... "This algorithm is ... negligible) means that the constant term in the complexity analysis will ... This, in turn, will depend on the methods of calculation ...
    (sci.math)
  • Re: How to calculate pi in binary ?
    ... Perhaps I should have said "asymptotically faster" rather than "slightly ... that makes the BBP algorithm interesting. ... > to calculation complexity or memory usage) make their practical ...
    (sci.math)
  • Re: c vs java floating point errors under windows XP
    ... >of a floating point calculation. ... >algorithm in java and in C to accomplish this calculation. ...
    (comp.programming)

Quantcast