Abstract:
An apparatus and method are described for monitoring bingo cards using a portable game device. The game device has a central processing unit, a bit-mapped color display and memory containing representations of bingo cards, a series of games to be played and their rules, and the number of cards to be played. The game device may be battery powered and adopt reduced power modes of operation to conserve battery life. An external power supply may be connected to the game device without interrupting a game in progress. The game device may have more than one battery and charge one battery fully before recharging the other batteries. The game device may have a wireless communications port, through which the memory may be loaded. A communications protocol with security elements may be used for loading the memory. The game device may test its circuitry and data in memory before commencing game play.

Description:
TECHNICAL FIELD OF THE INVENTION  
         [0001]    The present invention relates to a portable electronic game system and more particularly to a stand-alone electronic bingo game apparatus.  
         BACKGROUND OF THE INVENTION  
         [0002]    Bingo is game of chance in which each player&#39;s chances of winning depends upon numbers drawn at random. Players compete in against other using bingo cards prepared with a design of five rows of five squares each for a total of 25 squares. The letters B-I-N-G-O is displayed above the grid, with each letter aligned with a vertical column of squares. A two-digit number generally from 1 to 99, but preferably from 1 to 75, appears in every square of the bingo card except the center square, which is designated as a free play. The game also uses a central source for generating random numbers. The random numbers are drawn from a pool of bingo balls. The number of balls corresponds to the range of numbers available on the bingo card. On each ball are found letters and numbers corresponding to those printed on the bingo cards. Each ball includes one letter from the word bingo and one number from the range of numbers printed on the bingo card.  
           [0003]    From a conventional air-ball machine or a box, a caller chooses numbers at random one ball at a time and announces the letter and number appearing on the ball. The players with numbers matching the number on the ball called, marks off the number being called using an ink marker called a “dauber”. In the basic form of bingo, as soon as five numbers are covered in a straight line vertically, horizontally or diagonally, the person with the covered numbers calls out “bingo!” Each player that attains “bingo” in a game wins a prize. At the end of each game players turn in their marked cards and must purchase new cards to play another round. Players generally have an opportunity to play more than one bingo card. Often players may attempt as may bingo cards as they have table space available with the idea that the more cards played increases the player&#39;s chances of winning bingo. Bingo cards are often sold prepackaged in groups of various denominations. Players can purchase these packaged cards as an added convenience.  
           [0004]    With the growth in popularity for the bingo game, more challenging changes have added to the bingo game. First, the basic winning patterns of aligning five numbers on a card either horizontally, vertically or diagonally have been supplemented by a number of complex winning patterns. Some of these winning patterns are as follows:  
           [0005]    Postage Stamp where winning numbers are found only in one corner of the array;  
           [0006]    Four Corners where winning numbers are found in every corner of the array;  
           [0007]    Small Diamond where four winning numbers are found encircling one cell in the array;  
           [0008]    Block of Nine where winning numbers are found in a three by three array forming a block of nine numbers;  
           [0009]    Crazy T where winning numbers are aligned in a horizontal line and a vertical line to form a “T” shape;  
           [0010]    Large Diamond where winning numbers are aligned diagonally encircling a small diamond;  
           [0011]    Small Picture Frame where eight winning numbers are found encircling one cell in the array; and  
           [0012]    Crazy L where winning numbers are aligned in a vertical line and horizontal line to form an “L” shape.  
           [0013]    In addition, some bingo halls are now using “wild numbers” to further add to the complexity of the game. The “wild numbers” are typically called out at the beginning of game play. A “wild number” is identified by the caller before it is drawn. The caller also identifies what characteristic will make the number wild. For example, if the number is even then all even numbers may be marked. Or for example, all numbers sharing the same first digit may also be declared as wild. Other, criteria may be used as well, but it is generally the bingo hall that determines the rules for each game.  
           [0014]    Wild card numbers and the winning patterns generally change for each bingo game. In order to achieve “bingo” during any game, the players must know the rules and apply the rules properly during each called number in order to achieve bingo. A problem occurs with players accustomed to playing large numbers of bingo cards. The complexity of tracking several winning numbers for each game combined with the large number of cards played, often increases the chances that a players will miss a possible winning match.  
           [0015]    Electronic bingo devices have been developed to help alleviate the problem of tracking large numbers of bingo cards over various patterns; however many of these devices are not well suited for complexities of game play available. While other devices which are well suited for such game play are complex and require computer operators to load the game information before use. One such device is disclosed in U.S. Pat. No. 4,747,600 issued to Richardson which describes a gaming board that includes a communications port used in an electronic bingo system. A computer operator transfers individual game player cards and winning pattern information to the gaming boards from a base station computer. This method has to be performed on each gaming board used in play. The result is added cost and labor to the bingo hall. Another problem with the electronic bingo system is that each game board must be individually connected to the base station in order to be configured. This causes added delay, as players must wait for the operator of the base station to configure their systems.  
           [0016]    Some electronic bingo devices have a monochrome character display, which is fabricated with segmented preformed characters. These characters are in fixed positions in the display and the only symbols available are those that can be formed from illuminating combinations of the segments of a character. To display a bingo card, a character display is fabricated with 25 cells in a 5×5 array, each cell formed of two characters. Four such displays are used to display four bingo cards. Other information cannot be displayed along with the bingo cards, and a different number of bingo cards cannot be displayed. When other information is displayed instead of bingo cards, it must be displayed within the format of four 5×5 arrays of two-character cells. The extent of interaction with the user is limited by the monochrome display.  
           [0017]    Some battery-powered electronic bingo devices have short battery life, requiring the user to return the device to a recharging station at frequent intervals. Often, battery power will run out during a bingo game, causing the player to lose data entered for that game. When this occurs, bingo hall employees must replace the exhausted batteries, plug in a backup power supply, or issue a new device to the player. All of these options involve an interruption of the game in progress and a recovery period in which the player re-enters information about the interrupted game in progress.  
           [0018]    As such, many typical electronic bingo devices suffer one or more shortcomings. Other problems and disadvantages of the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.  
         SUMMARY OF THE INVENTION  
         [0019]    The present invention provides an electronic game device for monitoring bingo cards during a game of bingo. A large number of cards may be played by the player in any game. A series of bingo games with different winning patterns and different wild number rules can be loaded into the device and used to monitor the bingo cards in play. When a card in play exhibits a winning pattern, the device notifies the player. A bit-mapped color display is used to present a selectable number of bingo cards to the user, and other information can be presented in appropriate formats. Reduced power operational modes can be adopted in battery-powered devices to extend battery life. Devices whose batteries have almost run out can be connected to an external power source without interrupting a game in progress.  
           [0020]    More specifically, aspects of the invention may be found in a portable game apparatus with a power supply, a central processing unit, a user interface, a non-volatile memory, and a bit-mapped color display. The memory contains a representation of bingo cards, a set of games to be played and the winning patterns for those games, instructions for monitoring bingo cards during a bingo game, and instructions for displaying a selectable number of bingo cards together on the display. A portion of the memory may be located in a removable game key that can be inserted into the game apparatus. The power supply may be a battery and the game apparatus may have circuitry to switch the apparatus to reduced power operating modes. The power supply may be a plurality of batteries, and the game device may have circuitry that charges one of the batteries fully before recharging the other batteries. The game device may have an external power connector to which an external power source can be connected without interrupting a game in progress. The game device may have a wireless communication port, which may be bi-directional, and the memory of the device may be loaded through the wireless port. A communication protocol with security features may be used for communications on the wireless port. The game device may test its circuitry and memory before commencing game play.  
           [0021]    Other aspects of the invention may be found in a method of monitoring bingo cards during play using a portable game device that has memory, a user interface and a bit-mapped color display. Steps of the method include storing data representing bingo cards, a series of games to be played and the winning patterns for those games, and the number of bingo cards to be played. Further steps of the method include displaying one or more bingo cards on the display, the number of cards being selected by the user. The method also includes the step of receiving called numbers entered by the user at the user interface. Further steps of the method include creating a mask for each card reflecting the numbers on that card that have been called, comparing each bingo card mask to the winning patterns stored for the game being played and notifying the player when a winning pattern is found.  
           [0022]    Other aspects of the invention may be found in a method of preparing game devices for use while playing bingo. The steps of the method include accepting an order specifying the number of bingo cards to be played and providing the player with a game device. A further step of the method include loading the game device with data via a wireless communications link. The data represents a series of games to be played and the winning patterns for those games, and the number of bingo cards to be played.  
           [0023]    As such, an apparatus and method for monitoring bingo cards during a game of bingo are described. Other aspects, advantages and novel features of the present invention will become apparent from the detailed description of the preferred embodiments when considered in conjunction with the accompanying drawings.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]    For a more complete understanding of the present invention and advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numbers indicate like features and wherein:  
         [0025]    [0025]FIG. 1 is an oblique view of a portable game device according to the present invention;  
         [0026]    [0026]FIG. 2 is a side view of the game device of FIG. 1;  
         [0027]    [0027]FIG. 3 is a block diagram of the circuitry of the game device;  
         [0028]    [0028]FIG. 4 is an illustration of a display format showing nine bingo cards;  
         [0029]    [0029]FIG. 5 is an illustration of a display format showing one bingo card; and  
         [0030]    FIGS.  6 - 12  are flow diagrams of the software program of the game device.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0031]    Exemplary embodiments of the invention are illustrated in the Figures, like numerals being used to refer to like and corresponding parts of the various drawings.  
         [0032]    [0032]FIG. 1 illustrates an embodiment of the present invention. Electronic bingo device  20 , in which bingo cards are provided stored therein and, when activated by the mechanical receipt of a game key  44  in game key slot  32 , is adapted to operate with a bingo player in accordance with the rules of play defined by the bingo hall. The game key  44  is inserted by the bingo hall personnel from an assortment of game keys that are sorted according to the quantities of bingo cards provided by the bingo hall. A bit-mapped color display  22  provides a general-purpose display that can be configured to display bingo cards and other information. A numeric keypad  24  allows the player to input called bingo numbers during game play.  
         [0033]    In contrast to a character display, as used in other bingo devices, a bit-mapped color display is divided into an array of tiny identical pixels, each of which can be independently controlled for brightness and color. With such a display arbitrary shapes and characters can be formed at any location in the display. Displayed data can be reformatted to appear larger or smaller and moved to any desired location in the display. Data can be displayed in any format that is appropriate, rather than in a format dictated by the display device.  
         [0034]    As shown in FIG. 1, the bingo device  20  is housed within a two part molded plastic housing  46 . The front face of the housing includes color display  22 , flexibly configurable to display one or more bingo cards and other information. Also on the front face and situated below the color display is the numeric keypad  24 . Keys designated for numbers 1-9 are configured in a 3-by-3 array, with number “0” located under the array. An “Enter” key is located below the array adjacent the number “0” key. Function keypad  26  provides access to the various display modes, allows for viewing of the bingo cards, promotes changing of winning patterns and clears player memory. These functions will be discussed in greater detail herein and are achieved using the following keys: an “Info” key, a “Bingo Board” key, a “Wild” key, a “Clear” key, a “Delete” key, a “Next Game” key and a “View Cards” key. The front face of the housing  46  may also include a mouse pad  28  used to move a cursor about the display  22 .  
         [0035]    Located on the left side of the housing  46  is a game key slot  32  for securing the game key  44  within the device. Also located on the left side of the housing is an external power jack, or connector,  30 .  
         [0036]    A relatable U-shaped table stand  34  is also shown in FIG. 1. The table stand is attached to the back of the device. The stand and its hinges can be replaced without opening the housing  46 . A contoured recess in the back of the device permits the table stand to lie flush with the back of the device when in its fully closed position. When opened and used as to prop up the device, rubber pads on the handle prevent the device from sliding along a table surface. The table stand may attach to the device with hinges that allow it to be set in any position from fully closed to fully open. The hinges operate silently and damp the rotation of the table stand from one position to another, preventing the stand from being slammed closed and preventing the device from being slammed to the tabletop while supported by the table stand.  
         [0037]    Located on the top side of the housing  46  is a tri color LED indicator  36  (not shown in FIG. 1) that indicate the state of charge of the battery inside the game device and the operational status of the circuitry of the game device. These LED indicators will be discussed in more detail herein.  
         [0038]    The right side of the game device  20  is shown in FIG. 2. A Universal Serial Bus (USB) port  38  enables the game device to be connected to and communicate with other electronic devices. An infrared (IR) window  40 , transparent to infrared radiation, covers an IR transceiver inside the game device, enabling the game device to communicate with other devices using an IR communication link. A brightness control  42  allows the user to adjust the brightness of color display  22 .  
         [0039]    Located on the back side of the housing  46  are charging contacts  39  (not shown in FIG. 1). The game device can be placed in a recharging cradle having mating contacts to recharge the batteries in the game device.  
         [0040]    The electronic bingo device is controlled by the circuitry shown in FIG. 3. A central processing unit (CPU)  50  operates in cooperation with a control program stored in a non-volatile Flash RAM  52 . Upon activation of the CPU the control program is copied from Flash RAM using a dynamic random-access-memory (DRAM)  54  for data storage and executed. The CPU  50  includes an address and data bus  56  that connects the CPU  50  to the Display Formatter  58  and USB Interface circuitry  60 . A CPU of the type suitable for this purpose is the Motorola 68K Cold-Fire processor.  
         [0041]    A graphics engine is provided by Display Formatter  58 , which buffers display data from the CPU  50  into video buffer  62 , converts the display data into raster format and sends the rasterized signal to the low voltage differential signal (LVDS) encoder  64  which provides a video signal to the color thin-film liquid crystal display  66 . The brightness of display  66  is set by inverter  68  and brightness adjustment control  70 , which is controlled by input from the user of the game device and by signals received over the I2C bus  72 . This graphics engine circuitry frees a significant amount of processing bandwidth in the CPU that would otherwise be taken up in writing to the display.  
         [0042]    The I2C bus  72  interconnects brightness adjustment control  70 , CPU  50 , watchdog processor  74 , keypad  78 , removable game key  44 , and radio interface  80 . Watchdog processor  74  uses an onboard analog-to-digital converter to monitor the voltage levels of the game device power supply. Upon sensing a failure in the correct operation of the game device circuitry, the watchdog processor can reset CPU  50  and Display Formatter  58  to restore correct operation. The watchdog processor can put the game device into a low power “sleep” mode by instructing FET switch  84  to cut main power to most of the circuitry of the game device. In “sleep” mode, only the watchdog processor  74  and radio interface  80  continue to receive power. Watchdog processor  74  also connects to IR transceiver  82  via a serial connection, and thus can restore main power to the game device in response to signals received from the IR transceiver or the radio interface.  
         [0043]    Watchdog processor  74  can also put the game device into a reduced power “inactive” mode by instructing the CPU  50  to enter an idle mode and instructing the brightness adjustment control  70  to dim the display  66 . The game device can be returned to active mode from either “sleep” mode or “inactive” mode not only in response to signals received from the IR transceiver or the radio interface, but also upon keypad activity. The keypad provides an interrupt signal to CPU  50 , which causes it to resume normal functioning and notify watchdog processor  74  that it is again active.  
         [0044]    Watchdog processor  74  also connects to CPU  50  via a serial connection and, when the CPU is active, communications received from the IR transceiver can be passed on to the CPU, as well as being acted upon by the watchdog processor. The serial connection is also used to communicate to CPU  50  the battery voltage measured by watchdog processor  74 . CPU  50  displays this voltage as a battery level indicator on display  66 .  
         [0045]    Twin batteries  90  are connected in parallel to game key socket  94 . When a hardware key  44  is connected to the hardware key socket  94 , the battery power is connected to FET switch  84 . Under the control of watchdog processor  74 , the FET switch connects the battery power to multi-voltage power supply  86 . Power supply  86  produces power at multiple voltages to power the other circuitry of the game device. Multi-voltage power supply  86  can also draw power from emergency power jack  30  when an external power source is connected. The output voltages of power supply  86  do not fluctuate when an external power source is connected to emergency power jack  30 , thereby preventing any interruption in the operation of the game device.  
         [0046]    While the twin batteries  90  operate in tandem to power the game device, they are individually connected to charging circuitry  88 . Charging circuitry  88  receives power from charging connectors  39  and indicates its status on LED indicators  36 . When both batteries are discharged, the red LED flashes. When charging power is applied to the charging connectors, the charging circuitry, under the control of watchdog processor  74 , begins charging one of the two batteries. Once that battery is fully charged, the red LED is extinguished and the green LED flashes. The charging circuitry then begins charging the other battery. Once the second battery is fully charged, the green LED turns on solid. During the period that one battery is fully charged and the other is partially charged, charging power can be removed and the game device operated normally.  
         [0047]    Charging circuitry  88  and multi-voltage power supply  86  are part of power supply circuitry  92 , which supplies power to the watchdog processor  74  and radio interface  80  when the game device is in “sleep” mode.  
         [0048]    When a hardware key  44  is inserted into the hardware key slot  32  in the housing of the game device, it also engages hardware key socket  94  to provide electrical communication between the CPU  50  and an electrically programmable read only memory (EPROM) circuit  96  having memory located within the hardware key. The key may have 1, 32, 64, 128 or more kilobytes of memory, among other amounts. The data stored in a type of hardware key known as a player key includes the number of cards purchased by the player for each game. Game devices can also receive this information via the IR transceiver or the radio interface from an external device and store it in DRAM, which may then be transferred into Flash. In these situations, a hardware key  44  without EEPROM circuit  96  is used. Such a key only connects battery power to the FET switch  84 .  
         [0049]    Other types of hardware keys include a game key, which contains a list of the games and parts of games to be played in a bingo session, the wild number rules for those games and the winning patterns for those games; a card set key, which contains the collection of bingo cards to be used by the game device; and a code key, which contains programs for the game device CPU  50 . When one of these types of hardware keys is inserted into the game device, the CPU  50  reads an identifier in the memory of the key and recognizes the type of data contained in the key. The CPU then transfers the data from the hardware key into the FlashRAM of the game device. Game devices can also receive this information via the IR transceiver or the radio interface from an external device and store it in FlashRAM. When the game device is subsequently powered up with a player key, the data stored in FlashRAM will be used in performing the function of monitoring bingo cards.  
         [0050]    When player data, game data, card set data or game device program code is transferred from an external device, a communication protocol providing security features such as checksums or unique device identifiers is used to ensure that the data and code come from an authorized device and have not been tampered with or corrupted in the transmission process.  
         [0051]    The CPU is also connected to piezo-electric audio transducer  76 . This allows the game device to notify the player that one of his cards has a winning pattern by playing a song or some other type of audio signal.  
         [0052]    [0052]FIG. 4 illustrates a display format  100  showing nine bingo cards at once. The nine cards appear in a three-by-three array at the top of the display in section  102 . The letters B-I-N-G-O are displayed between the cards to label the columns of the cards. The serial numbers of the nine displayed cards are shown below the displayed cards in section  104  of the display. The number and part of the game currently being played are displayed in section  106  of the screen, to the left below the display of serial numbers. Section  108  of the display, to the right below the display of serial numbers, shows called number information about the called numbers entered by the user: the last called number entered, the total count of called numbers entered, and the number currently being entered by the user on the numeric keypad.  
         [0053]    This display format permits an additional type of bingo game to be played, in which a winning pattern can occur on certain of the cards. For example, a diagonal bingo on the three leftmost cards might be the winning pattern for such a multiple card game.  
         [0054]    A display format  112  for displaying a single bingo card is shown in FIG. 5. Visually impaired users can more easily read the large type utilized in this display format. This format has the same sections as the nine card format illustrated in FIG. 4: the card is displayed at the top of the screen in section  114 , the serial number of the card is shown below that in section  116 , below that are shown the game and part numbers in section  118  to the left and the called number information in section  120  to the right, and at the bottom of the screen is message display area  122 .  
         [0055]    Other modified bingo games can be played using the bit-mapped color display of the present invention. Cards can be displayed with some squares holding two numbers, rather than the usual single number. This is possible because the numbers displayed within a square can be made smaller and shifted, in order to fit two numbers in the same square. In another modification to the usual bingo card, certain squares on a player&#39;s cards can be marked with a star to signify that a bingo including that square wins a special prize. This can be done by displaying the star in the background of the square in a contrasting color to the background color of the other squares of the bingo card.  
         [0056]    The “Bingo Board” key in the function keypad  26  of FIG. 1 allows the user to cycle through the display formats showing one, four or nine cards, and a display format called the “Flashboard”, showing the called numbers entered by the user and the winning patterns for the current game. The “View Cards” key in the function keypad  26  serves to cycle through all the cards being played, in whatever display format the user has selected using the “Bingo Board” key.  
         [0057]    [0057]FIG. 6 is a block flow diagram of an exemplary main game thread. To begin the method  160 , initializes the game variables as seen in block  164 . The system then determines whether the game is complete as seen in block  166 . If the game is not complete, the main game thread calls the game event scheduling loop (depicted in FIG. 8) as seen in block  168 . If the game is complete, the system re-initializes for a next game or, if a next game has not been purchased, the thread may terminate or alert the user, among others.  
         [0058]    [0058]FIG. 7 shows an alternate main program routine for an embodiment of the present invention. The control program is started either upon inserting the game key into the game slot or at any time the CPU is reset by the watchdog processor at step  200 . The program self tests and initializes the hardware in a conventional manner at step  202 . The configuration information including the winning patterns, wild card numbers and bingo card allocation numbers are read from memory at step  204 . Next the bingo cards allocated to the player may be compared with a checksum number to ensure the bingo card information in memory is valid at step  206 . The cards may be 20 bytes. The first 13 bytes may describe the card, the next three may be the serial number, the next may be an optional star position and the last three may be reserved for future expansion. However, the cards may use fewer or more bytes for various purposes in various orders. Alternately, Each bingo card entry may use 13 bytes for card data and 3 bytes for providing a unique serial number to comply with various regional bingo regulations and a checksum byte. The checksum is the sum of bytes 0 through 15 with a carry wraparound. If the sum of bytes 0-15 does not match the checksum value, the data may be considered invalid and an error may be signaled via the LED indicator  36  of FIG. 1 at step  208 , among other alert option, and the program stops at step  210 . Otherwise, if the bingo card data is valid, the program resets a game pointer variable to the first game listed in the game key at step  212 . The game data including winning patterns and wild card data is loaded into the game variable to initialize the game at step  214 . The program at step  216  then calls a game event scheduling loop (FIG. 8). Upon return from the game event scheduling loop  218 , the program may terminate at step  219  if the player has played all of the allotted games or return to steps  204  or  212 .  
         [0059]    [0059]FIG. 8 illustrates the game event scheduling loop. The method starts by determining whether more events exist as seen in block  224 . An event can be timed, fired, or forced. Timed events include checking for key presses every 30 milliseconds, updating screens every 33 milliseconds, blinking display values, and battery events, among others. Time periods are shown for illustrative purposes and may vary. Fired events may include playing a sound, among others. However, the events may take various forms. If events exist, the events are processed and the event counter is incremented as seen in block  228 . The availability of events may then be tested again. If no events exist, the routine may exit the loop and return to the main program or thread as exemplified in FIGS. 6 and 7. The main program thread may then call the game event thread again.  
         [0060]    The system has arrays of structures which have embedded function pointers for each key. When a key event is processed a routine iterates through these structures until it finds the structure that matches the key pressed. When this structure is found the embedded function is called. This allows a great deal of flexibility when processing the keys. Different arrays of structures can also be used to describe what should happen on each key press. For example when the in game submenu is showing the #2 key will allow a user to change a dauber. When the dauber select sub-menu is up the #2 key will select option  2 , while there is no current game being played the #2 key will do nothing and while playing the #2 key will adjust the current number in the input buffer.  
         [0061]    In other examples, if the number is entered the entered number variable is updated. If the clear key has been pressed the entered number variable is cleared to zero. If the enter key has been pressed the game number updating routine (FIG. 9) is executed. If the delete key has been pressed an undaub flag is set. If the wild key has been pressed a wild flag is set. If the Info key has been pressed the in-game menu will appear which may allow the user to change the language that the game is played in, change his/her dauber shape, and change his/her dauber color, among others. If the Bingo Board Key has been pressed, the Bingo Board display mode may be changed. If the View Cards key has been pressed the entered number variable is cleared to zero. If the Next Game key has been pressed for at least two seconds, the next game number is updated. The display may be updated in accordance with a timed event.  
         [0062]    [0062]FIG. 9 shows an exemplary game number update routine. This routine may be activated upon detecting an enter key, among others. If the enter key has been pressed, and the last key entered was a number, the number stored in the entered number variable is added to the list of called numbers and the number is marked on each card containing that number in a winning pattern. If the wild key was pressed prior to pressing the enter key, the number entered will be used to mark all numbers in a winning pattern, meeting the requirements of the wild card rules. The method begins with wild card processing as seen in block  234 . If a wild number has been entered, the system may generate all possible numbers associated with the wild number. The system may then update the called numbers as seen in a block  236 . This process adds or deletes numbers from the called numbers list. The system determines whether the called numbers have changed as seen in a block  238 . If not, the system posts a graphics event as seen in a block  250 . If the numbers have changed, the system updates the cards as seen in a block  246 . This involves updating each played card face and matching pattern according to the new called number. The cards are then scored and ranked according to how close it is to matching a winning pattern as seen in a block  242 . For games with multiple cards per sheet, each sheet is assembled and scored fro how close the sheet is to winning as seen in block  244 . The system looks for the winning criteria on each sheet as seen in block  246 . If there is no win, the system posts a graphics event as seen in block  250 . If there is a win event, the system posts a sound event as seen in a block  28  and a graphics event as seen in block  250 . The updating routine then terminates or returns to another thread.  
         [0063]    The above method is exemplary. The method steps may occur in differing orders. Some steps may be omitted in other embodiments. As such, alternate methods may be envisaged.  
         [0064]    In an exemplary embodiment, a check for win routine  276  (FIG. 10) begins scanning for a win by initializing the pointers for winning patterns in play and cards in play at step  298 . A select next card step loads the first card mark mask at step  300 . A select next win pattern step loads the next win pattern to be checked for this game at step  302 . If the win pattern bits match bit in the bingo card mark mask at step  304 , then the bingo flag is set to mark the win, the routine then returns to the game number updating routine at step  312 . Otherwise, more patterns are checked at step  308 . If there are more patterns then the program returns to step  302 . Otherwise more cards are checked at step  310 . If more cards exist the program returns to step  300 . Otherwise the program returns to the game number updating routine at step  312 .  
         [0065]    An exemplary score card routine  314  in FIG. 11 checks whether the loaded card has earned Bingo. The pointers that track the winning patterns are first set to the beginning at step  316 . Next, the next winning pattern is loaded for comparison with the bingo cards at step  318 . The card mask bits are set to “on” or “1” at step  320  and the bits not set are counted at step  322 . The number of not set bits are compared to a minimum score variable at step  324 . If the card bits are less than the minimum score, then the minimum score is updated to the value of the bit count form step  322 . The minimum score pattern count is then updated. The program then jumps to step  330  to check for more patterns. If the comparison of the minimum score to the counted not set bits is equal, then the count of patterns at min. score is incremented and the program jumps to step  330 . If the count bit are greater than the minimum score the program returns to step  318 . At step  330 , if there are more patterns the program jumps to step  318 ; otherwise the card score is updated at step  332 . The card score is equal to the minimum score multiplied by the number patterns minus the count at minimum score. The program then returns to the game number updating routine at step  334 .  
         [0066]    The next game display routine  336  in FIG. 12 loads in the winning pattern information for the part of a continuing game or loads in the winning patterns for a new game. The next game information is loaded from the game table at step  338  and gets the game info including the pattern pointer and number of cards and wild card data for the game at step  340 . A check is made to determine whether this information is a new game or a new part of an existing game at step  342 . If the game information is a new part of an existing game the routine jumps to step  343 .  
         [0067]    Otherwise, the routine sets up the bingo device to play a new game. A first card number is calculated at step  344  to determine how many cards have been allotted from the bingo card memory for this game at step  344 . Then the corresponding number of bingo cards is loaded from the list of bingo cards at step  346 . The program then jumps to step  343  to load in the winning pattern information and wild card information for the next round of play. Winning patterns from the Flash are read at step  348 . When proceeding to the next part of an existing game, all numbers are re-scored based on the new patterns at step  350  by jumping to the score card routine until all cards have been scored.  
         [0068]    However, the methods of FIGS. 10, 11, and  12  may or may not be included or may take alternate forms.  
         [0069]    An example of the operation of the embodiment of the present invention described herein is now given. The game device is disabled until a game key is inserted. This game key may contain game data representing the number of games authorized for that player, the number of cards purchased containing star information, the number of cards to be played each game, and the winning patterns that are valid for each game. Alternatively, the game key may enable the game device to receive game data into Flash RAM via the IR transceiver or the radio interface. Each game device contains a list of cards in Flash RAM. The details of the storage of this information are covered in a later section.  
         [0070]    When the player presses the Enter button in the numeric keypad on a game device that has just had its game key inserted, the first game is selected. Pressing one or two numbers followed by the ENTER key will cause that number to be daubed.  
         [0071]    If a number is displayed on the bingo board that has not been called, it may be removed by pressing one or two numbers and the DELETE key. Pressing the BINGO BOARD button will cycle the display to the  1 ,  4 ,  9  flashboard screens. The normal display will return when the BINGO BOARD button is pressed again.  
         [0072]    If the daubed numbers on one or more of the cards in play match the winning criteria (one or more patterns on 1 or more sheets) an audible alarm may sound and the numbers on that sheet that form the winning criteria will be shown and all others will remain not highlighted. All buttons will continue to operate so that any necessary corrections may be made if the win was due to erroneous entry.  
         [0073]    Some games allow for Wild numbers to be entered at the beginning of a game. These numbers are daubed by entering a number followed by the Wild Button, followed by the Enter key. They may be undaubed by entering the number, followed by the Wild Button, followed by the Delete key. The following sections describes the wild algorithms that may be used:  
         [0074]    The wild algorithm is selected per game as determined by the house. The algorithm to be used in each game is stored in the game data that configures the game device for play. When the wild number is entered, a group of numbers is daubed simultaneously based on the selected wild algorithm, which may be one of the following:  
         [0075]    Even/Odd—If the number entered is even, all even numbers on the card will be daubed. If the number entered is odd, all odd numbers on the cards will be daubed.  
         [0076]    Ending-In—All cards ending in the same number will be daubed.  
         [0077]    Both Ways—Begins or ends in a given number.  
         [0078]    The method for determining the number of a card is now described. A bingo card consists of 5 columns of 5 numbers. In the first column, five numbers from the range of 1 to 15 may be arranged in any order. In the second column, five numbers from the range 16 to 30, in the third 31 to 45, in the fourth 46 to 60, in the fifth 61 to 75. Thus in the first position there are 15 possible numbers. In the second, there are 14 (the one number chosen for the first position cannot be reused), in the third there are 13, etc. In the second column, the sequence is repeated. Thus, the number of possible numbers for each position in each column are as follows: (15, 14, 13, 12, 11, 15, 14, 13, 12, 11, 15, 14, 13, 12, 11, 15, 14, 13, 12, 11, 15, 14, 13, 12, 11). Multiplying the first five of these numbers gives the number of combinations in a single column, multiplying all these numbers gives the number of possible different bingo cards. Each column thus has the potential of 360,360 different combinations and the total number of different cards is 6.0796911214672*10 27 .  
         [0079]    The identification of winning patterns is now described. Winning patterns can consist of from 1 to 25 positions on a card. This can be identified by a vector of 25 bits. A one bit in any position indicates that the position on the card corresponding to that bit is required by that pattern. For example, the following win mask identifies the common bingo pattern of all numbers in the first column being daubed: 000000000000000000011111. And this win mask identifies the pattern of all numbers in the first row being daubed: 0000100001000010000100001. These numbers can be conveniently fitted into a long integer (32 bits). The upper 7 bits are reserved.  
         [0080]    The storage of bingo cards is now described. Flash RAM  52  in FIG. 3 includes memory space to house data representative of at least 1,000 unique bingo cards. This data includes 25 numbers between 1 and 75 randomly chosen for each of the bingo cards and may use 20 bytes for each card. The card cells are numbered from 0-24 in which this numbering identifies bits in the patterns and the storage of numbers in the games in play arrays.  
         [0081]    Bingo cards may be stored in the Flash RAM in a table with entries of the form:  
                                   Byte (s)   Function                    0-12   Canonical Card           Representation       13-15   Serial Number                  
 
         [0082]    The Canonical Card Representation is discussed above. The Serial Number is a number assigned to the card in the master card set.  
         [0083]    The storage of game data in Flash RAM  52  and game key  44  is now described. One segment of the game data is the win pattern table, which contains a list of all winning patterns. Note that most winning patterns may require multiple entries in the table. For example, the standard bingo winning pattern of any row, any column, or the two diagonals would require 12 entries: one for each of the 5 rows; one for each of the 5 columns, and one for each of the two diagonals.  
         [0084]    Each entry in the win pattern table may be in the following format:  
                                         Pattern Mask            Bits   Function                0-24   Win           Pattern       25-31   0000000                  
 
         [0085]    The entries are arranged in an array with 0 referring to the first element in the array, as shown below. The number of entries in this table is limited only by the memory in the game device.  
                                   Win Mask 0       Win Mask 1       .       .       .       Win Mask N                  
 
         [0086]    Another segment of the game data is the Game/Part Table, which contains authorized game numbers, the number of games, and the winning patterns for each game. There are two formats for entries in this table: the game header and the part header. Single part games will have one game header, followed by one part header. Multipart games will have one game header followed by as many part headers as there are parts to the game. These two headers may take various formats.  
         [0087]    The method of scoring cards is now described. In bingo, all that really matters for winning is if a pattern is complete. The card either has a pattern completed or it does not. But, in order to determine which are the best cards in play, it is necessary to give each card a score. This score is determined as follows: First, cards are scored by the pattern closest to a pattern match. For example a card that is one away from winning on some combination is better that a card that has no combination better than two away. Next, the cards that are at any given rank are then further ranked by how many different combinations are at the minimum. For example a card that is one away on two different patterns is better that one that is one away on only one pattern. Lastly any ties are broken by where the card was in the previous ranking. This prevents the cards from jumping around in order when the score has not changed as a result of sorting them. These scores are combined as follows: 
         Score=( D   on   *N   patterns   −N   on )* N   cip   +R   old   
         [0088]    where:  
         [0089]    D on  Number of numbers required for win on the best pattern on this card.  
         [0090]    N patterns  Number of win patterns in the current game.  
         [0091]    N on  Number of patterns that are at D on  from a win.  
         [0092]    N cip  Number of cards in play in this game.  
         [0093]    R old  Card rank after last scoring pass.  
         [0094]    The Scores are then ordered from best to worst. The best is assigned rank 0 and each card is assigned a successively higher rank in order of its score, with the worst receiving a rank of NumCard-1. After the first ranking, all the scores will be unique since R old  is unique.  
         [0095]    As such, an apparatus and method are described for monitoring bingo cards. In view of the above detailed description of the present invention and associated drawings, other modifications and variations will now become apparent to those skilled in the art. It should also be apparent that such other modifications and variations may be effected without departing from the spirit and scope of the present invention as set forth in the claims that follow.