Lotto Class Structure

The Lottery Class begins the Structure by maintaining which Histories are loaded. This object will push through each History, and can cause each History to calculate statistical data or run prediction tests, or run an actual prediction with results. A lottery’s History consists of the Drawing machines themselves

Multiple Stacks can be assigned to each Machine, thus allowing multiple prediction methods and results. Each Stack is responsible for maintaining the Groups of Filters

Multiple Groups can be assigned to each Stack, thus making Series filtering possible. The beginning Group starts the processing, eliminates balls, and passes its results on to the next Group in the Stack. Processing continues until the last Group is processed. Then the final exclusion set is obtained, yielding the actual prediction set.

The Filter maintains the general settings for the drawings that will be fed into a Processor Group. Once a Processor is added, it maintains it’s own settings thus allowing independent configuration of Processors. The Filter will pass the drawing history (or a pointer to it), the actual Score () array and any settings that the Processor needs in order to run correctly before running the Processor. The Cycle will be when the filter is on, and when the filter is off.

The Processors () is a collection of the independent Processors that can be run on a drawing history. A Processor must be designed with two major functions in mind. On the initial run, it muse calculate the entire set of data based upon the input settings. Each successive pass (or shift) of the data will require a much faster routine to account for the drawing being added, and the drawing being dropped. This dual mode programming allows for faster processing during the Hunting phase.

The Triggers() is a collection of functions that look for particular events in the drawing history.

The History Class will pass the Drawings Class downstream. This Drawings class is a collection of the Drawing Class. Both of these classes already exist, and will not need to be programmed again. Thus, when a Stack is added to the History, the Stack will then have a reference to the Drawings collection. It the can pass the object on down the line to the Group, etc. This passing of the object would continue all the way to the Processor. Thus ensuring the Processor has access to the Drawings that it must process.

Parallel Filters will have their final outputs combined before exiting the group, then the group’s total will be passed through the Selection Process. So in this case the Exclude () array belongs to the Selection class of the Group. Also, the Selection methods and properties belong to the Group Class.

A Selections class would be an ideal item to contain the array of selection methods. This way it is not very hard to implement any new selection methods. The user simply would have to add a new class, name it, and add it to the Selections class properly. It would be a collection of methods hidden behind a class object. In this way the Selection method object could be returned from the collection, instead of being explicitly called by the Group class. Also, by having a key associated with the Selection method, a more robust saving method could be used to save the Stack structure to a file for later loading.