US20090091087A1 - Quiz-nested quiz game and system therefore - Google Patents

Quiz-nested quiz game and system therefore Download PDF

Info

Publication number
US20090091087A1
US20090091087A1 US12/285,212 US28521208A US2009091087A1 US 20090091087 A1 US20090091087 A1 US 20090091087A1 US 28521208 A US28521208 A US 28521208A US 2009091087 A1 US2009091087 A1 US 2009091087A1
Authority
US
United States
Prior art keywords
quiz
node
word
clue
answer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/285,212
Inventor
Robert Andrew Wasmund
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
785291314 Inc
Original Assignee
Robert Andrew Wasmund
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Andrew Wasmund filed Critical Robert Andrew Wasmund
Priority to US12/285,212 priority Critical patent/US20090091087A1/en
Publication of US20090091087A1 publication Critical patent/US20090091087A1/en
Assigned to 785291314, INC. reassignment 785291314, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WASMUND, ROBERT A
Priority to US13/426,591 priority patent/US10058784B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/18Question-and-answer games
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/18Question-and-answer games
    • A63F2009/186Guessing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/305Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for providing a graphical or textual hint to the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8064Quiz

Definitions

  • This invention relates to skill games. More specifically, this invention relates to a new type of game and system therefore for one or multiple players in a computer game, physical media, mixed media, or television game show format.
  • a list of the simpler word puzzles will include “guess-the-phrase” (hangman) and question-and-answer trivia.
  • the solution of such puzzles follows a simple logical route, whereby one or more clues lead to the puzzle answer.
  • Other examples of simple puzzles include prototypical anagrams and “Name That Tune” type musical quizzes.
  • U.S. Pat. No. 5,123,658 to Elfanbaum and Shlomo (1992) describes a concealed-picture puzzle.
  • a player offers clues to a word or a phrase by pantomiming the words or similar sounding words.
  • a player may also decompose words into characters and sign the characters, or use a combination of methods.
  • Intersecting row and column puzzles such as crossword puzzles and Sudoku require the solution of all the word or number strings that form a defined puzzle. Solved rows or columns offer clues to other rows and columns, but there is no precedence between them. Such puzzles are progressively solved and are not hierarchical. The main solution to an intersecting row and column puzzle is arbitrarily related to its constituent rows and columns and has no independent meaning. Also, it cannot be derived from only a subset of the solved rows and columns composing its matrix. The prior art also includes many games which combine two or more of the fundamental puzzle types.
  • U.S. Patent Publication No. 20060175756 of Watson and Riley combines the classical crossword with the anagram and can include a bonus anagram constituted from circled letters in the solved crossword.
  • the final bonus anagram in not a top-level solution but is an additional puzzle that cannot be solved until the crossword is complete.
  • the bonus anagram is not meant to be solved from only a subset of the underlying clues.
  • the board game TRIVIAL PURSUIT® combines question and answer trivia with die rolling and random question selection.
  • the television show WHEEL OF FORTUNE® combines ‘hangman’ with a ‘wheel of fortune’.
  • U.S. Pat. No. 5,860,653 to Jacobs (1999) discloses a game for television or computer play with rows of anagrams at one anagram per row, with their row positions fixed relative to one another. When all the anagrams are solved, a word associated with each of the solved anagrams is revealed vertically through them.
  • Jacobs does not attach special significance to the solution of the vertical word as being the goal that ends the game. It seems apparent that before all the anagrams are solved, the vertical word will become obvious and thereby provide clues to the remaining anagrams, making this puzzle somewhat analogous to a crossword puzzle.
  • Another category is the ‘quest’ games. Examples include scavenger hunts and role playing board games such as DUNGEONS & DRAGONS® and online games such as EVERQUEST® and WORLD OF WARCRAFTTM. In these games, real or virtual articles are accumulated by the participants during an expedition. These games may include locational clues such as an easter egg hunt, and may culminate in a real or virtual reward, or they may have intermediary rewards and continue indefinitely.
  • Quest-type games sometimes encompass ‘clue finding’, that is, picking up clues along a journey, and puzzle solving.
  • Some games are spectator oriented, such as the children's television show BLUE'S CLUESTM, which combines clue finding with a final puzzle solution.
  • Variations include traditional ‘murder mystery’ interactive theatre and Alternate Reality Games (ARG).
  • U.S. Pat. No. 5,679,075 to Forrest, et al. discloses an interactive scavenger hunt combined with puzzle solving in the context of a narrative supplied by a prerecorded audio visual plot. Game participants solve “visual puzzles”, “physical tricks” or “performer-based puzzles” in order to obtain clues, called “information fragments”, as well as “directional clues”. There is no indication that an information fragment is itself the answer to a preceding puzzle. It seems it is supplied as a reward for solving a preceding puzzle, as reinforced within FIG. 5 of the application of Forrest.
  • Forrest does not indicate a quiz database. Rather, having participants manually draw clues as indicated would resist attempts to systematically organize and retrieve quiz information. Furthermore, the puzzles are thematically related. This means that puzzles would have access to only a subset of all possible quizzes that could lead to the final solution.
  • Forrest would require considerable effort and expense to generate each complete puzzle or tour, making it a novelty as opposed to a game to be played day after day.
  • Gridlock could result since it seems that either all or virtually all the available clues would have to be found in order to have a chance to complete the final puzzle. If a clue were missed, such as the ‘recall’ clue, participants might have to tediously renavigate parts of the tour. Gridlock could also arise if participants could not solve a necessary riddle, or if they were to miss a time limit.
  • U.S. Pat. No. 5,221,094 to Hanson (1993) discloses a physical media master puzzle concealed behind opaque cover up puzzle pieces.
  • the puzzle pieces are categorized on the basis of color.
  • the pieces are removed on the basis of participants successfully answering question and answer trivia-quizzes. Trivia-quizzes are displayed on accompanying physical media cards.
  • One embodiment is a master puzzle that when solved is a pictorially depicted phrase. The removal of each puzzle piece reveals between one to four letters, or portions of letters. Since discreet words or letters are not revealed, nothing more than two levels of puzzle-solving is intonated.
  • Embodiments comprise a plurality of quizzes each comprised of an answer and one or more clues. An answer obtained by solving a “lower” quiz results in a clue being revealed to a one-higher quiz.
  • Embodiments comprise a repeating pattern of clue and answer wherein the correct response to a clue, or question, supplies an answer which yields a clue in a one-higher quiz. Clues and answers are organized into clue/answer pairs. There can be multiple clue/answer pairs terminating in the same answer. One or more clue/answer pairs terminating in the same answer is described as a quiz or nested-quiz or sub-quiz.
  • the detailed embodiment describes how clue/answer pairs can be related to one another to provide an hierarchical, multi-level logical structure.
  • the answer to a one-lower clue/answer pair is, or is equivalent to, a clue to its one-higher clue/answer pair.
  • Clues and answers can be represented as uniquely identified information fragments, called “nodes”.
  • a single node can therefore have a dual purpose. It can be an answer in one quiz, and a clue in another.
  • the answer to a one-lower quiz is not necessarily a clue to a one-higher quiz, but rather its solution reveals a clue to the one-higher quiz.
  • the detailed embodiment shows four node-levels encompassing three-levels of quiz solving.
  • the quiz structure in the detailed embodiment is described as a “quiz-tree”, comprising associated nodes.
  • a quiz-tree contains quiz sub-structures, including quiz chains.
  • a quiz chain is comprised of a sequential chain of three or more nodes.
  • Quiz chains help describe the underlying structure of a quiz-tree.
  • Quiz chains are a basic quiz structure that can be used to describe many embodiments.
  • FIG. 1 portrays a logical structure of a sample iteration of an embodiment of a QNQ with descriptive symbols described in the specification.
  • FIG. 2 depicts a part of the user interface for an embodiment of a QNQ called the “phrase component”.
  • the phrase component is depicted at or near the beginning of a “round”, in a mode called “navigation mode”. A sample phrase is initially masked.
  • FIG. 3 depicts a part of the user interface called a “quiz-and-word-guessing-selector component”, which takes the form of a computer menu.
  • FIG. 4 depicts a part of the user interface called a “trivia-quiz component” for typed-text entry of a trivia-quiz answer attempt.
  • FIG. 5 depicts the trivia-quiz component introduced in FIG. 4 with a sample guess input by a player and ready to be submitted.
  • FIG. 6 depicts the phrase component as it might look after the first clue on a “quiz-able-word” has been found.
  • FIG. 7 depicts a one-item computer menu displayed over the phrase component based on a player initiated event.
  • the menu gives the player in “control” the option to “buy” a “filler-word”.
  • FIG. 8 depicts a dialog that allows a player to confirm an intention to “buy a word”.
  • FIG. 9 depicts the phrase component with two clues revealed.
  • One clue was derived on a quiz-able-word by solving a trivia-quiz.
  • the other clue is represented by a revealed filler-word, and was obtained by “buying a word”.
  • FIG. 10 depicts the phrase component in “quiz-able-word-guessing mode” as it might look with two quiz-able-word clues revealed and with a player in the process of typing in the solution to the first quiz-able-word.
  • FIG. 11 depicts the phrase component in phrase-guessing mode for the sample phrase.
  • two clues were revealed for one of the two quiz-able-words, that quiz-able-word was solved, a filler-word was “bought”, and two more clues for the other quiz-able-word were revealed.
  • a player is attempting to complete the phrase by inputting the three words remaining in its solution.
  • FIG. 12 depicts the phrase component in phrase-guessing mode, with the remaining unrevealed words typed within their respective fields. The attempted solution is ready to be submitted.
  • FIG. 13 depicts the phrase component at the end of a round, with the phrase solved.
  • FIG. 14 uses the nomenclature introduced in FIG. 1 .
  • FIG. 14 depicts a logical structure of a sample iteration of an embodiment of a QNQ, including information about the clues revealed to solve the sample iteration.
  • FIG. 15 depicts a user interface flow diagram.
  • FIG. 16 depicts a system architecture for game delivery.
  • FIG. 17 depicts a class diagram describing the main features of the embodiment.
  • FIG. 18 shows a sequence diagram for displaying a quiz-and-word-guessing-selector GUI component.
  • FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI component.
  • FIG. 20 shows a sequence diagram for attempting a trivia-quiz.
  • FIG. 21 shows a sequence diagram describing part one of the sequence for a correct trivia-quiz attempt.
  • FIG. 22 shows an update-score sequence diagram.
  • FIG. 23 shows a sequence diagram describing part two of the sequence for a correct trivia-quiz attempt.
  • FIG. 24 shows a sequence diagram for an incorrect trivia-quiz attempt.
  • FIG. 25 shows a sequence diagram describing a player passing on making an attempt at a trivia-quiz.
  • FIG. 26 shows a sequence diagram for a quiz-able-word attempt.
  • FIG. 27 shows a sequence diagram for a correct quiz-able-word attempt.
  • FIG. 28 shows a sequence diagram for an incorrect quiz-able-word attempt.
  • FIG. 29 shows a sequence diagram for buying a filler-word.
  • FIG. 30 shows a sequence diagram for a phrase attempt.
  • FIG. 31 shows a sequence diagram of an incorrect phrase attempt.
  • FIG. 32 shows a sequence diagram for a correct attempt at solving a phrase.
  • FIGS. 33-40 show entity relationship diagrams describing a quiz-generation schema. These schema comprise part of a quiz database and are used to build quiz-trees. They also provide quiz data during game runtime.
  • FIG. 41 shows an entity relationship diagram describing a player entity and its relationship to a tree entity.
  • FIGS. 42-45 show sequence diagrams for building quiz-trees, based on the quiz-generation schema shown in FIGS. 33-40 .
  • FIG. 46 shows a sequence diagram for initializing a guess-the-phrase-phrase-node object.
  • FIGS. 47 and 48 show sequence diagrams for initializing a guess-the-phrase-word-node object.
  • FIGS. 49 and 50 show sequence diagrams for initializing a trivia-quiz-answer-node object.
  • FIG. 51 shows a sequence diagram for initializing a trivia-quiz-question-node object.
  • FIG. 52 introduces “round” and “match” entities.
  • FIG. 53 shows a sequence diagram for initializing a match.
  • FIGS. 54 and 55 show sequence diagrams for initializing a round.
  • FIG. 56 depicts the quiz-and-word-guessing-selector component with an additional menu option for a “drill-down clue”.
  • FIG. 57 depicts the phrase component in navigation mode with an embedded quiz that is applicable to one of the quiz-able-words in the top-level phrase.
  • FIG. 58 depicts the quiz-and-word-guessing-selector component as in might appear for the quiz-able-word in the embedded quiz. Additional menu items are displayed to support additional features and quiz types.
  • FIG. 59 depicts a form of the trivia-quiz component adapted for multiple choice input of a trivia-quiz answer attempt.
  • FIG. 60 depicts the phrase component as it momentarily appears after solution of the embedded quiz.
  • FIG. 61 depicts the phrase component in navigation mode with a quiz-able-word clue that has been revealed by the solution of the embedded quiz.
  • FIG. 62 depicts a “concealed-picture-quiz component”.
  • FIG. 63 depicts the phrase component in navigation mode with an embedded quiz.
  • the embedded quiz has an associated anagram clue.
  • FIG. 64 depicts the phrase component with an embedded quiz in word-guessing mode and a player in the process of typing an attempt.
  • FIG. 65 depicts the phrase component in navigation mode in a design variant that displays unsolved quizzes within the phrase component.
  • One clue has been found for a higher-level quiz-able-word, and there are three clues for a lower-level embedded quiz.
  • FIG. 66 depicts the phrase component in navigation mode where the embedded quiz itself has an embedded drill-down quiz consisting of a single quiz-able-word.
  • FIG. 67 depicts the quiz-and-word-guessing-selector component as it appears over the embedded-embedded drill-down quiz-able-word.
  • FIG. 68 depicts the phrase component in navigation mode with some clues obtained for the embedded-embedded drill-down quiz-able-word.
  • FIG. 69 depicts the phrase component in navigation mode in which the embedded-embedded drill-down quiz-able-word has been solved. Its solution has become a clue to the first embedded quiz-able-word.
  • FIG. 70 depicts a hypothetical logical structure of the solution path that was partially described by FIGS. 68 and 69 .
  • FIG. 71 depicts the quiz-and-word-guessing-selector component as it appears over a quiz-able-word in the phrase component in navigation mode.
  • the menu includes items to support a drill-down ‘guess-the-phrase’ quiz type.
  • FIG. 72 depicts the phrase component in navigation mode with an embedded guess-the-phrase style of quiz. Quizzes for the embedded quiz are available for the entire phrase, and for its quiz-able-words.
  • FIG. 73 depicts an expanded view of the embedded guess-the-phrase quiz from FIG. 72 .
  • FIG. 74 depicts a menu of one item for selecting a quiz applicable to the embedded guess-the-phrase quiz.
  • FIG. 75 depicts the quiz-and-word-guessing-selector component in navigation mode with the embedded guess-the-phrase style quiz which itself has an applicable embedded, or ‘embedded-embedded’ guess-the-phrase style quiz.
  • FIG. 76 depicts the embedded-embedded guess-the-phrase style quiz introduced in FIG. 75 , in an expanded view.
  • FIG. 77 depicts a quiz-selector menu that appears over the embedded-embedded guess-the-phrase quiz, and which can be used to select a phrase-level quiz.
  • FIG. 78 depicts a “video quiz” user interface component.
  • FIGS. 79 thru 87 and FIG. 89 depict a “quiz navigator” component of the user interface in a “branch-view” mode.
  • the quiz navigator allows players to view information about a quiz-tree, and facilitates solving a quiz-tree and its component quizzes.
  • the quiz navigator borrows the nomenclature for describing a QNQ introduced in FIG. 1 .
  • FIG. 88 depicts a player interaction with the quiz navigator menu to ‘show all clues’.
  • FIG. 90 depicts a player interaction with the quiz navigator menu to change the view from branch-view to “folder-view” mode.
  • FIGS. 91 thru 94 depict the quiz navigator as it might be used to navigate a particular quiz-tree domain in folder-view mode.
  • FIG. 95 depicts components of the user interface as they appear in an integrated display.
  • the integrated display includes the phrase component with a title bar, the quiz navigator, a score and control component, and a match parameters viewing component. Other display components are minimized and available for selection.
  • lookupGTPWNd( ) phrase-node method of the trivia-quiz
  • lookupGTPPNd( ) method answer node 2160 reference to the guess-the- 2162 set-active-node phrase-phrase node (“setActiveNode( . . . ) ”) method for a guess-the-phrase-phrase node 2162A guess-the-phrase-phrase node 2164 update-score ID (“GTPPNdID”) (“updateScore( . . .
  • attribute 3310G is set to “Y” 4258 values returned from entity 4258A expression ID 3310 (“ExpressionID”) value from column 3310A 4258B number of words 4260 insert-node (“insertNode( . . . ) ”) (“NumWords”) value from message column 3310B 4260A parameter to set column 3710B 4260B Other parameters sent with to “Y” message 4260 4260C parameter to set column 3710D 4260D parameter to set column 3710E to NULL to “1”. 4262 node ID (“NodeID”) 4264 insert-expression-node (“insertExpressionNode( . . .
  • 4352A is set to “Y” method 4458 loop combined fragment 4460 reset-level-two-parent-node-ID (“resetLevel2ParentNodeID( )”) method 4461 level-two-node-id parameter 4462 select-related-expression (“selectRelatedExpression( . . .
  • ExampleID1 “selectExpressionID_Answ” (“ExpressionID1”) message 4466A parameter to select column 4468 “ExpressionID_Answ” value 3311A from entity 3311 where column 3311A is equal to 4464 4470 method or next statement 4472 condition that checks that 4468 4550 condition that checks that 4468 in not null is not null 4552 insert-node (“insertNode( . . .
  • ParentNodeID (“ParentNodeID”) message 4854 initialize-trivia-quiz-answer- 4856 loop combined fragment node (“initTQANd( )”) method 4858 select-trivia-quiz-answer-node 4860 parameter to restrict column (“selectTQANd( . . . ) ”) message 3710D to node ID 4752 4862 node id 4864 select-expression (“selectExpression( . . . ) ”) message 4866 expression-id 4868 select-category-code (“ExpressionID”) (“selectCategoryCode( . . .
  • add-to-answer (“addToAnswer( . . . ) ”) method 5050 convert-to-string 5052 array of words for the trivia- (“convertToString( . . . ) ” quiz-answer expression method 5054 initialize-valid-answers 5056 string-answer (“initValidAnswers( . . . ) ”) (“stringAnswer”) method 5058 select-guess-the-phrase-word- 5058A parameter that restricts column node (“selectGTPWNd( . . .
  • node-id (“NodeID”) 5168 set-trivia-quiz-answer-node (“setTQANd( . . . ) ”) method 5210 round (“Round”) entity 5210A “TreeID” foreign key 5210B “MatchID” foreign-key- 5210C round number “RoundNum” primary-key column primary key column 5210D “TotalPointsAwarded” 5210E “MaxAvailPoints” attribute attribute 5210F “StartDate” attribute 5210G “EndDate” attribute 5210H “PlayerIDToStartRound” 5210I “IsStartedYN?” attribute foreign key 5210J “IsSuspendedYN?” attribute 5210K “IsCompletedYN?” 5212 “Round_Player” composite 5212A “MatchID” primary-key entity column 5212B “RoundNum” primary-key 5212C “PlayerID” primary-key column 5212D “S
  • message 5570 add-guess-the-phrase-word- 5572 length (“wordLength”) GUI-information (“addGTPWGUIInfo( . . . ) ”) method 5574 initialize-navigation-mode- 5576 guess-the-phrase-phrase-node- GUI (“initNavModeGUI( . . . ) ”) ID (“GTPPNdID”) message 5578 guess-the-phrase-word-GUI- 5580 initialize-control-and-score- information GUI (“GTPWGUIInfo[ ]”) array (“initCntrl&ScoreGUI( . . .
  • Nodes represent uniquely identified information fragments that may serve the purpose of a clue or an answer depending on context.
  • the information fragment is the data associated with a clue or answer.
  • a unique identifier is imposed on an information fragment in order to uniquely represent it in the context of one “quiz-tree”.
  • a quiz-tree is more generally described as a quiz structure.
  • a general quiz structure and a quiz-tree sub-structure is a node chain.
  • a node chain is comprised by three or more nodes associated in a linear sequence.
  • Nodes and information fragments can be provided by a persistent computer storage means, such as a database.
  • Nodes can generally have their information fragment exposed or unexposed in a game interface.
  • Nodes can be visually represented as dots.
  • Associations between nodes can be represented by connecting lines.
  • a quiz-tree represents nodes and their associations used in a QNQ puzzle.
  • a quiz-tree can be logically depicted as a genealogy or tree root system which brachiates from a single top node.
  • a one-lower-level node connected node-to-node with a higher level node could be called a ‘child’ node of the one-higher-level ‘parent’ node.
  • FIG. 1 The outcome of an iteration of a hypothetical embodiment of a QNQ is logically depicted ( FIG. 1 ).
  • the symbol for a node that is a top-level answer 140 is a large hollow circle. It is node that can only be an answer since it is the final answer to a QNQ puzzle.
  • nodes levels are consecutively numbered from the top level to the lowest level.
  • a top level or node-level one is represented as node-level 1110 .
  • Node-level 2 112 , node-level 3 114 , node-level 4 116 , and node-level “n” 130 follow.
  • the symbol for a revealed node 142 is a solid circle.
  • the symbol for an association 141 between a revealed, lower node 142 , acting as a clue, with another node, acting as an answer, is a thick connecting line.
  • Revealed nodes 142 are generally revealed by supplying a correct answer, except at the bottom-most level of a branch. Revealed nodes 142 at the bottom-most level of a branch represent clues that were supplied by an embodiment for the solution of their one-higher-level answer. They are nodes that serve as clues but are never answers.
  • the symbol for an unrevealed node 146 is a solid square.
  • the symbol for an association 145 of a lower unrevealed node 146 , acting as a potential, or unexposed clue, to an upper node, acting as an answer, is a relatively thin line.
  • a revealed node at level “n” might allow a player to cognitively solve the level-“n ⁇ 2” node at virtually the same time as the level-“n ⁇ 1” node.
  • a player might choose to bypass solving the level-“n ⁇ 1” node and directly solve the level-“n ⁇ 2” node.
  • a solid oval symbol 144 is used to depict a cognitively solved node. It represents a node that was cognitively solved by a player, but not formally solved as an answer. Its solution was bypassed in favor of solving the higher, level-“n ⁇ 2” quiz. Unrevealed nodes 146 A represent nodes that went unrevealed, until they were revealed by virtue of the solution of the top-level quiz.
  • the logical structure can vary between different iterations of any given embodiment of a QNQ, as well as between different embodiments of a QNQ.
  • the depth and depth constancy between branches can be either variable or fixed.
  • the number of child nodes connected to a parent node can be either constant or variable.
  • quiz solution is directed from bottom to top within branches, cognitively progressing one level at a time within a branch.
  • selection of quizzes is directed from top to bottom.
  • the interface provides an indication of the top-level quiz at the beginning of a round, even though its solution is obscured.
  • players have no exposure to the top-level quiz until later in the game.
  • navigation and quiz selection begins deeper within the quiz hierarchy.
  • Embodiments are possible that present the option of exposing a clue without solving it from an underlying quiz, even when the clue is not at the bottom-most level of a branch.
  • Embodiments that change the orientation of a quiz-tree, by inverting it for example, are possible.
  • hints may be implicit to an indicator means for indicating a node without revealing it, such as a masking means.
  • the phrase-words are indicated at the beginning of a round.
  • Hints can also be provided by the visible categorization of lower level quizzes. Such suggestions of a quiz answer are called “implicit hints” to aid in the solution of a node.
  • Such implicit hints are not considered “clues” in terms of the discussion which follows. However, implicit hints could be represented as nodes so the distinction is somewhat arbitrary.
  • the quiz to solve the top-level answer does not necessarily have to be of the same type as the quizzes that are available to solve the nested quizzes nor do any of the quizzes in an iteration of the game necessarily have to be of the same type.
  • the quiz types associated with a node can generally be consistent or variable in respect to any other part of the hierarchy.
  • Embodiments can be implemented with many types of textual and word character quiz forms, such as word riddles, as well as non-textual and mixed forms including but not limited to quizzes involving mathematics, logic, pictures, symbols, video, sound, music, animation, video, real or virtual destinations, or any combination of quiz types.
  • a first embodiment of a QNQ is explained herein in the context of a game combining a ‘guess-the-phrase’ quiz with a question-and-answer trivia quiz.
  • the following embodiment is called a “combined-guess-the-phrase-and-trivia-quiz embodiment”.
  • the combined-guess-the-phrase-and-trivia-quiz embodiment is determined by many design decisions and is an example embodiment. The details presented are not intended to diminish the generality of either the combined guess-the-phrase-and-trivia-quiz embodiment or of other embodiments.
  • the combined-guess-the-phrase-and-trivia-quiz embodiment is generally described as a computer-based embodiment. It is also generally described as a game that is concurrently played by multiple players, although a single-player mode is assumed. Multi-player and single-player modes can be options under the present embodiment. They could also be offered as alternative embodiments. Where functionality specifically applies to multi-player variants it is construed as being part of a multi-player mode or embodiment only. Where functionality does not specifically apply to multi-player variants, it is construed to be included by either multi-player and single-player modes or embodiments.
  • the example top-level answer is an expression that is a common saying or proverb. It could also be a famous quotation, song lyric, poem, book excerpt, news headline, piece of knowledge or trivia, etc.
  • a quiz database will contain a satisfactory repository of top-level phrases and underlying quizzes for maintaining novelty. Each word under the top-level phrase is a clue. Clues are unexposed at the beginning of a “round”. They are generally either exposed or unexposed during a round. At the beginning of each round, the user interface and system will be refreshed with a new, unexposed top-level phrase with fresh underlying quizzes, which are stored in a quiz database.
  • one iteration of a QNQ has one quiz-tree.
  • the top-level expression is masked at the beginning of a single iteration of the game, called a “round”.
  • a round is complete when the top-level expression is solved or cannot be solved by the players. In the event that the top-level expression cannot be solved, the round is gracefully ended (not shown).
  • One or more rounds in some type of sequential context could be called a “match”.
  • the top-level expression contains at least one, and generally two or more words that can each be the subject of one or more additional, nested quizzes. Such words are called “quiz-able-words”. These are each an answer of a lower-level quiz. Each quiz-able word can have a number of available clues. There may also be any number of words that form a part of the top-level expression that are not subject to nested quizzes, and these are called “filler-words”.
  • the depth of available clues is constant in this embodiment.
  • the number of available clues per node is not constant throughout but is constant between node-levels four and three at one available clue per higher level node.
  • the quiz spanning node-levels two and one is a guess-the-phrase quiz to reveal the top-level expression.
  • Quizzes between node-levels three and two are for revealing the quiz-able-word(s) contained in the top-level phrase.
  • Quizzes between node-levels four and three are trivia-quizzes for finding clue(s) related to the quiz-able-words.
  • Quizzes between node-levels four and three are categorized. Categorization of node-level four clues can provide implicit hints at node-level three answers. Categorization does not provide a clue as defined herein.
  • quiz-able-words must be solved either cognitively or within the user interface.
  • a clue will be found by correctly answering a quiz related to a quiz-able-word.
  • the clue is the correct answer to a preceding quiz on a quiz-able-word, and is an expression that suggests its related quiz-able-word without necessarily solving the quiz-able-word. There could be multiple quizzes taken, and multiple clues obtained, for each quiz-able-word.
  • nodes of the present embodiment at node-levels two, three and four refer to the first, second and third nodes respectively.
  • the phrase component can appear in an integrated graphical user interface, such as the one indicated in FIG. 95 .
  • a score-and-control component 9530 will be displayed to each player during a round.
  • An answering-turn-display component, 470 of FIG. 4 will be displayed when the game is in an answering mode. In single-player mode, the answering-turn-display component is modified to show the remaining time without showing information about other players.
  • Words in the phrase component are referred to in terms of their order of appearance in the user interface.
  • the term “first quiz-able word” simply indicates that the word is the first quiz-able word to appear in the phrase.
  • Nodes for the top-level expression, word, trivia-quiz answer, and trivia-quiz question are logically related in a quiz-tree.
  • the quiz-tree for the sample iteration is shown in FIG. 14 .
  • the numbering of FIG. 14 is used.
  • FIGS. 2-13 the numbering of FIGS. 2-13 is used.
  • FIG. 2 represents the phrase component at the beginning of a round of play, in a mode called “navigation mode”.
  • avigation mode As discussed further, there are four modes of the phrase component. These modes are “navigation”, “quiz-able-word-guessing”, “phrase-guessing” and “finished”. Except for finished mode, the modes can alternate during a round.
  • phrase section 212 contains a sample masked phrase to be solved within one round.
  • a phrase appearing in the phrase section generally contains zero or more filler-words and one or more quiz-able-words.
  • Each character of each word in the phrase is initially masked.
  • An asterisk character is used to distinguish each character of unrevealed first, second and third filler-words 218 A 1 , 218 B 1 and 218 C 1 , with attached hyperlink.
  • a question mark character is used to distinguish each character of unrevealed first and second quiz-able-words, with attached hyperlink 220 A 1 and 220 B 1 .
  • a quiz-able-word or filler-word may be in a state of being masked or unmasked during a round.
  • the mask overlying each word is part of an indicator means. It provides an indication of its respective word, without revealing its word.
  • the indicator means includes a system means.
  • the system means can include providing a hyperlink anchor having the masking characters. Source anchor text, or an image could be used.
  • the hyperlink anchor indication can be provided by HTML generated by a servlet or Java Server Page run on an application server. The indication shows the existence of the word without exposing it. The indication also provides a user interface location for the unrevealed word. Players can take actions based on the indication.
  • the indication also offers a suggestion or implicit hint of the word answer. This suggestion is provided by the number and type of masking characters.
  • Each clue found on a quiz-able-word is displayed in a word-clue section 214 , which is demarcated by a word-clue section label 222 .
  • a quiz-able-word clue is to be presented in quiz-able-word-clue cell 230 A or 230 B below the quiz-able-word to which it pertains.
  • Each clue remains displayed until the end of a round.
  • the clues could disappear once their associated quiz-able-word answer is revealed.
  • Dashed horizontal lines used to fill in areas represent the color gray or some other color. Empty cells 228 beneath each of filler-words 218 A 1 , 218 B 1 and 218 C 1 are not subject to input and display nothing, and are therefore represented as grayed.
  • a player can initiate a guess at the top-level quiz by selecting a “Solve-phrase” button 216 A, visible in navigation mode.
  • the quiz-and-word-guessing-selector component takes the form of a menu over the phrase component just below unrevealed first quiz-able-word 220 A 1 , with attached hyperlink.
  • the quiz-and-word-guessing-selector component has a top-level menu 310 .
  • Top-level menu 310 contains a “word-guess” menu option 312 and a “find-a-clue” menu option 314 .
  • the quiz-and-word-guessing-selector component and, more particularly, the “find-a-clue” menu option 314 and its submenus, are part of a selector means.
  • the selector means includes a system means. This includes an arrow-cursor 99 and an input means, such as a computer mouse.
  • the selector means is presented for each quiz-able word until the top-level phrase is solved, or until a quiz-able word's quizzes are exhausted.
  • the selector means also uses a first exposure means which refers to the means that exposes a selected quiz question in the user interface.
  • the selector means allows a player to select one or more quizzes associated with each unsolved quiz-able-word.
  • the selector means could include a JavaScript function that specifies how to call a servlet and pass a node identification value for the quiz-able word.
  • the JavaScript function could be invoked from a hyperlink anchor for the quiz-able word.
  • the selector means can include a browser request from the client to a controller servlet(s). The request passes the node-identification value of the selected quiz-able word.
  • the controller servlet passes the request to Enterprise Java Beans comprising the game model.
  • Servlets and JSP files could be used to generate the HTML for the quiz-and-word guessing selector component.
  • An attachment means attaches the selector means to the indication of the quiz-able word.
  • the attachment means includes a system means.
  • the attachment means could include a hyperlink value or parameter for the quiz-able word's node-identification value. This is part of the hyperlink which provides the indication of the quiz-able word.
  • the attachment means also associates the quiz-able word hyperlink to the selector means. It can do this with HTML and JavaScript that invokes the selector means when there is a mouse over event.
  • Placing arrow cursor 99 over find-a-clue menu option 314 presents a flyout menu called a quiz submenu 330 . Its options are specific to the selected quiz-able-word and are based on the quizzes associated to it within the quiz-tree. Quiz submenu 330 presents the available quizzes by category. In the example, there is a television-quiz-category-menu option 332 A, a movies-quiz-category-menu option 332 B, a music-quiz-category-menu option 332 C, and a sports-quiz-category-menu option 332 D.
  • Each quiz-category-menu option 332 A- 332 D displays the number of available quizzes per category in brackets. For example, a number of quizzes 332 A 1 in the “television” category is shown to be five.
  • the quiz-and-word-guessing-selector component could be augmented, for example, to present the difficulty level of the available quizzes as well as subcategories.
  • the trivia-quiz component is a pop-up dialogue that displays a quiz and accepts player input.
  • the trivia-quiz component has a quiz heading 410 A.
  • Quiz heading 410 A includes a category 410 A 1 , a quiz number 410 A 2 per category, and a total number of available quizzes 410 A 3 in the category pertaining to the quiz-able-word ( 220 A of FIG. 14 ).
  • a quiz question 412 A 1 is displayed in a quiz question 412 A 1 , and an answer label 414 A showing players where to type a guess.
  • An answer-attempt textbox 416 will accept typed input from a player.
  • a point-deduction warning 418 reminds players of a deduction for a wrong answer.
  • a submit button 420 submits a guess in answer textbox 416 to the system for validation.
  • a clear-answer button 422 clears answer textbox 416 .
  • a pass-guess button 424 allows a player to pass on the quiz without guessing.
  • the trivia-quiz component and particularly quiz question 412 A 1 , is part of a first exposure means for exposing the information fragment comprised by the node identification value of the trivia-quiz-question node.
  • the first exposure means includes a system means for obtaining quiz-question data from a trivia-quiz-question node and passing it to the trivia-quiz component.
  • a first guessing means allows a guess to be provided for a trivia quiz.
  • the first guessing means includes functionality provided by the trivia-quiz component and particularly answer-attempt textbox 416 and submit button 420 . It also includes a system means for providing a guess to a first validation means. In the present embodiment, this functionality includes passing a node identification value representing the trivia-quiz question to the system. Submitting a guess to a controller servlet could be accomplished using Javascript and HTML. It could also be accomplished using an applet request to the controller servlet.
  • the first guessing means also includes a hand-pointer cursor 95 . Also included is an input means, such as a computer keyboard for example.
  • an answer-attempt textbox 416 and buttons 420 , 422 , and 424 are enabled for the player with answering privilege.
  • Players without answering privilege see a view of the trivia-quiz component as it is presented to the player with answering privilege.
  • players without answering privilege have 416 , 420 , 422 and 424 disabled on their display.
  • Answering-turn-display component 470 shows which player has answering privilege for multiplayer modes or embodiments.
  • a “turn” column heading 482 and a “player” column heading 472 help to arrange the display.
  • An alarm clock icon 476 and a number of seconds 480 adjacent to a player name 474 B, indicates which player has answering privilege and the amount of time that player has remaining to submit a guess before losing answering privilege.
  • a “next” indicator 478 adjacent to a player name 474 C indicates the next player in the answering privilege order.
  • a third player name 474 A is also indicated.
  • FIG. 5 depicts the trivia-quiz component with answer-attempt text 416 A typed into answer-attempt textbox 416 .
  • a hand-pointer cursor 95 over submit button 420 indicates that a player is about to submit an answer attempt. Pressing submit button 420 submits a guess to the system for validation.
  • a first validation means provides a validation result for the guess.
  • the first validation means includes a system means.
  • the system means includes using a node identification value for a trivia-quiz question to a get a node identification value of a corresponding trivia quiz answer. It includes getting the valid answer(s) for that node, and comparing them to the guess supplied from the interface.
  • a validation result of success or failure is determined by the system.
  • the validation process is dependent on quiz-to-answer matching criteria, explained further below.
  • An alternative embodiment might support a ‘first-response’ answering system.
  • a ‘first-response’ answering system the interface permits all players to guess at the same time.
  • the system registers the order in which players submit their guess. Validation of the guesses is performed in the order they are received by the system. Validation continues until there is a successful validation result.
  • the first player to successfully answer a quiz gains control to select the next action.
  • a new clue 230 A 1 is revealed in quiz-able-word clue cell 230 A as depicted in FIG. 6 .
  • First quiz-able-word 220 A 1 has first clue 230 A 1 , “Marty McFly”, a movie character.
  • Clue 230 A 1 is an expression that contains the first quiz-able-word, which will be revealed to be “fly”. Control will go to the player who successfully answered the most recent trivia-quiz. In alternative embodiments, control can be based on different rules.
  • Clue 230 A 1 is revealed by a second exposure means.
  • this includes a system means. This includes providing an answer, and the node identification value of the trivia-quiz-answer node to phrase component in navigation mode.
  • the second exposure means could for example include HTML anchor text, or a client applet field
  • the player with control might decide to guess at the quiz-able-word for which the clue was just found.
  • the player with control could also take any other valid action such as initiating a guess at the phrase, finding more clues on either quiz-able-word, revealing a filler-word, or potentially, choosing to pass control.
  • a “buy-word” menu 338 containing one item, is next displayed as shown in FIG. 7 .
  • a player might also have the option to guess at an individual filler-word. Only the player with control can select menu 338 .
  • Buy-word menu 338 is selected by a player releasing her mouse button with menu 338 selected with arrow cursor 99 . This action opens a confirmation pop-up dialogue window depicted in FIG. 8 .
  • the confirmation pop-up in FIG. 8 confirms the player's decision to buy the selected filler-word.
  • a word-cost warning label 510 reminds the player in control of the cost of buying a filler-word.
  • a word-cost message 512 asks the player in control if she wants to buy the selected word.
  • the player can proceed to buy the filler-word by placing hand-pointer cursor 95 over a “yes” button 514 and mouse clicking.
  • the player can also click a “no” button 516 , canceling the filler-word purchase and closing the confirmation pop-up dialogue window.
  • FIG. 9 depicts the phrase component in navigation mode with revealed second filler-word 218 B 5 that was revealed by buying a word. Further player action cannot be taken on revealed second filler-word 218 B 5 as shown by its lack of a hyperlink, which had been indicated by underlining.
  • the phrase component might appear similar to FIG. 9 , except with two clues revealed in first quiz-able-word cell 230 A.
  • the player with control might guess at unrevealed first quiz-able-word 220 A 1 , with attached hyperlink. This can be accomplished with word-guess menu option 312 depicted in FIG. 3 .
  • Second quiz-able-word's presumed second clue 230 A 2 “The Flight of the Phoenix”, is a movie name.
  • Clue 230 A 2 is also an expression containing a word derivative, “flight”, of the quiz-able-word, “fly”.
  • solve-phrase button 216 A of FIG. 9 disappears. It is replaced by a submit-guess button 216 B, a clear-guess button 216 C, a cancel-guess button 216 D, and a point-deduction warning 216 E of FIG. 10 .
  • a first quiz-able-word response 220 A 4 is accepted as text input from a player. The interface indicates that the field in which 220 A 4 is input is “active” by enlarging the font of 220 A 4 , placing a field border 97 around it, and placing an insertion cursor 98 in the field.
  • Unrevealed second quiz-able-word 220 B 2 without attached hyperlink and unrevealed first and third filler-words 218 A 2 and 218 C 2 , without attached hyperlink will not accept input or action, as depicted by their absence of underlining, and are therefore “inactive”.
  • FIG. 10 depicts two of the three characters of 220 A as having been inserted.
  • the phrase component in word-guessing mode, and particularly response 220 A 4 and button 216 B are part of a second guessing means. Also included is the quiz-and-word-guessing selector component, and particularly 312 .
  • the second guessing means includes a system means. This includes a means for inputting a guess in the interface. It also includes a means for submitting the node identification value of the quiz-able word node, along with the attempt, to the system for validation. This can include Javascript and HTML on the client, or an applet, for submitting a guess to a controller servlet.
  • Validation is provided by a second validation means which includes a system means. This includes accessing the valid answers associated with the node identification value for the quiz-able word, and comparing them with the supplied attempt to obtain a validation result.
  • revealed first quiz-able word 220 A 5 is provided by a third exposure means, including a system means. This includes obtaining the answer for the quiz-able word based on its node identification value, and returning it to the user interface.
  • the third exposure means could for example include HTML anchor text, or a client applet field which displays the answer.
  • the player with control might then click solve-phrase button 216 A ( FIG. 9 , 216 A only) to change the phrase component to phrase-guessing mode. The player might then begin completing the phrase as depicted in FIG. 11 .
  • a first clue 230 B 1 , for second quiz-able-word 220 B 3 in a guessing mode is “Appointment for Love”. This is a movie name that is an expression containing the second quiz-able-word “ointment”.
  • a second clue 230 B 2 , for 220 B 3 is “Cream”, the name of a music band. It is also a one-word expression with a word that is a synonym for the second quiz-able-word “ointment”.
  • FIG. 11 describes a situation where the player solving the phrase cognitively solves second quiz-able-word 220 B ( FIG. 14 ), and with that information, proceeds to solve the top-level phrase.
  • Phrase-guessing mode is akin to word-guessing mode, except it supports the solution of the phrase as opposed to only one word.
  • Submit-guess button 216 B submits the phrase attempt for validation.
  • Clear-guess button 216 C masks all previously unsolved words, in this case 218 A, 218 C and 220 B ( FIG. 14 ), leaving the phrase component in phrase-guessing mode.
  • Cancel-guess button 216 D ( FIG. 11 ) cancels phrase-guessing and returns the phrase component to navigation mode.
  • Point-deduction-warning label 216 E refers to a phrase guess. There could also be a “pass-guess” button, not shown, to pass answering privilege to the next player in a sequential answering system.
  • FIG. 11 shows a response 218 A 4 to the first filler-word, a response 218 C 4 to the third filler-word, and second quiz-able-word 220 B 3 in a guessing mode.
  • These words can accept player input and are active. Revealed first quiz-able-word 220 A 5 and revealed second filler-word 218 B 5 will not accept input and are inactive in the example. Active words are indicated by enlarged font, with field borders 97 around them.
  • Insertion cursor 98 starts at the beginning of response 218 A 4 . Once all characters of response 218 A 4 to the first filler-word are entered, insertion cursor 98 moves to the beginning of the next active word to facilitate all active fields receiving an input.
  • Insertion cursor 98 can be relocated with the forward and back keys of a standard keyboard, not shown. Insertion cursor 98 can also be relocated with text cursor 96 that appears when the cursor is placed near one of the active text fields for 218 A 4 , 218 C 4 , and 220 B 3 .
  • FIG. 12 depicts a continuation of the phrase component in phrase-guessing mode. Completed response 218 C 4 to the third filler-word, and response 220 B 4 to the second quiz-able-word are shown. It is presumed that hand-pointer cursor 95 is next placed over submit-guess button 216 B. Clicking button 216 B submits the attempted phrase solution to the system for validation. If unsuccessful, the phrase component would return to navigation mode and control would pass to the next player in the control sequence. If successful, the phrase component would be displayed in finished mode as depicted in FIG. 13 . In FIG. 13 , revealed first filler-word 218 A 5 , revealed third filler-word 218 C 5 , and revealed second quiz-able-word 220 B 5 are shown. These are in addition to previously revealed first filler-word 218 A 5 and previously revealed second filler-word 218 B 5 .
  • Finished mode indicates that the top-level phrase has been correctly answered.
  • the phrase component will not respond to player action and the round is over.
  • Finished label 216 F displays in place of the buttons and point-deduction warning of the other modes.
  • FIG. 14 portrays the logical structure of a sample round of the combined guess-the-phrase-and-trivia-quiz embodiment of a QNQ.
  • FIG. 14 uses the symbols introduced with FIG. 1 to describe a QNQ.
  • words, text and expressions, called information fragments are identified with the nodes to which they belong.
  • FIG. 14 includes information about the clues revealed to solve a top-level answer 1410 .
  • Quiz question 412 A 1 is the trivia-quiz question introduced in FIG. 4 . Its solution is first quiz-able-word's first clue 230 A 1 , at node-level 3 . It is one of two clues to first quiz-able-word 220 A. First quiz-able-word 220 A is one word of top-level answer 1410 .
  • Quiz question 412 A 2 is another quiz question, not previously specified. Its solution is the first quiz-able-word's second clue 230 A 2 discovered for the first quiz-able-word in the sample round. It is the other of two clues to first quiz-able-word 220 A.
  • Quiz questions 412 A 3 and 412 A 4 are quiz questions, not previously specified, whose answers become the second quiz-able-word's first clue 230 B 1 and second clue 230 B 2 respectively.
  • Second quiz-able-word 220 B was formally solved with the top-level phrase solution in the sample round. It is therefore depicted as a cognitively solved clue.
  • nodes are drawn to depict the domain of quizzes that were available in the sample round.
  • Filler-words 218 A, 218 B and 218 C round out node-level 2 .
  • Filler-word 218 B was revealed by buying a word in the sample round, and so is depicted with the symbol for a revealed clue 142 .
  • Filler-words 218 A and 218 C were only revealed with the solution of top-level answer 1410 . They are therefore depicted with the symbol for an unrevealed clue 146 .
  • FIG. 14 shows the categorization of the trivia-quizzes spanning node-levels three 114 and four 116 .
  • Trivia-quiz categories 1420 A were used to group quizzes that provide clues for first quiz-able-word 220 A. Categories include a sports category 1420 A 1 , a movies category 1420 A 2 , a music category 1420 A 3 and a television category 1420 A 4 . Categorization details are indicated on the first quiz-able-word only.
  • Trivia-quiz categories 1420 B are also used to group the quizzes that provide clues for second quiz-able-word 220 B.
  • FIG. 15 depicts the user interface flow without control and answering privilege details.
  • the phrase component in navigation mode 1510 (depicted in FIG. 2 ), is the starting point of the game. From it, a player can access the quiz-and-word-guessing-selector component, find-a-clue option 1520 (indicated by menus 314 , 332 A- 332 D of FIG. 3 ). This is used to open the trivia-quiz component 1560 (depicted in FIG. 4 ). Once the quiz is finished, 1510 becomes active again.
  • a player can access the quiz-and-word-guessing-selector component, guess-word option 1530 (indicated by 312 of FIG. 3 ). This leads to the phrase component in word-guessing mode 1570 (depicted in FIG. 10 ), and back to 1510 .
  • a player can access the phrase component in phrase-guessing mode 1540 (depicted in FIGS. 11 and 12 ). This can lead to the phrase component in finished mode 1580 (depicted in FIG. 13 ), and the end of a round 1590 . It can also lead back to 1510 .
  • a player can access the buy filler-word menu, and confirmation dialogue 1550 (depicted in FIGS. 7 and 8 ).
  • An embodiment can be supported by client, peer-to-peer, or distributed client/server software, hardware, data schema objects, data, and a database management system. Discussed is a ‘client-server’ architecture where the game is distributed between clients 1610 and server-side components 1650 , connected by the Internet 1640 .
  • Client devices could include various networked I/O devices. Shown is a desktop computer, 1612 , a notebook or sub notebook computer, 1614 , a handheld gaming device, 1616 , and a cell phone/PDA with gaming capabilities, 1618 . In general, the term “electronic gaming device” can apply to all of these and any electronic device that enables players to play the game.
  • Internet access 1630 connects the clients to the server side components.
  • the client devices support software to play the game.
  • Software can include a web browser, or custom game software downloaded and installed, or both.
  • Third party or vendor components can be included.
  • Client side code can be provided dynamically by a web server (or servers) 1652 .
  • the clients provide players with a graphical user interface and an input means.
  • Input means can include alphanumeric keypads, touch screens, and computer mice.
  • Outputs include a screen to display the user interface.
  • Server-side components 1650 could include a web server 1652 .
  • Web server 1652 communicates with clients 1610 through an Internet connection 1670 .
  • Web server 1652 maintains a network connection 1672 to an application server (or servers) 1654 .
  • Application server 1654 manages multiple games in progress.
  • Application server 1654 maintains a network connection 1674 to a database server (or servers) 1656 , which manages 1676 a quiz database and associated schema 1658 .
  • a web client 1610 might present the game to players as dynamic HTML pages, created from Java Servlets and/or JavaServer PagesTM assembled in a web tier by a J2EE server machine represented by 1654 . These are delivered by a web server 1652 such as Apache. Alternative embodiments could include a custom user interface Java application or Applet, otherwise accessing the game through controllers in the server tier.
  • the controllers could also run on a J2EE server machine represented by 1654 .
  • Session beans could be used on server 1654 to converse with the clients and pass messages to the model.
  • the model could be supported by Enterprise Java Beans and entity beans (entities) running on server 1654 , representing persistent data stored in database entities.
  • XML extensible markup language
  • web services For example, quiz trees, could be represented in XML. Their information could be accessed from a server through web services. Some embodiments could have part or all of an XML quiz tree distributed to the clients. Client side scripting languages, such as JavaScript, could also be used.
  • a database server 1656 could run an Oracle®, MySQL® or other relational database management system to access a quiz database and associated schema 1658 .
  • the database server hardware, software, system and schema objects, and data comprise a persistent computer storage means. This allows for storing and accessing clues and answers, for relating clues and answers in clue/answer pairs, and for relating clue/answer pairs to one another. Schema relevant to the present embodiment are described in FIGS. 33-41 and FIG. 52 .
  • a persistent computer storage means supports various other aspects of the present embodiment. Embodiments using file-system based persistent computer storage means are also possible. XML and other tagged persistent data files are possible.
  • Standalone single-player embodiments might include support for downloading and accessing quiz-trees on the client from a Java client application.
  • Quiz-trees might also be loaded onto the clients from physical media, such as a game cartridge or DVD.
  • Client side software could run the game disconnected from server side components.
  • Multi-player, peer to peer embodiments of the game with Internet-connected clients are also possible.
  • Quiz-trees could be custom built by the players. Players could begin with one or more personal, custom expressions with the quiz database supplying the remaining expressions and facilitating creation of a custom quiz-tree. Quiz-trees could be built on the server using client or web-client software, or built on the client and uploaded to the server.
  • an embodiment of the game could be played with players in the same physical proximity as in a television or Internet game show.
  • Another embodiment could combine the broadcast of a studio-based game with an interactive mode of the game being played by spectator/players.
  • a QNQ could be made out as a physical media game, with a card or notebook reference system connecting the main level trivia phrase or expression with the word-level quizzes.
  • a simplified embodiment of the game could be presented on paper or cardboard, such as a ‘scratch card’ or perforated window method for hiding and revealing clues.
  • a physical media implementation might rely on the pictorial tree view of FIG. 1 .
  • a QNQ could combine physical media with a computer based embodiment.
  • the sample combined guess-the-phrase-and-trivia-quiz embodiment could support different player modes, including “multi-player/auto-phrase”, “multi-player/hosted”, and “solitary player”.
  • multi-player/auto-phrase mode there are multiple players and the quiz-trees are selected automatically by the game system. Automated quiz-tree selection could be tuned by category, difficulty, quiz-type, etc., based on match parameters set by an administrator or agreed to by the players.
  • multi-player/hosted mode a participant plays the role of a host and selects predefined or custom quiz-trees, for the players.
  • solitary player mode there is only one player. Other embodiments are possible.
  • the user interface presented to each player depends on whether the player has control or answering privilege of the game at a give moment.
  • Players without the ability to act on the game at a given moment would be presented with an application-sharing view. This would include they key user interface components of the player with control or answering privilege.
  • players without the ability to act would be presented the same user interface components as the player with control/answering privilege.
  • functionality for initiating or responding to quizzes would be disabled.
  • a combination of approaches can also be used.
  • a scoring system is provided for the present embodiment.
  • Alternative scoring systems can be devised for different embodiments.
  • cumulative points may be earned for solving clues, revealing quiz-able-words, and especially for solving the top-level expression.
  • the player with the most points at the end of a round would win the round, and the player with the most points at the end of a match would win the match.
  • Players are deducted points for making incorrect guesses to quizzes, and/or solutions to quiz-able-words, and/or to the top-level expression.
  • the goal of each player is to solve the next-higher and eventually the top-level word or expression with the minimum number of clues necessary.
  • this goal is encouraged by awarding a high ratio of the total points available in a round to the player who solves the top-level phrase. Also, awarding points for new clues on a quiz-able-word is discontinued once a certain number of clues have been revealed on that word.
  • the same goal is encouraged by having a maximal number of point availability at the beginning of a round. Cumulative point deductions are made for quizzes taken, wrong guesses, and filler-words unmasked.
  • a round is completed with the solution of the top-level expression. As mentioned, not all possible clues have to be revealed, nor do all quiz-able-words have to be the subject of one or more quizzes.
  • the goal of a round is to get the most points, which favors the player who solves the top-level expression.
  • Ann solves first clue 230 A 1 of the first quiz-able-word, Sally solves its second clue 230 A 2 , and then solves first quiz-able-word 220 A. Then suppose Betty solves first and second clues 230 A 3 and 230 A 4 of the second quiz-able-word, and solves the phrase, by-passing the solution of the second quiz-able-word 220 B. Suppose that Betty makes three incorrect guesses, Ann makes one, and Sally one. Suppose Ann buys one filler-word.
  • Betty will have earned 500 points for solving the phrase. Betty also earns 62.5 points (“(1 ⁇ 4) ⁇ 250”) each for two clues on the second quiz-able-word. Betty is also attributed 62.5 points as if she had solved one more clue on the second quiz-able-word. Betty is also attributed 62.5 points for revealing the second quiz-able-word when the phrase was solved. Betty is penalized 150 points for incorrect guesses. Betty's point total for the round is therefore 600.
  • Ann will have earned 62.5 points for solving one clue on the first quiz-able-word. Ann is also penalized 50 points each for an incorrect guess and for buying a filler-word. Ann's point total for the round is therefore negative 37.5.
  • Sally will have earned 62.5 points for solving one clue on the first quiz-able-word. Sally is also attributed 62.5 points as if she had solved one more clue on the second quiz-able-word. Sally is also attributed 62.5 for solving the second quiz-able-word. Sally is also penalized 50 points for an incorrect guess and her point total for the round is therefore 137.5.
  • Point totals for each round are accumulated by players until the match is finished. The player with the highest point total at the end of the match wins the match.
  • the number of points available for solving a quiz-able-word was the same for solving a clue on a quiz-able-word (actually or by attribution), but these could be different.
  • a player who solves a clue might have an opportunity immediately following to make a guess without penalty in the case of a wrong attempt.
  • a major variation would include adjustments for quiz difficulty, discussed further below.
  • Other variations might include having player input into the number of points to be distributed for a round.
  • quizzes are selected during a round of play based on player actions.
  • the system could select quizzes randomly or based on an integrated game of chance.
  • Quizzes might pop-up based on some constant or random time interval or a musical rhythm.
  • quizzes were selected from defined categories. Other embodiments might emphasize sub-categorization, and quiz-difficulty ratings. Others might provide highly custom quizzes or to provide a handicapping system.
  • Control is the ability of a player to determine the next step of the game through the user interface. In multi-player modes, control is passed between players.
  • a control system refers to the management of defined rules to distribute control between players.
  • certain actions can be taken by a player with control. These include selecting a quiz on a quiz-able-word, unmasking a filler-word, guessing at a quiz-able-word or guessing at the top-level phrase. Control is passed from player to player in logical sequence based on the result of actions during a round. Control to start each round within a match is passed from player to player sequentially.
  • Answering rules denote the rules for answering a quiz without necessarily having control.
  • Different embodiments could include token-based or “sequential” answering systems, and “first-response” answering systems.
  • players take turns attempting to answer a quiz, starting with the player in control. If the player in control passes or makes an incorrect guess, answering privilege passes to the next player in the control sequence.
  • a first-response answering system all players can answer a quiz at the same time.
  • the game system determines the first player to answer correctly and awards points to that player. Control passes to the player who solved the quiz.
  • Control and answering rules in combination with scoring rules, can support the objective of solving the top-level quiz in as few steps as possible, or some other objective.
  • the control and answering rules also tend to recognize previous achievement in the round. This is done by allowing a player to continue to control the round if no other player is having greater current success.
  • time limits apply.
  • a time limit applies to control wherein a player with control must take an action within a certain time.
  • a time limit also applies to answering privilege wherein a player must make a guess within a certain time.
  • a visual aid such as answering-turn-display component 470 shown in FIG. 4 , presents this time to the players. When a player does not act within the respective time limit, control or answering privilege is passed to the next player in the control sequence.
  • control sequence of the players is established.
  • the first player in the sequence has control at the start of the first round.
  • the control sequence does not change during a match.
  • control passes to the player who follows the player who had control at the beginning of the previous round.
  • a player with control can generally; guess at the phrase; guess at any unsolved quiz-able-word; reveal any unrevealed filler-word, and; initiate a trivia-quiz on a quiz-able-word, if applicable. Revealing a filler-word is restricted to once per possession of control.
  • phrase-guess If a phrase-guess is successful, the round is finished. If a quiz-able-word is solved or a filler-word is revealed, control is maintained. If a phrase or work guess is unsuccessful, control is passed the next player in sequence.
  • an answering privilege index is set, following the same sequence as the control sequence and starting with the player with control. All players have an opportunity to attempt the trivia-quiz until it is solved. If the trivia-quiz remains unsolved, the player with control maintains control. If solved, the player who provided the solution is granted control.
  • a player with answering privilege may voluntarily pass answering privilege to the next player in the control sequence. Answering privilege is lost if the time limit is exceeded. There are also rules to end a round when no further actions can be taken.
  • control might pass automatically after a certain number of actions are taken regardless of whether the previous actions were successful.
  • Players may also be able to interrupt control for certain actions, such as attempting the top-level phrase.
  • Linked quizzes are formed on the basis of matching criteria that determine if a quiz answer is a suitable clue to a one-higher level quiz.
  • An example matching criterion could be that a quiz-able-word is contained somewhere in a clue offered by a one-lower level quiz. Such was the case in the sample round, where quiz-able word “fly” was contained in the clue “Marty McFly”. Synonym matching was also shown.
  • the quiz-able-word-to-clue-matching criteria are displayed to all players at the start of a round or match as applicable (not shown). The criteria would continue to be viewable through some user interface component (not shown).
  • An embodiment could provide user configurable matching criteria that could be determined by the players or the host depending on the player mode.
  • the number of total available quizzes available or quizzes-per-category available for each quiz-able-word does not have to be constant. However, there might be some minimum threshold of quizzes available for each quiz-able-word in an expression in order for the higher-level expression to qualify for use in an embodiment.
  • Quiz-to-answer-matching criteria are rules used by a validation system. These rules specify how closely a guess must match a stored quiz answer in order for the attempt to be deemed successful. One example matching rule would be to dismiss the relevance of character case in any guess.
  • Quiz-to-answer-matching criteria would apply to a text-based trivia-quiz guessing design, as indicated by FIG. 5 . It would also apply to a text-based quiz-able-word and phrase guessing design as indicated by FIGS. 10 and 12 respectively.
  • Quiz-to-answer-matching criteria apply where user input is typed and where some leeway is to be provided. Quiz-to-answer matching criteria do not apply where guesses are of multiple choice or list selection types.
  • the correct answer from the quiz database is presented as the clue to the one-higher quiz.
  • Other embodiments might present the guess instead.
  • the present embodiment includes a runtime computer program means.
  • the runtime computer program means is described above and in the class diagram shown in FIG. 17 and in the sequence diagrams shown in FIGS. 18-32 , 46 - 51 , and 53 - 55 .
  • a class diagram of the present embodiment is shown in FIG. 17 .
  • Classes 1709 thru 1720 represent the model.
  • a node (“Node”) class 1711 generalizes the different types of nodes.
  • An aggregation 1751 represents a child node referencing zero-to-one parent nodes. In the present embodiment, all nodes except the top-level expression are in a relationship in which they are a child node having exactly one parent node.
  • An aggregation 1752 represents a parent node referencing zero-to-many child nodes. Terminal nodes at the end of a tree branch reference zero child nodes. Other nodes reference one or more child nodes.
  • Instantiated nodes are identified by a unique identifier, such as an object ID.
  • node Four subtypes of node are: a guess-the-phrase-phrase (“GuessThePhrPhr”) class 1714 ; a guess-the-phrase-word (“GuessThePhrWd”) class 1717 ; a trivia-quiz-answer (“TriviaQuizAnswer”) class 1716 ; and a trivia-quiz-question (“TrivQuizQues”) class 1713 .
  • these classes represent nodes at levels one, two, three and four respectively.
  • Classes 1714 , 1717 , 1716 , and 1713 are shown by lines 1772 , 1761 , 1760 , and 1759 , respectively, as well as 1792 , as being generalized by 1711 .
  • An aggregation 1763 indicates that a guess-the-phrase-phrase class 1714 instance is a parent of one-to-many guess-the-phrase-word class 1717 instances.
  • An aggregation 1764 indicates that a guess-the-phrase-word class 1717 instance is the child of exactly one guess-the-phrase-phrase class 1714 instance. Guess-the-phrase-word class 1717 instances can be quiz-able-words or filler-words.
  • An aggregation 1770 indicates that a guess-the-phrase-word class 1717 instance is a parent of zero-to-many trivia-quiz-answer class 1716 instances.
  • An aggregation 1762 indicates that a trivia-quiz-answer class 1716 instance is a child of exactly one guess-the-phrase-word class 1717 instance.
  • An aggregation 1758 indicates that a trivia-quiz-answer class 1716 instance is a parent to exactly one trivia-quiz-question class 1713 instance.
  • Aggregation 1757 indicates that a trivia-quiz-question class 1713 instance is a child of exactly one trivia-quiz-answer class 1716 instance.
  • a trivia-quiz-category class (“TrivQuizCat”) class 1710 instance holds all of the categories that trivia-quizzes can be placed in.
  • An aggregation 1750 indicates the trivia-quiz-question class 1713 referencing the trivia-quiz-category class 1710 with multiplicities of one and zero-to-many.
  • An aggregation 1753 indicates a tree (“Tree”) class 1712 referencing node class 1711 with multiplicities of many and one. Aggregation 1753 is shown linking the tree class 1712 with node class 1711 ; the actual links are between tree class 1712 and derived node classes 1713 , 1714 , 1716 and 1717 .
  • Each node belongs to exactly one tree and each tree has “many” nodes. In the present embodiment, a tree has a practical lower limit of five nodes. In other embodiments, a “tree” could have as few as three nodes, representing a linear sequence. While not essential at runtime, tree class 1712 represents quiz-trees as units and has quiz-tree level attributes and methods.
  • An aggregation 1754 indicates a round (“Round”) class 1715 referencing tree class 1712 with multiplicities of one and one.
  • a tree can be in one round, and the same tree can be in no more than one round in the same match.
  • a round can have only one tree in the present embodiment.
  • An aggregation 1773 indicates a match (“Match”) class 1718 referencing round class 1715 with multiplicities of one-to-many and one.
  • An aggregation 1766 indicates match class 1718 referencing a player (“Player”) class 1720 with multiplicities of one-to-many and one.
  • An aggregation 1778 indicates round class 1715 referencing player (“Player”) class 1720 with multiplicities of one-to-many and one
  • a game (“Game”) class 1719 instance is responsible for; running a match, instantiating objects, accessing data via the other model classes, receiving messages from the view via a controller (“Controller”) class (or classes) 1740 , and presenting the view.
  • Aggregations 1756 , 1769 , and 1771 indicate game class 1719 referencing trivia-quiz-question class 1713 , trivia-quiz-answer class 1716 , and guess-the-phrase-word class 1717 , respectively, with generalized multiplicities of zero-to-many and one.
  • Embodiments can support node persistence whereby nodes are instantiated as required. Depending on the management of node persistence, different multiplicities can arise.
  • An aggregation 1765 indicates game class 1719 referencing guess-the-phrase-phrase class 1714 with multiplicities of one and one. In the present embodiment, the game would only ever access one top-level expression at a time.
  • the multiplicity of one on the game side in aggregations 1756 , 1769 , 1771 , and 1765 reflects that the same node is not shared by more than one game, since nodes contain state information.
  • Aggregation 1774 indicates game class 1719 referencing player class 1720 with multiplicities of one-to-many and one. Embodiments with players accessing more than one game are also possible. Association 1767 indicates an association between game class 1719 and match class 1718 with multiplicities of one and one. Association 1768 indicates an association between game class 1719 and round class 1715 with multiplicities of one-to-many and one. Association 1755 indicates game class 1719 accessing tree class 1712 .
  • a clock (“Clock”) class 1709 maintains time for purposes of managing answering privilege and control.
  • Aggregation 1775 indicates game class 1719 referencing clock class 1709 with multiplicities of one and one.
  • time to respond is maintained in the model and there is no need to maintain time for control and answering privilege simultaneously. Embodiments with other multiplicities are possible.
  • the view is represented by classes numbered between 1721 and 1732 . Shown are associations between the game class and the view classes. On the view side a lower multiplicity of zero indicates that the component does not have to be instantiated at any given moment of time.
  • player(s) without the ability to take action on the game will have view access to the interface presented to the player who can take action on the game. This can be accomplished through application sharing technology.
  • the player with ability to take action has control access. View access allows players without control to see what actions are being taken on the game. If answering privilege is assigned to a player, only the player with answering privilege will be able to take an action on the game. If answering privilege is not assigned to any player, only the player with control will be able to take an action on the game.
  • FIGS. 4 and 5 Shown are a quiz-and-word-guessing-selector-graphical-user-interface (“Q_W_GuessSelGUI”) class 1726 , depicted in FIG. 3 , a buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) class 1727 , depicted in FIG. 7 , and a trivia-quiz-GUI (“TriviaQuizGUI”) class 1725 , depicted in FIGS. 4 and 5 .
  • Associations 1786 , 1787 , and 1782 indicate an association between game class 1719 , and view classes 1726 , 1727 , and 1725 , respectively. Each of these associations is represented by a line extending from game class 1719 to the respective view class. In each of associations 1786 , 1787 , and 1782 , the multiplicities are zero-to-one and one.
  • a navigation-mode-GUI (“NavModeGUI”) class 1729 Shown are a navigation-mode-GUI (“NavModeGUI”) class 1729 , first depicted graphically at runtime in FIG. 2 , a word-guessing-mode-GUI (“WdGuessingModeGUI”) class 1728 , depicted in FIG. 10 , a phrase-guessing-mode-GUI (“PhrGuessingModeGUI”) class 1730 , depicted in FIGS. 11 and 12 , and a finished-mode-GUI (“FinishedModeGUI”) class 1731 , depicted in FIG. 13 .
  • Classes 1728 through 1731 are generalized by a phrase-component-GUI (“PhraseComponentGUI”) class 1732 .
  • Classes 1731 , 1729 , 1730 , and 1728 are shown by lines 1788 , 1789 , 1790 , and 1791 , respectively, as well as 1793 , as being general
  • Associations 1783 , 1785 , and 1784 indicate an association between game class 1719 , and view classes 1729 , 1728 , and 1730 , respectively. Each of these associations is represented by a line extending from game class 1719 to the respective view class. In each of associations 1783 , 1785 , and 1784 , the multiplicities are zero-to-one and one. Furthermore, only-one type of phrase-component-GUI class 1732 will be displayed at a time.
  • Controller (“Controller”) class 1740 represents one or more controllers accessed by view classes 1725 through 1730 .
  • the controller class passes messages from the applicable view classes to game class 1719 .
  • Association 1779 represents all of the associations between controller class 1740 and classes 1725 through 1730 . In each case there is a multiplicity of one on controller class 1740 and zero-to-one on view classes 1725 through 1730 .
  • Association 1780 shows controller class 1740 accessing game class 1719 .
  • TurnGUI turn-GUI
  • Cntl&ScoreGUI control-and-score-GUI
  • Classes 1721 , 1724 and 1731 are not subject to player action and do not access controller class 1740 .
  • Associations 1776 , 1777 , and 1781 indicate an association between game class 1719 , and view classes 1721 , 1724 , and 1731 respectively.
  • the multiplicities for associations 1776 and 1781 are zero-to-one and one.
  • the multiplicities for association 1777 are one and one.
  • an instance of game class 1719 initializes a new game, the player(s), a new match, and a new round.
  • the game instance creates an instance of guess-the-phrase-phrase class 1714 . It also obtains the top-level expression for the round by initializing guess-the-phrase-word class 1717 objects for each word in the phrase.
  • the game instance takes the key information from these nodes and passes it to navigation-mode-GUI class 1729 object, which it instantiates.
  • the game sets control to a player in the model.
  • the game creates sessions with each gaming device, and passes a player reference to each client.
  • the game also instantiates control-and-score-GUI class 1724 . In multi-player modes, the game also grants view access to players without the ability to take action. It also manages alternation between control and view access as control and answering privilege alternate.
  • a unique identifier or reference for each node is sent to the clients.
  • the view passes this reference to a controller class 1740 instance with user interface events directed to the model.
  • Each node that is available for display or querying in the view is therefore related back to the model.
  • FIG. 18 shows the sequence diagram for displaying the quiz-and-word-guessing-selector component depicted in FIG. 3 .
  • a navigation-mode-GUI (“NavModeGUI”) object 1810 is an instance of navigation-mode-GUI class 1729 . It is depicted as the phrase component in navigation mode, shown in FIG. 2 .
  • Navigation-mode-GUI object 1810 sends a message 1850 to get the quiz-and-word-guessing-selector component (“getQ_W_GuessSelGUI( . . . )”) to a controller object 1814 .
  • Controller object 1814 is an instance of controller class 1740 .
  • Message 1850 requests the display of the quiz-and-word-guessing-selector GUI.
  • Message 1850 is invoked by a mouse over event over a hyperlinked quiz-able-word.
  • the message passes a guess-the-phrase-word node ID (“GTPWdNdID”) 1850 A, which is a unique id for the quiz-able-word on which the event occurred.
  • GTPWdNdID guess-the-phrase-word node ID
  • a reference 1850 B to the current player (“player”) is also passed.
  • controller object 1814 calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( . . . )”) method 1852 of game object 1816 .
  • Game object 1816 is an instance of game class 1719 .
  • Game object 1816 calls its validate-control (“validateControl( . . . )”) method 1854 to validate that player 1850 B has control.
  • Game object 1816 then calls a get-node-state (“getNodeState( )”) method 1856 of a guess-the-phrase-word object 1818 for the guess-the-phrase-word node ID.
  • Object 1818 is an instance of class 1717 .
  • a node can be in various states which resolve to the node being either available or unavailable for further activity. For example, a node could be “answered”, making it unavailable for further activity.
  • game object 1816 calls its set-active-node (“setActiveNode( . . . )”) method 1859 to set guess-the-phrase-word node ID 1850 A as the active node. Setting a node as active indicates it to be the node set to receive further player actions. If the node state is not available, error handling (not shown) will reject the sequence and send an appropriate response to the user interface.
  • Condition check 1858 in the model should not find an unavailable node. This is because the user interface is updated to reflect the states in the model.
  • Game object 1816 next calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( )”) method 1860 of 1818 .
  • Object 1818 returns trivia-quiz-by-category-total (“trivQuizByCatTot”) 1862 , an array of the total number of trivia-quizzes by category. It next invokes a display quiz-and-word-guessing-selector-GUI (“displayQ_W_GuessSelGUI( . . .
  • Object 1812 is an instance of class 1726 .
  • Quiz-and-word-guessing-selector-GUI object 1812 is graphically depicted in FIG. 3 .
  • the steps in FIG. 18 are generally part of the selector means. They include obtaining trivia-quiz summary information from the node identification value of the quiz-able word. This is displayed in the quiz-and-word-guessing selector prior to selection of a quiz.
  • FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI.
  • Quiz-and-word-guessing-selector-GUI object 1812 for the player with control sends a get-trivia-quiz-GUI (“getTriviaQuizGUI( . . . )”) message 1950 to controller object 1814 .
  • Message 1950 includes guess-the-phrase-word node ID 1850 A, a reference 1850 B to the player, and a category (“cat”) 1950 A which the next trivia-quiz is to be selected from.
  • controller object 1814 sends a get-trivia-quiz-by-category (“getTrivQuizByCat( . . . )”) message 1952 to game object 1816 , to get the next trivia-quiz by category, passing 1850 A, 1850 B, and 1950 A.
  • Game object calls its validate-control method 1854 to validate that player 1850 B has control. It then calls a next-trivia-quiz-by-category-index (“nextTrivQuizbyCatIndx( . . . )”) method 1954 of guess-the-phrase-word object 1818 for the guess-the-phrase-word node ID, passing category 1950 A.
  • Method 1954 increments a trivia-quiz-category index by one.
  • Game object 1816 next calls a lookup-next-trivia-quiz-answer-node (“lookupNextTQANd( . . . )”) method 1956 of guess-the-phrase-word object 1818 for the guess-the-phrase-word node, to get a reference to the next trivia-quiz answer node in an array for supplied category 1950 A.
  • lookupNextTQANd( . . . ) a lookup-next-trivia-quiz-answer-node
  • Game object 1816 next calls a lookup-trivia-quiz-question-node (“lookupTQQNd( )”) method 1958 of a trivia-quiz-answer object 1910 for the trivia-quiz-answer node.
  • Object 1910 is an instance of class 1716 .
  • Object 1910 returns a reference 1959 to the trivia-quiz-question node (“TQQNd”).
  • Game object 1816 next calls a get-node-state (“getNodeStateo”) method 1960 of a trivia-quiz-question object 1912 for the trivia-quiz-question node (“TQQNd:TrivQuizQues”).
  • Object 1912 is an instance of class 1713 .
  • game object 1816 calls its set-active-node (“setActiveNode( . . . ”) method 1962 to set trivia-quiz-question node ID (“TQQNdID”) 1962 A as the active node.
  • Game object 1816 next calls a get-question-information (“getQuestionInfo( )”) method 1964 of 1912 .
  • Methods 1950 to 1964 of FIG. 19 can generally be classified as describing part of the selector means for selecting the trivia quiz.
  • Game object 1816 next updates the view. It sends a close-quiz-and-word-guessing-selector-GUI (“closeQ_W_GuessSelGUI( )”) message 1966 to close quiz-and-word-guessing-selector-GUI object 1812 . Game object 1816 next sends a display-trivia-quiz-GUI (displayTriviaQuizGUI( . . . )”) message 1968 , instantiating a trivia-quiz-GUI object 1914 . Object 1914 is an instance of class 1725 . Message 1968 passes trivia-quiz-question node ID 1962 A, and trivia-quiz question 1968 A which is the text for the question.
  • An example of this text as represented in the interface is 412 A 1 of FIG. 4 .
  • Message 1968 also passes a trivia-quiz-by-category-index (“trivQuizByCatIndx”) parameter 1968 B.
  • Parameter 1968 B is the index of the question for the given category 1950 A.
  • Parameter 1968 B enables the interface to represent 410 A 2 of FIG. 4 .
  • Message 1968 also passes a trivia-quiz-by-category-total (“trivQuizByCatTot”) parameter 1968 C. This is the total number of trivia-quizzes or trivia-quiz questions within the selected category 1950 A for the given guess-the-phrase-word.
  • Parameter 1968 C is represented as 410 A 3 in FIG. 4 .
  • Message 1968 also passes category 1950 A. This is represented as 410 A 1 in FIG. 4 .
  • Game object 1816 also displays answering-turn-display component 470 of FIG. 4 .
  • method 1968 of FIG. 19 provides detail on the first exposure
  • a display-turn-GUI (“displayTurnGUI( )”) message 1970 instantiates a turn-GUI object 1916 .
  • Message 1970 passes; an array of players, in order of control (“controlSeq”) 1970 A, an index 1970 B of 1970 A for the player with answering privilege (“ansPrivIndex”), and a reference to a “clock” object 1970 C, to keep the time remaining for an answer.
  • controlSeq an array of players, in order of control
  • ansPrivIndex an index 1970 B of 1970 A for the player with answering privilege
  • clock object 1970 C
  • FIG. 20 shows the sequence diagram for attempting a trivia-quiz to the point of the game object checking the attempt.
  • Trivia-quiz-GUI object 1914 for the player with control sends a submit-guess (“submitGuess( . . . )”) message 2050 to controller object 1814 , passing; trivia-quiz-question node ID 1962 A, reference 1850 B to the player, and an attempt (“attempt”) 2050 A representing the text guess submitted by the player.
  • Method 2050 deals with a first guessing means.
  • the rest of FIG. 20 generally deals with a first validation means.
  • Controller object 1814 sends a validate-attempt (“validateAttempt( . . . )”) message 2052 to game object 1816 , passing 1962 A, 1850 B, and 2050 A.
  • game object 1816 calls its validate-answering-privilege (“validateAnsPriv( . . . )”) method 2054 to validate that the player has answering privilege. It then calls a lookup-trivia-quiz-answer-node (“lookupTQANd( )”) method 2056 of trivia-quiz-question object 1912 for the trivia-quiz-question node, getting a reference 2057 to the trivia-quiz answer node (“TQANd”).
  • Game object 1816 next calls a get-node-state (“getNodeState( )”) method 2058 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node.
  • getNodeState( ) a get-node-state
  • game object 1816 calls a set-active-node (“setActiveNode( . . . )”) method 2059 for a trivia-quiz-answer node, to set a trivia-quiz-answer node ID (“TQANdID”) 2059 A as the active node.
  • Game object 1816 next calls a get-valid-answers (“getValidAnswers( )”) method 2060 of object 1910 , which returns an array of valid answers (“validAnswers[ ]”) 2061 . Each valid answer in array 2061 is considered a successful match for the corresponding question.
  • Object 1816 next calls its check-attempt (“checkAttempt( . . . )”) method 2062 to check attempt 2050 A against array of valid answers 2061 . The result is ‘success’ or ‘failure’, which determines the subsequent sequence.
  • FIG. 21 shows part one of the sequence when a trivia-quiz guess gives a successful result.
  • Game object 1816 sends a set-node-state (“setNodeState( . . . )”) message 2150 to trivia-quiz-question object 1912 for the trivia-quiz-question node.
  • Message 2150 passes an “answered” value 2150 A which sets the node-state to “answered”.
  • Game object 1816 also sends a set-node-state (“setNodeState( . . . )”) message 2152 to trivia-quiz-answer object 1910 for the trivia-quiz-answer node, passing 2150 A. This sets the node state of 1910 to “answered”.
  • Game object 1816 calls a get-answer (“getAnswer( )”) method 2154 of 1910 . This method gets the exact answer for the trivia-quiz question that will be displayed in the user interface. Game object 1816 next calls a lookup-guess-the-phrase-word-node (“lookupGTPWNd( )”) method 2156 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node to get a reference to the guess-the-phrase-word node. Game object 1816 then calls a lookup-guess-the-phrase-phrase-node (“lookupGTPPNd( )”) method 2158 to get a reference 2160 to the (top-level) guess-the-phrase-phrase node. Game object 1816 next calls its set-active-node (“setActiveNode( . . . )”) method 2162 to set the active node to guess-the-phrase-phrase node ID (“GTPPNdID”) 2162 A.
  • Game object 1816 next initiates an update-score (“updateScore( . . . )”) sequence 2164 , passing a reference to the player (“player”) 1850 B whose score is to be updated and the points (“points”) 2164 A, by which the score is to be updated.
  • the score is updated in a round object 2110 , which is a current instance of round class 1715 .
  • the score is also updated in a match object 2112 , which is a current instance of match class 1718 .
  • Update-score sequence 2140 is covered with FIG. 22 .
  • game object 1816 calls its set-control-index (“setControlIndex( . . . )”) method 2166 to set control to current player 1850 B.
  • Game object 1816 calls its reset-answering-privilege-index (resetAnsPrivIndex( )”) method 2168 to reset the answering-privilege index to the index number of the player with control.
  • FIG. 22 shows the update-score sequence diagram.
  • Game object 1816 calls an update-score (“updateScore( . . . )”) method 2250 of round object 2110 , passing a reference to the player 1850 B whose score is to be changed, and the points (“points”) 2164 A by which the player's score is to be changed. It then calls a get-scores (“getScores( )”) method 2252 of round object 2110 to get an array of player scores for the current round.
  • update-score (“updateScore( . . . )”) method 2250 of round object 2110 , passing a reference to the player 1850 B whose score is to be changed, and the points (“points”) 2164 A by which the player's score is to be changed. It then calls a get-scores (“getScores( )”) method 2252 of round object 2110 to get an array of player scores for the current round.
  • Game object 1816 also calls an update-score (“updateScore( . . . )”) method 2254 of match object 2112 , passing 1850 B and 2164 A. It then calls a get-scores (“getScores( )”) method 2256 of match object 2112 to get an array of player scores for the match.
  • update-score (“updateScore( . . . )”) method 2254 of match object 2112 , passing 1850 B and 2164 A. It then calls a get-scores (“getScores( )”) method 2256 of match object 2112 to get an array of player scores for the match.
  • FIG. 23 shows part two of the sequence when the attempt for a trivia-quiz is correct, continuing from FIG. 21 .
  • Game object 1816 sends a close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2350 to close trivia-quiz-GUI object 1914 .
  • Game object 1816 also sends an update-navigation-mode-GUI (“updateNavModeGUI( . . . )”) message 2352 to navigation-mode-GUI object 1810 .
  • Message 2352 passes trivia-quiz-answer-node ID 2059 A and a trivia-quiz answer (“triviaAnswer”) 2352 A to be displayed by navigation-mode-GUI object 1810 .
  • message 2352 generally deals with a second exposure means.
  • Game object 1816 also calls an update-control-and-score-GUI (“updateCntrl&ScoreGUI( . . . )”) message 2354 to control-and-score-GUI (“Cntrl&ScoreGUI”) object 2310 .
  • Object 2310 is an instance of class 1724 .
  • Score-and-control component 9530 is depicted in FIG. 95 .
  • Message 2354 passes an array of player scores for the round (“round.player.score[ ]”) 2354 A, and match (“match.player.score[ ]”) 2354 B, an array of players, in order of control (“controlSeq”) 1970 A, and an index 2354 C of 1970 A for the player with control (“cntrlIndex”).
  • FIG. 24 shows the sequence diagram when a trivia-quiz guess is incorrect.
  • Game object 1816 initiates update-score sequence 2164 , passing player reference 1850 B and points 2164 A. The score is updated in round object 2110 and match object 2112 as detailed in update-score sequence 2140 ( FIG. 22 ).
  • Game object 1816 then calls its next-answering-privilege (“nextAnsPriv( )”) method 2450 to pass answering privilege to the next player in sequence.
  • next-answering-privilege next-answering-privilege
  • An alternative combination fragment 2452 contains two mutually exclusive message sequences.
  • Condition 2454 describes a case where one or more players have yet to respond to the current trivia-quiz.
  • Condition 2454 checks that control index 2354 C value is not equal to answering-privilege index 1970 B value.
  • an update-trivia-quiz-GUI (“updateTrivQuizGUI( . . . )”) message 2456 is sent to trivia-quiz-GUI object 1914 , passing trivia-quiz-question node ID 1962 A.
  • a close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2460 is sent to trivia-quiz-GUI-object 1914 .
  • Game object 1816 then calls its reset-answering-privilege-index (“resetAnsPrivIndex( )”) method 2168 to reset the answering-privilege index.
  • Method 2168 sets the answering-privilege index to the control index.
  • Game object 1816 next calls a lookup-trivia-quiz-answer-node method 2056 of trivia-quiz-question object 1912 for the trivia-quiz-question node.
  • Game object 1816 It gets a reference (not shown) to the trivia-quiz-answer-node. Game object 1816 then calls lookup-guess-the-phrase-word-node method 2156 to get a reference to the guess-the-phrase-word node (not shown). Game object 1816 next calls lookup-guess-the-phrase-phrase-node method 2158 to get a reference (not shown) to the guess-the-phrase-phrase node. Game object 1816 next calls its set-active-node method 2162 to set the active node to guess-the-phrase-phrase node ID 2162 A. Game object 1816 then sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810 , passing guess-the-phrase-phrase node ID 2162 A.
  • game object 1816 sends an update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310 .
  • Message 2354 includes round and match scores 2354 A and 2354 B, as well as control sequence array 1970 A and control index 2354 C.
  • FIG. 25 shows the sequence diagram when a player passes on making an attempt at solving a trivia-quiz.
  • a pass (“pass( . . . )”) message 2550 is sent from trivia-quiz-GUI object 1914 to controller object 1814 .
  • Message 2550 includes trivia-quiz-question node ID 1962 A and a reference 1850 B to the player.
  • Controller object 1814 sends a pass message 2552 to game object with parameters 1962 A and 1850 B.
  • Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850 B has answering privilege. If for any reason player 1850 B does not have answering privilege, error handling (not shown) occurs. Game object 1816 next calls next-answering-privilege method 2450 to pass answering privilege to the next player in sequence. Alternative combination fragment 2452 , describing the remainder of the sequence, is the same as in FIG. 24 .
  • FIG. 26 shows the sequence diagram when a player attempts to solve a quiz-able-word.
  • navigation-mode-GUI object 1810 is replaced by a word-guessing mode-GUI object 2610 based on an exchange of messages from the view to the controller and game and back to the view (not shown).
  • Object 2610 is an instance of class 1728 from FIG. 17 .
  • a submit-word-guess (“submitWordGuess( . . . )”) message 2650 is sent from word-guessing-mode-GUI (“WdGuessingModeGUI”) object 2610 to controller object 1814 .
  • WdGuessingModeGUI word-guessing-mode-GUI
  • Passed in message 2650 are guess-the-phrase-word node ID 1850 A, a reference 1850 B to the player, and a word attempt (“wordAttempt”) 2650 A.
  • Message 2650 deals with a second guessing means.
  • the rest of FIG. 26 generally deals with a second validation means.
  • controller object 1814 send a validate-word-attempt (“validateWordAttempt( . . . )”) message 2652 to game object 1816 , passing 1850 A, 1850 B and 2650 A.
  • Game object 1816 next calls its validate-answering-privilege method 2054 , validating if player 1850 B has answering privilege. It next calls get-node-state method 1856 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node.
  • game object 1816 calls its set-active-node method 1859 to set the active node to the guess-the-phrase-word node ID 1850 A.
  • Game object 1816 then calls a get-valid-answers (“getValidAnswers( )”) method 2654 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. Method 2654 returns an array of valid word answers (“validWdAnswers[ ]”) 2655 . Game object 1816 next calls its check-word-attempt (“checkWordAttempt( . . . )”) method 2656 to check word attempt 2650 A against array of valid answers 2655 .
  • FIG. 27 shows the sequence diagram when an attempt at a quiz-able-word is correct.
  • Game object 1816 calls a set-node-state (“setNodeState( . . . )”) method 2750 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node.
  • Message 2750 passes an “answered” value 2150 A which sets the node-state to “answered”.
  • Game object 1816 next calls a get-answer (“getAnswer( )”) method 2752 of object 1818 .
  • Method 2752 gets the exact answer for the word that will be displayed in the user interface.
  • Game object 1816 then calls lookup-guess-the-phrase-phrase node method 2158 to get a reference 2160 to the guess-the-phrase-phrase node.
  • Object 1816 next calls its set-active-node method 2162 to set the active node to guess-the-phrase-phrase node ID 2162 A.
  • Game object 1816 next initiates update-score sequence 2164 , passing player reference 1850 B and points 2164 A.
  • the score is updated in round object 2110 , and in match object 2112 as detailed in update-score sequence 2140 ( FIG. 22 ).
  • game object 1816 calls its set-control-index method 2166 to set control to the current player 1850 B.
  • Game object 1816 next calls its reset-answering-privilege-index method 2168 to reset the answering-privilege index to the index number of the player with control.
  • Game object 1816 next sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810 .
  • Message 2352 passes 2162 A and a word answer (“wordAnswer”) 2753 to be displayed in the phrase component.
  • wordAnswer a word answer
  • Game object 1816 also sends update control-and-score-GUI message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
  • FIG. 28 shows the sequence when a guess at a quiz-able-word is incorrect.
  • Game object 1816 sends update-score messages 2164 , passing 1850 B and 2164 A.
  • the score is updated in round object 2110 and match object 2112 as detailed in update-score sequence 2140 .
  • Game object 1816 calls its next-control (“nextControl( )”) method 2850 to pass control to the next player in the control sequence. Object 1816 then calls its reset-answering-privilege-index method 2168 .
  • Game object 1816 next calls lookup-guess-the-phrase-phrase-node method 2158 of object 1818 to get a reference to the guess-the-phrase-phrase node. It next calls its set-active-node method 2162 , setting the active node to guess-the-phrase-phrase node ID 2162 A. Game object 1816 then sends update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810 , passing guess-the-phrase-phrase node ID 2162 A. Object 1816 then sends update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
  • FIG. 29 shows the sequence for buying a filler-word.
  • a buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) object 2910 sends a buy-filler-word (“buyFillerWord( . . . )”) message 2950 to controller object 1814 , passing guess-the-phrase-word node ID 1850 A and player reference 1850 B. Controller object 1814 sends a buy-filler-word message 2952 to game object 1816 , passing 1850 A and 1850 B.
  • a buy-filler-word-check (“buyFillerCheck( )”) method 2954 checks that a filler-word was not bought since control was reset. If the check shows that a filler-word was bought since control was reset, error handling occurs (not shown). This should not occur, since the view is updated to prevent players from taking invalid actions. An index for method 2954 is maintained when control is reset (not shown).
  • Game object 1816 calls validate-control method 1854 .
  • Object 1816 next calls get-node-state method 1856 of the guess-the-phrase-word object.
  • game object 1816 calls set-active-node method 1859 to set the active node to guess-the-phrase-word node ID 1850 A.
  • Game object 1816 then calls get-answer method 2752 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node, to get the filler-word answer.
  • Object 1816 then calls set-node-state method 2750 of 1818 to set the node state to “revealed” 2955 .
  • Game object 1816 next sends update-score messages 2164 , passing 1850 B and 2164 A. Score is updated in round object 2110 , and match object 2112 as detailed in update-score sequence diagram 2140 .
  • Game object 1816 sends an update message 2352 to navigation-mode-GUI object 1810 , passing phrase node ID 2162 A, word node ID 1850 A, and word answer 2753 . Game object 1816 also sends an update message 2354 to control-and-score-GUI object 2310 , passing round and match scores 2354 A and 2354 B, control sequence array 1970 A and control index 2354 C.
  • FIG. 30 shows the sequence for an attempt to solve the top-level phrase.
  • navigation-mode-GUI object 1810 is replaced by phrase-guessing mode-GUI object 3010 based on an exchange of messages from the view to the controller and game and back to the view (not shown).
  • Phrase-guessing-mode-GUI object 3010 sends a submit-phrase-guess message 3050 to controller object 1814 , passing 2162 A, 1850 B, and a phrase-attempt array containing the phrase attempt (“attempt[ ]”) 3050 A.
  • Phrase-attempt array 3050 A is indexed for each word in the phrase and contains a null value for previously revealed words.
  • Controller object 1814 sends a submit-phrase-guess message 3052 to game object 1816 , passing 2162 A, 1850 B, and 3050 A.
  • Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850 B has answering privilege.
  • Game object 1816 then calls get-node-state method 3054 of a guess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase node.
  • game object 1816 calls its set-active-node method 2162 to set the guess-the-phrase-phrase node 2162 A as active.
  • a loop-combined fragment 3058 shows the sequence for validating the phrase attempt word by word. Loop 3058 continues while condition 3059 is met. Condition 3059 checks that the previous word in the phrase that was submitted for checking was found to be correct. For each “n” 3056 A word in the phrase, game object 1816 calls a lookup-nth-guess-the-phrase-word node (“lookupGTPWdNd(n)”) method 3056 of guess-the-phrase-phrase object 3012 .
  • lookupGTPWdNd(n) lookupGTPWdNd(n)
  • Game object 1816 next calls a get-nth-word-node-state (“getNodeState(n)”) method 3062 of n-th guess-the-phrase-word object 3060 A.
  • getNodeState(n) a get-nth-word-node-state
  • game object 1816 calls a get-valid-answers (“getValidAnswers( )”) method 3064 of the n-th guess-the-phrase-word object 3060 A.
  • Game object 1816 calls a check-word-attempt (“checkWdAttempt( )”) method 3066 to validate n-th word attempt 3050 B against an array of valid answers 3065 . If the loop executes without breaking, the phrase attempt is valid; otherwise it is invalid.
  • checkWdAttempt( ) check-word-attempt
  • FIG. 31 shows the sequence for an incorrect attempt to solve the top-level phrase.
  • Game object 1816 sends update-score messages 2164 , passing 1850 B and 2164 A.
  • the score is updated in round object 2110 , and match object 2112 as detailed in update-score sequence 2140 shown in FIG. 22 .
  • Game object 1816 calls its next-control method 2850 to pass control to the next player in the control sequence. Game object 1816 then calls reset-answering-privilege-index method 2168 . Game object 1816 next sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810 , passing guess-the-phrase-phrase node ID 2162 A. Game object 1816 also sends message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
  • FIG. 32 shows the sequence for a correct attempt to solve the phrase.
  • Game object 1816 calls set-node-state method 3250 of guess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase node to set its state as “answered” 3250 A.
  • Game object 1816 next calls get-phrase-answer (“getPhraseAnswer( )”) method 3252 of guess-the-phrase-phrase object 3012 .
  • Object 3012 returns phrase answer (“PhraseAnswer[ ]”) 3253 , a sequential array of words comprising the phrase.
  • Game object 1816 sends update-score messages 2164 . Score is updated in round object 2110 , and match object 2112 as detailed in update-score sequence 2140 shown in FIG. 22 .
  • Game object 1816 sends a draw-finished-mode-GUI (“drawFinishedModeGUI( . . . )”) message 3254 to a finished-mode-GUI-object 3210 , which replaces navigation-mode-GUI object 1810 .
  • Message 3254 passes 2162 A and phrase answer 3253 .
  • Game object 1816 also sends message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
  • the features of the present embodiment, as well as other embodiments to follow, are supported by a quiz database.
  • the relational database design contains structures for supporting a game, as well as for building quiz-trees and maintaining history information.
  • FIGS. 33 to 40 A discussion of the schema used for quiz-generation is included in the discussion of FIGS. 33 to 40 . Some of the entities discussed in FIGS. 33-40 also supply quiz data at game runtime. Custom computer code facilitates the generation of complete quiz-trees from data in the quiz-generation schema. Nodes are recursively associated in a node entity, providing a basis for linking clues and answers to form quizzes, and for linking quizzes to one another.
  • a quiz database can contain raw information on which quiz-trees are to be built.
  • FIG. 33 shows expression (“Expression”) entity 3310 which represents expressions, or phrases that can be used to make quizzes. In the context of the schema, expressions have their words stored separately.
  • Each expression in expression entity 3310 is identified by a primary key “ExpressionID” 3310 A.
  • a primary key column 3352 is indicated by a symbol “PK” 3350 .
  • Attributes are used to help classify expressions to assist in customizing and automating the assembly of quiz-trees.
  • Attributes for expression entity 3310 include; a number of words in an expression (“NumWords”) 3310 B, a number of quiz-able-words in an expression (“NumQuizzableWords”) 3310 C, and a number of filler or non-quiz-able-words in an expression (“NumNonQuizzableWords”) 3310 D.
  • FIG. 33 shows the relationship between expression entity 3310 and a canned quiz (“CannedQuiz”) entity 3311 .
  • Canned quiz entity 3311 contains data for “canned” quizzes.
  • a canned quiz question (clue) represented as a question-text (“QuestionTxt”) attribute 3311 B, is a string that is not stored as its component words. It is generally an expression (having more than one word), although not a schema expression as defined.
  • a corresponding answer to a canned quiz question is represented by primary key 3310 A of expression entity 3310 . This is a foreign key “ExpressionID_Answ” 3311 A in 3311 .
  • a symbol “PF” 3354 is used to denote a foreign-key-primary-key column 3356 .
  • An example of a canned-quiz question is 412 A 1 of FIGS. 4 and 5 .
  • An example of an answer to a canned quiz is the answer to 412 A 1 , shown as 416 A of FIGS. 5 and 230 A 1 of FIG. 6 .
  • the purpose of storing a quiz answer by its words, using expression entity 3310 is to assist in relating those words, represented as nodes, to other nodes in a quiz-tree.
  • There is a cardinality of zero-or-one 3358 between canned quiz entity 3311 and expression entity 3310 indicating there are other types of expressions besides canned-quiz answers.
  • Canned quiz entity 3311 also has attributes “TotalCorrectAttempts” 3311 C and “TotalWrongAttempts” 3311 D to record history information. Attributes 3311 C and 3311 D can be used to customize quizzes by difficulty as calibrated by player responses. They are exemplary of the type of supporting data that can be stored.
  • a subject category (“SubjectCategory”) entity 3314 contains a primary key, category code (“CategoryCode”) 3314 A and an attribute “CategoryDescription” 3314 B.
  • Composite entity “CannedQuiz_SubjectCategory” 3312 contains a composite key comprising foreign-key-primary-key column 3312 A from primary key 3311 A of entity 3311 , and foreign-key-primary-key column 3312 B from primary key 3314 A of entity 3314 .
  • Subject category information is stored at the expression-level to assist in building quiz-trees comprising categorized quizzes.
  • Expression entity 3310 has a one-to-many relationship with an expression-word (“ExpressionWord”) entity 3410 .
  • Entity 3410 represents the words that are contained in expressions.
  • Entity 3410 has a composite primary key consisting of a foreign-key-primary-key column 3410 A from primary key 3310 A of entity 3310 and a word-number-in-expression (“WordNumInExp”) attribute 3410 B.
  • Attribute 3410 B records the word position in its expression.
  • Entity 3410 contains attribute “IsDictionaryWordYN?” 3410 C. This attribute indicates whether or not an expression-word is a dictionary-word.
  • a dictionary-word is a word derived from an external or custom dictionary.
  • Entity 3410 contains attribute “IsQuizzableWordYN?” 3410 D. Attribute 3410 D indicates whether or not an expression-word is a quiz-able-word in its expression. If a word is not a quiz-able-word it is a filler-word.
  • Expression-word entity 3410 contains attribute “IsCapitalizedYN?” 3410 E. Attribute 3410 E indicates whether or not an expression-word appears with capitalization in its phrase, such as a first or last name.
  • a dictionary-word (“DictionaryWord”) entity 3416 contains words that are sourced from a dictionary. Entity 3416 contains a primary key “DictionaryWordID” 3416 A and a word-text “WordTxt” attribute 3416 B, for dictionary-word text.
  • Composite entity “ExpressionWordDictWord” 3412 has a composite primary key 3412 P referencing primary key columns 3410 A, 3410 B, and 3416 A. These are foreign-key-primary-keys 3412 A, 3412 B, and 3412 C respectively in entity 3412 .
  • Non-dictionary word (“NonDictionaryWord”) entity 3418 contains words that are provided from outside a dictionary. Practically, it represents a second repository of words. Entity 3418 has a primary key “NonDictionaryWordID” 3418 A and word-text (“WordTxt”) attribute 3418 B, that has the text of a non-dictionary word.
  • Composite entity “ExpressionWordNonDictWord” 3414 has a composite primary key 3414 P consisting of primary key columns 3410 A, 3410 B, and 3418 A.
  • FIG. 35 shows entities for relating dictionary words to one another.
  • An entity dictionary-word—dictionary-word—contains (“DictWd_Dict:Contains”) 3510 is used to relate a word in the dictionary with another word in the dictionary based on the fact that a given word contains another word.
  • Entity 3510 has a foreign-key-primary-key 3510 P consisting of a foreign key column 3510 A from primary key 3416 A of dictionary word entity 3416 , and a second foreign key column 3510 B from primary key 3416 A of entity 3416 .
  • An example record would contain a “DictionaryWordID” representing the word “appointment” and a “DictionaryWordID 1 ” representing word “ointment”.
  • dictionary-word—dictionary-word—contained by “DictWd_DictWd:ContainedBy” 3511 is similar to entity 3510 .
  • An example record would contain a DictionaryWordID of “ointment” and a DictionaryWordID 1 of “appointment”. Given the word “ointment” a lookup would get the word “appointment”. A match on these two words allows a node representing the expression “Appointment for Love” to be related to a node representing the word “ointment”.
  • a dictionary-word—dictionary-word—alternate spelling (“DictWd_DictWd:AlternateSpelling”) entity 3512 might contain as an example record the dictionary word IDs for the words “Africa” and “Afrika”.
  • a dictionary-word—dictionary-word—tense of (“DictWd_DictWd:TenseOf”) entity 3514 might contain as an example record the dictionary word IDs for the words “fly” and “flew”.
  • a dictionary-word—dictionary-word—abbreviation-or-long-form (“DictWd_DictWd:AbrevOrLongFm”) entity 3516 might contain as an example record the dictionary word IDs for the words “Doctor” and “Dr”.
  • a dictionary-word—dictionary-word—synonym-of (“DictWd_DictWd:SynonymOf”) entity 3520 might contain as an example record the dictionary word IDs for the words “fly” and “bug”.
  • a dictionary-word—dictionary-word—antonym-of (“DictWd_DictWd:AntonymOf”) entity 3522 might contain as an example record the dictionary word IDs for the words “love” and “hate”.
  • a dictionary-word—dictionary-word—root-or-derivative-of (“DictWd_DictWd:RootOrDerivOf”) entity 3518 has a foreign-key-primary-key 3518 P.
  • Primary key 3518 P consists of foreign key column 3518 A from primary key 3416 A of dictionary word entity 3416 , and a second foreign key column 3518 B from primary key 3416 A of entity 3416 .
  • Entity 3518 might contain as an example record the dictionary word IDs for the words “fly” and “flight”. Other relations for relating dictionary words are possible.
  • FIG. 36 depicts the entities used to find an expression that contains a dictionary word that is a root or derivative of a dictionary word contained in a given expression.
  • An “ExpWdDictWd_DictWd_DictWd:RootOrDerivativeOf” entity 3610 is a composite of “ExpressionWordDictWord” entity 3412 and “DictWd_DictWd:RootOrDerivOf” entity 3518 . Its primary key 3610 P is concatenated from complete primary key 3412 P of entity 3412 and complete primary key 3518 P of entity 3518 . Entity 3610 has foreign-key-primary-key columns 3610 A, 3610 B, 3610 C, 3610 D, and 3610 E from primary key columns 3412 A, 3412 B, 3412 C, 3518 A, and 3518 B respectively. There is a record in 3610 for each match of 3412 C in 3412 to 3518 A in 3518 .
  • Entity 3612 is a composite entity of entities 3610 and 3412 . Its primary key is composed of foreign-key-primary-key columns 3612 A- 3612 F. These refer to primary key columns 3412 A, 3412 B, 3412 C, 3610 A, 3610 B, and 3610 C respectively. Entity 3612 also has foreign keys 3612 G and 3612 H referring to 3610 D and 3610 E respectively.
  • Entity 3612 serves as a lookup table to find expressions that contains a word that is a root or derivative of a word in another, given expression. Included with the expressions that are found from 3612 is the position 3612 B of the root or derivate word in its expression.
  • entity 3610 In the sample iteration, entity 3610 , or an equivalent query or view, is used to lookup “ExpressionID 1 ” 3612 D representing trivia-quiz answer “The Flight of the Phoenix” 230 A 2 from “ExpressionID” 3612 A representing top-level phrase “A fly in the ointment” 1410 . This is accomplished through a relationship of the word “fly” in the top-level expression with its derivative word “flight” in a trivia-quiz answer expression. Entity 3610 can therefore be called the “lookup-expression-having-a-root-or-derivative-word” entity.
  • top-level expression 1410 was related to trivia-quiz answer 230 A 1 by virtue of a ‘contained-by’ relationship, whereby the word “fly” is contained by “McFly”. Building composite entities like 3610 and 3612 by replacing entity 3518 with entity 3511 from FIG. 35 would give a “lookup-expression-having-a-containing-word” entity for this purpose.
  • top-level expression 1410 was related to trivia-quiz answer 230 B 1 by virtue of another ‘contained-by’ relationship, whereby the word “ointment” is contained by “appointment”.
  • Expressions 1410 and 230 B 1 would also be related by a “lookup-expression-having-a-containing-word” entity.
  • top-level expression 1410 was related to trivia-quiz answer 230 B 2 by virtue of a ‘synonym’ relationship, whereby the word “ointment” is a synonym of “Cream”. Building composite entities like 3610 and 3612 by replacing entity 3518 with entity 3520 from FIG. 35 would give a “lookup-expression-having-a-synonym” entity for this purpose.
  • ‘lookup-expression-where-a-word-contains’, ‘lookup-expression-having-an-alternate-spelling’, ‘lookup-expression-having-a-tense-of’, ‘lookup-expression-having-an-abbreviation-or-long-form’, and ‘lookup-expression-having-an-antonym’ entities are built. Many other types of lookup entities are possible. In general, such entities are called ‘lookup-expression’ entities.
  • FIG. 37 shows a Node entity 3710 . It has a node ID (“NodeID”) primary key 3710 A. Entity 3710 includes attribute “IsExpressionYN?” 3710 B which flags whether a node is an expression. Redundant attribute “IsNotAnExpressionYN?” 3710 C flags whether a node is not an expression. Entity 3710 includes a one to zero-or-one self-join 3710 J with parent-node-ID (“ParentNodeID”) 3710 D being a foreign key referring to primary key 3710 A. Also included is a redundant attribute node-level (“NodeLevel”) 3710 E which represents a node-level of a node in its tree. Also included is a tree ID (“TreeID”) foreign key 3710 F.
  • NodeLevel parent-node-ID
  • Node entity 3710 has a one-to-zero-or-one cardinality 3711 with a non-expression-node (“NonExpressionNode”) entity 3712 .
  • Primary key 3710 A serves as a foreign-key-primary-key 3712 A of entity 3712 .
  • Attributes of 3712 include flags indicating a type of non-expression-node.
  • Node entity 3710 has a one-to-zero-or-one cardinality 3713 with an expression-node (“ExpressionNode”) entity 3714 .
  • Primary key 3710 A serves as a foreign-key-primary-key column 3714 A in entity 3714 .
  • Another foreign-key-primary-key column, an expression ID (“ExpressionID”) 3714 B column comes from primary key 3310 A of entity 3310 .
  • a one-to-zero-or-many cardinality 3715 exists between entities 3310 and 3714 . Together, 3714 A and 3714 B form the primary key of entity 3714 .
  • Flag attributes of 3714 indicate a type of expression-node.
  • An is-it-a-derived-clue-yes-or-no (“IsDerivedClueYN?”) attribute 3714 C indicates whether an expression-node is a clue (to a one-higher answer) that is derived from the quiz-generation schema. For example, a node can be related to a one-higher node on the basis of entity 3612 of FIG. 36 .
  • An is-it-the-answer-to-a-canned-quiz-question-yes-or-no (“IsCannedQuizAnswerYN?”) attribute 3714 D indicates whether an expression-node is the answer to a ‘canned’ (non-expression) quiz-question.
  • An is-it-a-guess-the-phrase-phrase-yes-or-no (“IsGuessThePhrasePhraseYN?”) attribute 3714 E indicates whether an expression-node is a guess-the-phrase-phrase.
  • FIG. 38 depicts two different types of non-expression-node entities used in the detailed embodiment.
  • Node ID 3712 A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3810 A of a canned-quiz-question-node (“CannedQuizQuestionNode”) entity 3810 .
  • Column 3810 A is part of the primary key of entity 3810 .
  • Foreign-key-primary-key column 3810 B from primary key 3311 A from entity 3311 is the other column 3810 B of the primary key of entity 3810 .
  • entity 3810 Also included in entity 3810 are flag attributes; has-multiple-choice-answer-yes-or-no (“HasMCAnswerYN?”) 3810 C and has-text-input-answer-yes-or-no (“HasTextInputAnswerYN?”) 3810 D.
  • Node ID 3712 A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3812 A of a guess-the-phrase-word-node (“GuessThePhraseWordNode”) entity 3812 .
  • Foreign-key-primary-key columns 3812 B and 3812 C from primary key columns 3410 A and 3410 B of entity 3410 are the other primary key columns of entity 3812 .
  • FIG. 39 shows more detail for entities 3810 and 3812 .
  • “CannedQuizQuestionNode” entity 3810 has ExpressionID_Answ foreign-key-primary-key column 3810 B from primary key 3311 A from “CannedQuiz” entity 3311 .
  • “GuessThePhraseWordNode” entity 3812 has primary key columns 3410 A and 3410 B of “ExpressionWord” entity 3410 as foreign-key-primary-key columns 3812 B and 3812 C.
  • “ExpressionID” primary key column 3410 A is “ParentExpressionID” primary key column 3812 B in GuessThePhraseWordNode entity 3812 .
  • “WordNumInExp” primary key column 3410 B in entity 3410 is “WordNumInParentExp” primary key column 3812 C in entity 3812 .
  • FIG. 40 introduces a tree (“Tree”) entity 4010 .
  • Tree entity 4010 has a tree ID (“TreeID”) primary key 4010 A. All nodes belonging to a single quiz-tree can be identified by their tree ID on the basis of a foreign key 3710 F.
  • the tree ID in node entity 3710 is strictly-speaking redundant in terms of identifying all the nodes belonging to some unidentified ‘tree’. This is because the unique nature of node ID primary key 3710 A combined with foreign key 3710 D allows all nodes belonging to one (unidentified) ‘tree’ to be related back to that tree, in their proper position. However, representing distinct trees allows trees to be managed as distinct entities.
  • Tree entity 4010 is-template-yes-or-no “IsTemplateYN?” attribute 4010 B, and an average-player-rating “AveragePlayerRating” attribute 4010 C.
  • Attribute 4010 B records whether a tree is a standard template. If not, it might have been created by a game player for limited or one-time use.
  • Attribute 4010 C records average ratings of trees as provided by player feedback. This attribute presumes functionality for surveying player satisfaction.
  • a tree-created-by-player-ID (“TreeCreatedByPlayerID”) foreign key 4010 D from a player entity records the player who created a tree, if applicable, presuming functionality for player creation of trees.
  • FIG. 41 introduces a player (“Player”) entity 4110 . It has a player ID (“PlayerID”) primary key 4110 A, and attributes; first name (“FName”) 4110 B and last name (“LName”) 4110 C.
  • PlayerID player ID
  • FName first name
  • LName last name
  • primary key “PlayerID” 4110 A is a foreign key “TreeCreatedByPlayerID” 4010 D in tree entity 4010 .
  • Composite tree-player (“Tree_Player”) entity 4112 has foreign-key-primary-key columns 4112 A and 4112 B referencing primary keys 4010 A and 4110 A respectively.
  • Entity 4112 includes a player-rating-of-tree (“PlayerRatingOfTree”) attribute 4112 C that records player ratings of trees. Individual player ratings are used to derive “AveragePlayerRating” 4010 C of tree entity 4010 .
  • FIG. 42 introduces a tree-formulator (“:TreeFormulator”) object 4210 that organizes quiz data into quiz-trees.
  • object 4210 is initialized with tree-formula-initialization method (“initTreeFormulator( )”) 4250 . No initialization parameters are shown, but arguments defining quiz-tree parameters are possible.
  • Object 4210 next sends an insert-tree (“insertTree( )”) message 4252 to tree entity 4010 .
  • the relational database management system uses Data Manipulation Language (“DML”) to insert a new record in entity 4010 .
  • DML Data Manipulation Language
  • a unique tree ID (“TreeID”) primary key 4010 A value is generated from a database sequence. Entity 4010 next returns tree ID (“TreeID”) 4254 to object 4210 .
  • DML Data Manipulation Language
  • Tree-formulator object 4210 next sends a select-expression (“selectExpression( . . . )”) message 4256 to expression entity 3310 .
  • a parameter 4256 A is included with message 4256 to select where “IsSuitableForGuessThePhraseYN?” attribute 3310 G is set to “Y” for “yes”.
  • Message 4256 selects one record.
  • Program handling (not shown) ensures that the same expression is not pulled more than once for the same quiz-tree as well as to randomize selection of expressions. Additional parameters could be sent to specify the type of expression to be selected.
  • Expression entity 3310 could have additional attributes related to it to assist in fine-tuning the types of expressions composed into in a quiz-tree.
  • Expression entity 3310 returns values 4258 ; an expression ID (“ExpressionID”) 4258 A, and number of words (“NumWords”) 4258 B from columns 3310 A and 3310 B respectively of 3310 .
  • Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4260 to node entity 3710 .
  • a parameter 4260 A is sent to set column 3710 B, “IsExpressionYN?” to “Y” for “yes”.
  • Other parameters 4260 B are sent, namely to set “IsNotAnExpressionYN?” to “N” for “no”.
  • a parameter 4260 C is included to set column 3710 D to NULL, indicating that there is no parent node. This is an appropriate value only for a top-level node.
  • a parameter 4260 D is included to set column 3710 E to “1”. Also passed is Tree ID 4254 which goes in column 3710 F.
  • the DML inserts a record in entity 3710 .
  • a node ID (“NodeID”) is generated in column 3710 A from a database sequence.
  • a node ID (“NodeID”) value 4262 is returned to tree-formulator object 4210 .
  • Object 4210 next sends an insert-expression-node (“insertExpressionNode( . . . )”) message 4264 to expression-node entity 3714 .
  • Message 4264 passes node ID 4262 and expression ID 4258 A which go in columns 3714 A and 3714 B respectively.
  • Other parameters 4264 A set columns 3714 C and 3714 D both to “N” for “no”.
  • Parameter 4264 B sets column “IsGuessThePhrasePhraseYN?” 3714 E to “Y”.
  • tree-formulator object 4210 uses a set-level-one-parent-node-ID (“setLevellParentNodeID( . . . )”) method 4266 to set a parent-node-ID variable to the (current) node ID 4262 of the top-level expression.
  • setLevellParentNodeID( . . . ) set-level-one-parent-node-ID
  • the tree-formulator sequence continues with FIG. 43 .
  • An outer loop 4348 loops “n” times, where “n” is set to the number of words “NumWords” 4258 B in the expression.
  • the tree-formulator object sends a select-expression-word (“selectExpressionWord( . . . )”) message 4350 to expression-word entity 3410 .
  • Message 4350 passes expression ID 4258 A and a parameter 4350 A representing the loop counter. These are used to find a record for the current expression and word number by filtering on columns 3410 A and 3410 B respectively.
  • Entity 3410 returns corresponding column values 4252 for the selected record. “IsQuizzableWordYN?” 3410 D, which is either “Y” for “yes” or “N” for “no” is returned as a value 4352 A. Values 4352 B of columns 3410 C and 3410 E are also returned.
  • Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4354 to node entity 3710 .
  • a parameter 4354 A is sent to set column 3710 C, “IsNotAnExpressionYN?” to “Y” for “yes”.
  • Other parameters 4354 B are sent, namely to set “IsExpressionYN?” to “N” for “no”.
  • a parent-node-ID (“parentNodeID”) parameter 4354 C is included to set column 3710 D to the node ID of the parent, top-level node.
  • a parameter 4354 D is included to set column 3710 E to “2”. Also passed is Tree ID 4254 which goes in column 3710 F.
  • the DML inserts a node record in entity 3710 , generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4356 .
  • Object 4210 next sends an insert-non-expression-node (“insertNonExpressionNode( . . . )”) message 4358 to non-expression-node entity 3712 .
  • Message 4358 passes node ID 4356 to set 3712 A and parameter 4358 A to set “IsGuessThePhraseWordYN?” column 3712 C to “Y”.
  • Other parameters 4358 B set columns 3712 B, and 3712 D- 3712 G to “N”.
  • Object 4210 next sends an insert-guess-the-phrase-word-node (“insertGuessThePhraseWordNode( . . . )”) message 4360 to entity 3812 .
  • Message 4360 passes node ID 4356 to set 3812 A and a parameter 4360 A to set column “ParentExpressionID” 3812 B to the current expression ID of the top-level expression.
  • Message 4360 also passes a parameter 4360 B to set 3812 C to the counter value “n” representing the word number in the expression.
  • the tree-formulator sequence continues with FIG. 44 .
  • One of two sequences occurs as represented by an “alt combined fragment” 4450 .
  • a next (“next(n)”) method or next statement 4454 increases the outer loop counter (“n”) by one and, where “n” is not greater than “NumWords” 4258 B, resumes outer loop 4348 show in FIG. 43 .
  • object 4210 calls its set-level-two-node-id (“setLevel2NodeID( . . . )”) method 4457 with node ID 4356 representing the n-th word. This keeps track of the level-two node ID in a variable.
  • an inner loop executes.
  • the inner loop completes node levels three and four of the quiz-tree.
  • the number of times the loop executes is represented by “m”.
  • the value of “m” could be set to an upper limit defined in a tree-formulator console (not shown) or hard coded. Otherwise, the number of iterations of the inner loop depends on the number of matching expressions found in the “lookup-expression” entities.
  • Part 1 of the inner loop is shown in loop combined fragment 4458 .
  • a reset-level-two-parent-node-ID (“resetLevel2 ParentNodeID( )”) method 4460 sets a “ParentNodeID” value to a level-two-node-id parameter 4461 value, which was returned from method 4457 .
  • the scope of this setting is restricted to the inner loop.
  • Object 4210 sends a select-related-expression (“selectRelatedExpression( . . . )”) message 4462 to a lookup-expression entity 3612 .
  • Message 4462 passes parameters 4258 A and 4350 A. Parameter 4258 A is used to restrict column 3612 A and parameter 4350 A is used to restrict column 3612 B. Entity 3612 from FIG.
  • Loop “m” would be repeated, replacing the lookup entity in each repetition of the loop (not shown).
  • all the related expression lookups could be inserted into a single lookup-entity (not shown).
  • a tree-formulator console (not shown) could be used to restrict the types of expression lookups used in a particular quiz-tree.
  • Entity 3612 returns one related-expression-id (“ExpressionID 1 ”) 4464 from column 3612 D per iteration of inner loop “m”.
  • ExpressionID 1 For an Oracle database, a PL/SQL cursor could be used to perform this type of function.
  • Tree-formulator object 4210 next sends a “selectExpressionID_Answ” message 4466 to canned-quiz entity 3311 .
  • Message 4466 passes a parameter 4466 A to select “ExpressionID_Answ” column 3311 A from entity 3311 where column 3311 A is equal to 4464 .
  • Entity 3311 returns an “ExpressionID_Answ” value 4468 .
  • a condition 4472 checks that 4468 in not null. If 4468 is null, it means that related-expression-id 4464 is not a canned-quiz answer, and method or next statement 4470 starts a new iteration of the inner loop “m”.
  • FIG. 45 continues the tree-formulator sequence within the inner loop “m”.
  • a condition 4550 checks that 4468 is not null, that is, that a value was returned in the previous step. If condition 4550 is met, execution continues within the inner loop.
  • Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4552 to node entity 3710 .
  • a parameter 4552 A sets column 3710 B “IsExpressionYN?” to “Y”.
  • Parameter 4552 B is sent to set “IsNotAnExpressionYN?” column 3710 C to “N” for “no”.
  • a parent-node-ID (“parentNodeID”) parameter 4552 C is included to set column 3710 D to the node ID of the parent, quiz-able-word node.
  • a parameter 4552 D is included to set column 3710 E to “3”. Also passed is Tree ID 4254 which goes in column 3710 F.
  • the DML inserts a node record in entity 3710 , generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4554 .
  • Object 4210 next sends an insert-expression-node (“insertExpressionNode( . . . )”) message 4556 to expression-node entity 3714 .
  • Message 4556 passes node ID 4554 to set column 3714 A.
  • Message 4556 passes parameter 4556 A to set “ExpressionID” column 3714 B to 4468 .
  • Other parameters 4556 B set columns 3714 C and 3714 E to “N”.
  • Parameter 4556 C sets column “IsCannedQuizAnswerYN?” 3714 D to “Y”.
  • Tree-formulator object 4210 next calls a set-level-three-parent-node-id (“setLevel3 ParentNodeID( . . . )”) method 4558 , passing 4554 , which sets a “ParentNodeID” parameter to the node ID of the quiz answer expression.
  • setLevel3 ParentNodeID( . . . ) sets a “ParentNodeID” parameter to the node ID of the quiz answer expression.
  • object 4210 sends an insert-node message 4560 to insert a node into entity 3710 .
  • a parameter 4560 A is sent to set column 3710 C, “IsNotAnExpressionYN?” to “Y” for “yes”.
  • a parameter 4560 B is sent to set “IsExpressionYN?” 3710 B to “N” for “no”.
  • a parent-node-ID (“parentNodeID”) parameter 4560 C is included to set column 3710 D to the node ID of the parent, quiz-answer node.
  • a parameter 4560 D is included to set column 3710 E to “4”. Also passed is Tree ID 4254 which goes in column 3710 F.
  • the DML inserts a node record in entity 3710 , generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4562 .
  • Object 4210 next sends an insert-non-expression-node (“insertNonExpressionNode( . . . )”) message 4564 to non-expression-node entity 3712 .
  • Message 4564 passes node ID 4562 which goes in column 3712 A. Also passed is parameter 4564 A to set “IsCannedQuizQuestionYN?” column 3712 B to “Y”. Other parameters 4564 B set columns 3712 C- 3712 G to “N”.
  • Object 4210 next sends an insert-canned-quiz-question-node (“insertCannedQuizQuestionNode( . . . )”) message 4566 to entity 3810 .
  • Message 4566 passes node ID 4562 to set column 3810 A. It also passes a parameter 4468 to set column 3810 B.
  • Message 4566 also passes parameter 4566 A to set 3810 C to “N”, and parameter 4566 B to set column 3810 D to “Y”.
  • FIG. 46-51 show how the four already-introduced node objects are initialized from information in the quiz-generation schema. These sequences show how the data is accessed by the system at runtime.
  • the node structure of a tree is already defined by the tree-formulator sequences.
  • a runtime node persistence design would also require entities for storing node state and other information about a game in progress, not detailed below. Shown are the sequences for initializing the node objects with quiz data and references to applicable parent and child nodes, in support of the class diagram and game sequences previously shown. In these diagrams, the references to applicable parent and child nodes are by node IDs as opposed to object references. From a node ID, a relative parent or child node could be instantiated and an object reference obtained.
  • FIG. 46 shows how a guess-the-phrase-phrase-node object is initialized from information in the quiz-generation schema.
  • Guess-the-phrase-phrase-node object 3012 receives an initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650 , which passes a node-id (“nodeID”) 4652 parameter.
  • Object 3012 next sends a select-expression (“selectExpression( . . . )”) message 4654 to expression-node entity 3714 , passing 4652 which restricts 3714 A.
  • Entity 3714 returns an expression-id (“ExpressionID”) 4656 value from 3714 B.
  • Object 3012 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4658 to expression entity 3310 , passing 4656 which restricts column 3310 A. Entity 3310 returns a number-of-words (“NumWords”) 4660 . Object 3012 next gets an array of the node-ids of the guess-the-phrase-words in the phrase. An initialize-guess-the-phrase-word-node-array (“initGTPWNd( )”) method 4662 initializes the array.
  • a combined loop fragment 4664 iterates “n” times where the upper limit of “n” is the number of words 4660 .
  • a select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”) message 4666 is sent to node entity 3710 .
  • Message 4666 passes a parameter 4668 to restrict column 3710 D to 4652 .
  • Column 3710 A is selected and a node-id (“NodeID”) 4670 is returned to object 3012 .
  • An add-guess-the-phrase-word-node (“addGTPWNd( . . . )”) method 4674 inserts nth node ID 4670 into the guess-the-phrase-word-node array.
  • FIG. 47 shows part one of how a guess-the-phrase-word-node object is initialized from information in the quiz-generation schema.
  • Guess-the-phrase-word object 1818 receives an initialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message 4750 , which passes a node-id (“nodeID”) 4752 parameter.
  • Object 1818 next sends a select-expression-and-word-number (“selectExpression&WordNum( . . . )”) message 4754 to guess-the-phrase-word-node entity 3812 , passing 4752 which restricts 3812 A.
  • Entity 3812 returns values 4756 , a parent-expression-id (“ParentExpressionID”) 4758 from column 3812 B, and a word-number-in-parent-expression (“WordNumInParentExp”) 4760 from column 3812 C.
  • ParentExpressionID a parent-expression-id
  • WordNumInParentExp a word-number-in-parent-expression
  • Object 1818 next sends a select-expression-word-information (“selectExpressionWordInfo( . . . )”) message 4762 to expression-word entity 3410 .
  • Message 4762 passes a parameter 4762 A which restricts column 3410 A with 4758 .
  • Message 4762 also passes a parameter 4762 B which restricts column 3410 B with 4760 .
  • Entity 3410 returns values 4764 .
  • Entity 3410 also returns “IsQuizzableWordYN?” 4770 from 3410 D and “IsCapitalizedYN?” 4772 from 3410 E. All words are stored as dictionary words in the present embodiment, so there is no need to return 3410 C.
  • Object 1818 next sends a select-dictionary-word (“selectDictionaryWord( . . . )”) message 4774 to entity 3412 .
  • Parameter 4766 restricts column 3412 A and parameter 4768 restricts column 3412 B.
  • a value for dictionary-word-id (“DictionaryWordID”) 4776 is returned.
  • object 1818 sends a select-word-text (“selectWordTxt( . . . )”) message 4778 to dictionary-word entity 3416 , passing 4776 which restricts column 3416 A.
  • a value for word-text (“WordTxt”) 4780 is returned from column 3416 B.
  • object 1818 calls its set-answer (“setAnswer( . . . )”) method 4782 , passing 4780 and 4772 to set an answer for the word. This answer is passed to and displayed in the interface when the word is solved.
  • object 1818 also calls its set-valid-word-answer (“setValidWdAnswer( . . . )”) method 4786 , passing 4780 .
  • This method sets the first index value of a valid-word-answers array to word-text 4780 .
  • Other entities and sequences, not shown, could be used to create an array of multiple values with closely matching responses deemed to be correct.
  • FIG. 48 shows part two of the guess-the-phrase-word node initialization sequence. Guess-the-phrase-word object 1818 sends a select-parent-node (“selectParentNode( . . . )”) message 4850 to node entity 3710 , passing 4752 . Node id 4752 restricts column 3710 A, and parent-node-id (“ParentNodeID”) 4852 is returned from column 3710 D.
  • selectParentNode( . . . ) select-parent-node
  • an initialize-trivia-quiz-answer-node (“initTQANd”) method 4854 initializes a two-dimensional array that stores trivia-quiz answer node IDs and their respective category.
  • a loop combined fragment 4856 iterates while found with counter “n”.
  • a select-trivia-quiz-answer-node (“selectTQANd( . . . )”) message 4858 is sent to node entity 3710 .
  • Message 4858 passes a parameter 4860 to restrict column 3710 D to node ID 4752 of the quiz-able word.
  • a node id 4862 for a trivia-quiz-answer-node is returned from column 3710 A.
  • a select-expression (“selectExpression( . . . )”) message 4864 is sent to expression-node entity 3714 , passing 4862 .
  • Parameter 4862 restricts column 3714 A, and column 3714 B is returned as an expression-id (“ExpressionID”) 4866 value.
  • object 1818 sends a select-category-code (“selectCategoryCode( . . . )”) message 4868 to canned-quiz-subject-category entity 3312 .
  • Message 4868 passes a parameter 4870 which restricts column 3312 A with 4866 .
  • Column 3312 B is returned as a category-code (“CategoryCode”) 4872 value.
  • setTQANd( . . . ) a set-trivia-quiz-answer-node
  • Method 4874 inserts trivia-quiz-answer node-id 4862 , and category-code 4872 into the trivia-quiz-answer-node array.
  • FIG. 49 shows part one of the trivia-quiz-answer-node-initializer sequence.
  • Trivia-quiz-answer-node object 1910 receives an initialize-trivia-quiz-answer-node (“initTQANd( . . . )”) message 4950 , which passes a node-id (“nodeID”) 4952 parameter.
  • Object 1910 next sends a select-expression (“selectExpression( . . . )”) message 4954 to expression-node entity 3714 , passing 4952 which restricts 3714 A.
  • Entity 3714 returns an expression-id (“ExpressionID”) 4956 value from 3714 B.
  • Object 1910 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4958 to expression entity 3310 , passing 4956 which restricts column 3310 A. Entity 3310 returns a number-of-words (“NumWords”) 4960 from 3310 B. Object 1910 next calls an initialize-answer (“initAnswer( . . . )”) method 4962 , passing 4960 . Method 4962 initializes an array of size “NumWords” for holding the words of the trivia-quiz-answer expression.
  • a combined loop fragment 4964 iterates “n” times where the upper limit of “n” is the number of words 4960 .
  • a select-dictionary-word (“selectDictionaryWord( . . . )”) message 4966 is sent to expression-word-dictionary-word entity 3412 .
  • Message 4966 passes parameter 4956 to restrict column 3412 A.
  • parameter 4966 A which restricts column 3412 B to the counter representing the word number.
  • a dictionary-word-id (“DictionaryWordID”) 4968 value is returned from column 3412 C.
  • Object 1910 next sends a select-word-text (“selectWordTxt( . . . )”) message 4970 to dictionary-word entity 3416 .
  • Message 4970 passes 4968 , which restricts column 3416 A.
  • Column 3416 B is returned as a word text (“WordTxt”) 4972 value.
  • Object 1910 next sends a select-caplitalization (“selectCapitalization( . . . )”) message 4974 to expression-word entity 3410 .
  • Message 4974 passes 4956 , which restricts column 3410 A.
  • Message 4974 also passes a parameter 4974 A for the counter value, which restricts column 3410 B.
  • Column 3410 E is returned as an “IsCapitalizedYN?” 4976 value.
  • Object 1910 calls its add-to-answer (“addToAnswer( . . . )”) method 4978 , passing 4972 and 4976 .
  • Method 4978 adds the word to the array of words for the trivia-quiz-answer expression.
  • FIG. 50 shows the second part of the trivia-quiz-answer-node-initializer sequence.
  • Trivia-quiz-answer-node object 1910 calls its convert-to-string (“convertToString( . . . )”) method 5050 , passing a completed array of words (“answer”) for the trivia-quiz-answer expression, 5052 .
  • it calls its initialize-valid-answers (“initValidAnswers( . . . )”) method 5054 , which initializes an array of valid answers and adds a string-answer (“stringAnswer”) 5056 returned from method 5050 at the first index. Additional entities and sequences, not shown, would be used to add additional values to the array of valid answers. It is this array that is checked against a player response to determine whether it is correct.
  • Object 1910 next sends a select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”) message 5058 to node entity 3710 .
  • a parameter 5058 A restricts column 3710 A with node id 4952 .
  • Column 3710 D is returned as a parent-node-id (“ParentNodeID”) 5060 .
  • Object 1910 calls its set-guess-the-phrase-word-node (“setGTPWNd( . . . )”) method 5062 , passing 5060 . This sets the parent, guess-the-phrase-word-node by its node-id.
  • Object 1910 next sends a select-trivia-quiz-question-node (“selectTQQNd( . . . )”) message 5064 to entity 3710 .
  • Message 5064 passes a parameter 5064 A that restrict column 3710 D with 4952 .
  • Column 3710 A is returned as a node-id (“NodeID”) 5066 value.
  • Object 1910 calls its set-trivia-quiz-question-node (“setTQQNd( . . . )”) method 5068 , passing 5066 . This sets the child, trivia-quiz-question-node by its node-id.
  • FIG. 51 shows how a trivia-quiz-question-node object is initialized from information in the quiz-generation schema.
  • Trivia-quiz-question-node object 1912 receives an initialize-trivia-quiz-question-node (“initTQQNd( . . . )”) message 5150 , which passes a node-id (“nodeID”) 5152 parameter.
  • Object 1912 next sends a select-expression (“selectExpression( . . . )”) message 5154 to canned-quiz-question-node entity 3810 , passing 5152 which restricts 3810 A.
  • Entity 3810 returns an “ExpressionID_Answ” 5156 value from 3810 B.
  • Object 1912 next sends a select-question-text (“selectQuestionTxt( . . . )”) message 5158 to canned-quiz entity 3311 , passing 5156 which restricts column 3311 A. Entity 3311 returns a question text (“QuestionTxt”) 5160 from column 3311 B. Object 1912 next calls its initialize-question (“initQuestion( . . . )”) method 5162 , passing 5160 to initialize the question.
  • Object 1912 next sends a select-trivia-quiz-answer-node (“selectTQANd( . . . )”) method 5164 to node entity 3710 .
  • a parameter 5164 A restricts column 3710 A by 5152 .
  • Column 3710 D is returned from the node entity as a parent-node-id (“ParentNodeID”) 5166 .
  • Object 1912 next calls its set-trivia-quiz-answer-node (“setTQANd( . . . )”) method 5168 , passing 5166 . This sets a reference to a parent, trivia-quiz-answer node, by its node ID.
  • FIG. 52 introduces a round (“Round”) entity 5210 and a match (“AMatch”) entity 5214 .
  • Match entity 5214 contains a “MatchID” primary key 5214 A. It contains attributes to record match statistics. “TotalPointsAvailable” 5214 B is the maximum points available for distribution in a match. “TotalPointsAwarded” 5214 C is the points awarded in a match. “PlayerlDMatchAdmin” foreign key 5214 D refers to the “PlayerID” primary key 4110 A of player entity 4110 . It records the player who is the match administrator, if applicable. Flag attributes “IsStartedYN?” 5214 E, “IsSuspendedYN?” 5214 F, “IsCompletedYN?” 5214 G record information about the state of a match.
  • An “AMatch_Player” composite entity 5216 has a primary key 5216 P composed of a “MatchID” foreign-key-primary-key column 5216 A from 5214 A and a “PlayerID” foreign-key-primary-key column 5216 B from 4110 A.
  • Entity 5216 includes attributes “Score” 5216 C, which is the cumulative match score for each player, and “ControlOrder” 5216 D, which is a number representing the order of control per player per match.
  • Round entity 5210 has a primary key composed of a “MatchID” foreign-key-primary-key column 5210 B referencing primary key 5214 A of match entity 5214 , and a round number “RoundNum” column 5210 C which is the round number within a match.
  • a “TreeID” foreign key 5210 A refers to primary key 4010 A of tree entity 4010 .
  • a “PlayerIDToStartRound” foreign key 5210 H refers to primary key 4110 A of player entity 4110 and records which player started the round in control.
  • Attribute “TotalPointsAwarded” 5210 D summarizes the cumulative points awarded per round.
  • Attribute “MaxAvailPoints” 5210 E records the maximum available points available for distribution in a round.
  • Attributes “StartDate” 5210 F and “EndDate” 5210 G record when a round was started and ended.
  • Flag attributes “IsStartedYN?” 52101 , “IsSuspendedYN?” 5210 J, and “IsCompletedYN?” 5210 K record information about the state of a round.
  • a “Round_Player” composite entity 5212 has a primary key 5212 P with foreign-key-primary-key columns “MatchID” 5212 A, “RoundNum” 5212 B, and “PlayerID” 5212 C referencing the primary keys of round entity 5210 and player entity 4110 .
  • a “Score” attribute 5212 D records the cumulative score per player per round.
  • FIG. 53 shows how a match is initialized.
  • a game administrator (“GameAdmin ⁇ actor>>”) 5310 sends an initiate-game (“initGame( . . . )”) message 5350 to game object 1816 .
  • Message 5350 passes an array of player IDs of size “P” (“playerID[P]”) 5352 , a number of rounds (“numRounds”) 5354 in the match, and an array of “R” tree IDs (“TreeID[R])”) 5356 , where “R” is the number of rounds. It is assumed that arrays 5352 and 5356 contain pre-existing information and were obtained as part of a pre-game setup process (not shown).
  • game object 1816 calls an initialize-control-sequence (“initControlSeq( . . . )”) method 5358 , passing 5352 .
  • a loop populates the control sequence with an ordered array of player references, described in combined loop fragment 5360 .
  • An initialize-player (“initPlayer( . . . )”) message 5362 is sent from 1816 to a player object (“Player”) 5312 , passing a player ID of the counter index “p” value (“playerID(p)”) 5364 .
  • Player object 5312 sends a select-player (“selectPlayer(p)”) message 5366 to player entity 4110 to select relevant columns where 4110 A is restricted by 5364 .
  • a reference 5368 to the player object is returned to 1816 .
  • An add-to-control-sequence (“addToControlSeq( . . . )”) method 5370 adds player reference 5368 to the control sequence.
  • Game object 1816 next sends an initialize-match (“initMatch( . . . )”) message 5372 to a match (“Match”) object 5314 .
  • Message 5372 passes 5354 and a control sequence (“controlSeq”) 5374 obtained from loop 5360 .
  • Match object 5314 sends an insert-match (“insertMatch( )”) message 5376 to match entity 5214 .
  • a database sequence generates a “MatchID” in primary key column 5214 A, which is returned as 5378 .
  • Other methods can insert additional values in entity 5214 as well as composite entity 5216 , and initialize the match scores of the players.
  • a reference 5380 to the match object is returned to game object 1816 .
  • FIG. 54 shows the first part of a round initialization sequence.
  • game object 1816 calls a next-control-sequence (“nextControlSeq( . . . )”) method 5450 , to set the index of the control sequence to the next player.
  • Method 5450 requires parameter “r” 5452 which is the index of the current round. This method ensures that control is set at the beginning of each round according to the control sequence order.
  • Game object 1816 next sends an initialize-round (“initRound( . . . )”) message 5454 to a round (“Round”) object 5410 .
  • Message 5454 passes a match ID (“MatchID”) parameter 5456 obtained from a lookup (not shown) of match object 5314 . It also passes round index 5452 .
  • Round object 5410 sends an insert-round (“insertRound( . . . )”) message 5458 to round entity 5210 .
  • Message 5458 passes 5460 , a tree ID of the round index (“TreeID(r)”).
  • Message 5468 also passes 5456 and the index of the current round plus one 5462 . This presumes the index begins at zero but actual round numbers begin at one.
  • Parameters 5460 , 5456 , and 5462 populate columns 5210 A, 5210 B, and 5210 C respectively of entity 5210 .
  • a round 5464 reference is returned to game object 1816 .
  • Game object 1816 next sends a select-top-node (“selectTopNode( . . . )”) message 5466 to node entity 5210 .
  • Message 5466 passes 5460 , which restricts column 3710 F, and a parameter 5468 that restricts column 3710 E to “1”.
  • This call returns node ID (“NodeID”) 5470 from column 3710 A of entity 3710 .
  • Game object 1816 next sends initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650 to object 3012 , passing 5470 .
  • game object 1816 sends a get-number-of-words (“getNumWordso”) message 5472 to 3012 .
  • getNumWordso A number of words (“NumWords”) 4660 in the top-level-phrase is returned.
  • Game object 1816 next calls an initialize-guess-the-phrase-word-GUI-information (“initGTPWGUIInfo( )”) method 5474 . This initializes an array of information about the guess-the-phrase words that is to be sent to the user interface.
  • a loop indicated by a combined loop fragment 5550 , executes to capture information about each word in the top-level phrase.
  • a get-nth-guess-the-phrase-word-node (“getGTPWNd(n)”) message 5552 is sent to object 3012 .
  • Message 5552 retrieves a node ID (“NodeID”) 5554 for the nth guess-the-phrase word from 3012 .
  • Game object 1816 next sends an initialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message 4750 to guess-the-phrase-word instance 1818 for the guess-the-phrase-word node, passing 5554 .
  • Game object 1816 gets a reference 5556 to the guess-the-phrase-word node (“GTPWdNd”). It then calls a get-guess-the-phrase-word-node-GUI-information (“getGTPWNdGUIInfo( )”) message 5558 of 1818 . Message 5558 returns values 5560 . These include a word text (“WordTxt”) 5562 value, an is-quiz-able-word-yes-or-no (“IsQuizzableWdYN?”) 5564 value, and a node state (“nodeState”) 5566 value. Node state 5566 will reflect that the node is available.
  • WordTxt word text
  • IsQuizzableWdYN?” is-quiz-able-word-yes-or-no
  • nodeState node state
  • Game object 1816 next calls a get-word-length (“getWordLength( . . . )”) message 5568 , passing 5562 to get the number of characters of the current word.
  • Object 1816 next calls an add-guess-the-phrase-word-GUI-information (“addGTPWGUIInfo( . . . )”) method 5570 .
  • Method 5570 takes as arguments 5554 , a word length (“wordLength”) 5572 parameter returned from 5568 , and 5564 and 5566 .
  • Method 5570 adds the information for the current word to the guess-the-phrase-word-GUI-information array.
  • game object 1816 sends an initialize-navigation-mode-GUI (“initNavModeGUI( . . . )”) message 5574 to initialize navigation-mode GUI (“NavModeGUI”) object 1810 .
  • Message 5574 passes a guess-the-phrase-phrase-node-ID (“GTPPNdID”) 5576 , which is set to 5470 , the value of the top-level node ID.
  • Message 5574 also passes a guess-the-phrase-word-GUI-information (“GTPWGUIInfo[ ]”) array 5578 , obtained from loop 5550 .
  • Parameters 5576 and 5578 supply the information necessary to display the masked top-level phrase at the beginning of a round as indicated in FIG. 2 .
  • Parameters 5576 and 5578 also provide node IDs to the user interface that are returned to the model with play actions. This assists in coordinating the view with the model.
  • method 5574 is part of an indicator means for presenting a word indication.
  • the method provides word length, type and node identification information from the model to the view.
  • Game object 1816 also sends an initialize-control-and-score-GUI (“initCntrl&ScoreGUI( . . . )”) message 5580 to initialize control-and-score-GUI (“Cntrl&ScoreGUI”) object 2310 .
  • Message 5580 passes an array of player scores for the round (“round.player.score[ ]”) 5582 , an array of player scores for the match (“match.player.score[ ]”) 5584 , a control sequence (“controlSeq”) 5586 , and an index for the player with control (“cntrlIndex”) 5588 .
  • Embodiments could include enhancements that make adjustments to points awarded, or to points deducted as the case may be, based on the relative difficulty of the comprised nested quiz(zes) or top-level quiz.
  • difficulty levels could be recalibrated, potentially in real time, based on data received from the player clients.
  • Use of a quiz database allows quizzes to be reused by many different players.
  • a difficulty calibration mechanism based on client feedback would allow future players to benefit from the play of past and current players to create an increasingly accurate scoring system based on relative quiz difficulty.
  • Information for a given quiz comprised of the individual historic results and/or the accumulated result of all historic guesses attempted on that quiz, would be persisted.
  • historic results would be persisted in one or more history relations within the quiz database. Any new result for the given quiz, provided by the game clients to the server, would be added to existing result information for that quiz in the quiz database.
  • Quiz result information could be used to re-calibrate the difficulty measure of the given quiz on an ongoing basis.
  • the difficulty measure(s) would be applied as a factor to the score value for a given quiz for the next or later presentation of the same quiz in the context of a round of play.
  • Ongoing feedback from clients would provide an increasingly accurate difficulty rating and score adjustment for the quizzes.
  • a simple example of how continuous difficulty calibration could be applied is given for a trivia-quiz taken with the trivia-quiz component in a single-player mode of the game.
  • the score will be maximized when the fewest number of clues are revealed and/or guesses are taken en route to the solution of the top-level quiz.
  • the difficulty factor would again be multiplied by the base value “b” to arrive at the re-calibrated point deduction for a failed guess on the same quiz.
  • the quiz database would again be updated and the difficulty factor would again be re-calibrated for the next player(s) to make use of the given trivia-quiz and so on.
  • Phrase difficulty calibration is complicated by the fact that different trivia-quizzes may appear from iteration to iteration of the same phrase. This could be due to the addition of trivia-quizzes to the quiz database. This could also be due to the insertion of logic that records player histories and prevents the same individual from receiving the same trivia-quiz between different matches.
  • the continuous difficulty calibration feature could be applied not only to the combined guess-the-phrase and trivia game embodiment of a QNQ but to all possible embodiments of a QNQ.
  • FIGS. 56-95 deal with some alternative forms and enhancements. These figures are representative of many types of enhancements that could be incorporated into the combined guess-the-phrase and trivia game embodiment or an alternative embodiment.
  • FIG. 56 depicts the quiz-and-word-guessing-selector component with an additional menu option for a “drill-down clue”.
  • An additional level of submenus 320 contains a trivia submenu 322 and a drill-down clue submenu 324 . Presuming that drill-down clue submenu 324 is selected, FIG. 57 would be presented.
  • FIG. 57 depicts the phrase component in navigation mode with an embedded quiz that is applicable to one of the quiz-able-words in the top-level phrase.
  • Embedded quiz 240 has an unrevealed quiz-able-word 244 A 1 with attached hyperlink, a solve word button 242 A, a label indicating a word-clue section 248 , and a quiz-able-word-clue cell 250 . Presuming that 244 A 1 is selected with hand-pointer cursor 95 , FIG. 58 would be presented.
  • FIG. 58 depicts the quiz-and-word-guessing-selector component as it might appear for quiz-able-word 244 A 1 in the embedded quiz. Additional menu items are displayed to support additional features and quiz types.
  • Top-level menus 340 contain a guess-word menu 342 , find-a-clue menu 344 and cancel drill-down menu 346 .
  • the find-a-clue menu 344 has a flyout menu 350 .
  • Flyout menu 350 has a trivia-quiz menu 352 , a concealed-picture menu 354 , an anagram menu 356 , a drill-down-clue menu 357 , a sound-clip menu 358 and a video-clip menu 359 .
  • Trivia-quiz menu 352 has trivia-quiz submenus 360 .
  • Trivia-quiz submenus 360 include a television-quiz-category-menu option 362 A, a movies-quiz-category-menu option 362 B, a music-quiz-category-menu option 362 C, and a sports-quiz-category-menu option 362 D.
  • FIG. 59 depicts a form of the trivia-quiz component adapted for multiple choice input of a trivia-quiz answer. The appearance of this component presumes an embodiment enabled for multiple choice quizzes and that option being selected, if configurable.
  • FIG. 59 introduces multiple choice options section 417 with options 417 A through 417 D.
  • a quiz-heading 410 B corresponds to the selected question.
  • a quiz question 412 B 1 displays the question.
  • Multiple choice option 417 C is shown as selected.
  • Presuming that submit button 420 is selected with hand-pointer cursor 95 , FIG. 60 is presented.
  • FIG. 60 shows the phrase component assuming the previous attempt is correct. Revealed quiz-able-word 244 A 5 is displayed in quiz-able-word-clue cell 250 . Since quiz-able-word 244 A 5 is solved, the embedded quiz is redundant and disappears automatically after a few seconds. After that, the phrase component reduces to FIG. 61 , showing a first quiz-able-word's first clue 230 G 1 in first quiz-able-word-clue cell 230 A.
  • FIG. 62 shows a concealed-picture puzzle in progress.
  • the concealed-picture puzzle has a heading-for-concealed-picture puzzle 410 C. It has a concealed-picture puzzle 412 C and a remove-a-puzzle-piece label 430 .
  • a spinner with label 432 is used to select a puzzle piece for removal from concealed-picture puzzle 412 C.
  • a submit button 434 verifies removal of a puzzle piece.
  • a pass button 436 is used by a player to pass on selecting a puzzle piece for removal in a multi-player embodiment.
  • a guess-the-picture label 414 B labels answer textbox 416 .
  • a text-answer attempt 416 C is shown.
  • Other features have the same purpose as in the trivia-quiz component.
  • FIG. 63 depicts the phrase component in navigation mode with the embedded quiz.
  • the embedded quiz has unrevealed quiz-able word 244 A 1 with attached hyperlink. It also has associated anagram clue in its quiz-able-word-clue cell 250 .
  • FIG. 64 shows embedded quiz 240 in a quiz-able-word-guessing mode.
  • a quiz-able-word response 244 A 4 is in the process of being entered by a player.
  • Submit-guess button 242 B, clear-guess button 242 C, and pass button 242 D are available for selection.
  • Point-deduction warning 246 warns of the penalty for a wrong attempt.
  • FIG. 65 depicts the phrase component in navigation mode in a design variant that displays unsolved quizzes within the phrase component.
  • One clue 252 has been found for the higher-level quiz-able-word, and there are three clues to the embedded quiz. The first is an anagram clue 254 , The second is a quiz question 256 corresponding to 412 A 1 of FIG. 59 .
  • quiz question 256 maintains a hyperlink to the trivia-quiz portrayed in FIG. 59 .
  • FIG. 65 presumes that the trivia-quiz was previously selected but not attempted or not answered correctly.
  • Unsolved picture puzzle “clue” 258 maintains a hyperlink to the concealed-picture puzzle introduced in FIG. 62 . In FIG. 65 , one less piece is removed.
  • FIG. 65 presumes that the concealed-picture puzzle quiz was previously selected but an answer was not attempted or it was not answered correctly.
  • FIG. 66 depicts the phrase component in navigation mode where embedded quiz 240 itself has an embedded-drill-down quiz.
  • An embedded-embedded-drill-down quiz 260 consists of a single unrevealed quiz-able-word 264 A 1 with attached hyperlink. It has its own solve word button 262 A, a label 266 indicating a word-clue section, and a quiz-able-word-clue cell 268 .
  • FIG. 67 depicts the quiz-and-word-guessing-selector component as in might appear for quiz-able-word 264 A 1 in the embedded-embedded drill down quiz. Additional menu items are displayed to support additional features and quiz types.
  • top-level menus 370 contain guess-word menu 372 , find-a-clue menu 374 and cancel-drill-down menu 376 .
  • Find-a-clue menu 374 has a flyout menu 380 .
  • Flyout menu 380 leads to trivia-quiz menu 382 , concealed-picture menu 384 , anagram menu 386 , and drill-down-clue menu 388 .
  • Trivia-quiz menu 382 leads to trivia-quiz submenus 390 .
  • Trivia-quiz submenus 390 include a television-quiz-category-menu option 392 A, movies-quiz-category-menu option 392 B, a music-quiz-category menu option 392 C, and a sports-quiz-category-menu option 392 D.
  • FIG. 68 depicts the phrase component in navigation mode with three clues in quiz-able-word-clue cell 268 .
  • Clues “Shrek” 270 , “The Hobbit” 272 and “Bruce Lee” 274 are for embedded-embedded drill down quiz-able-word 264 A 1 .
  • These clues presume a design variant where the relationship of the clues 270 , 272 and 274 to quiz-able-word 264 A 1 (“dragon” when solved) is not based on word-level relationships. Rather, there is a thematic relationship. At the schema level, this is accomplished with expression-level relationships, including “expressions” of one word.
  • Clues “Shrek” 270 and “The Hobbit” 272 are names of movies that feature a dragon.
  • Clue “Bruce Lee” 274 is a movie actor that is associated with the word “dragon” through a famous movie title. Assuming selection of the solve-word button, FIG. 69 is displayed.
  • FIG. 69 depicts the phrase component in navigation mode in which the embedded-embedded-quiz-able-word 264 A 5 has been solved. Its solution has become a clue to one-higher embedded quiz-able-word 244 A 1 .
  • FIG. 70 depicts a hypothetical logical structure of the solution path that was partially exposited by FIGS. 66 through 69 .
  • node-levels one through four ( 110 , 112 , 114 , 116 ) are shown node-levels 5 118 and six 120 .
  • the diagram omits node-level 2 112 words except 220 A.
  • quiz questions At node-level six 120 are quiz questions (clues) 7010 , 7012 , and 7014 for clues “Shrek” 270 , “The Hobbit” 272 and “Bruce Lee” 274 respectively.
  • Clues 270 , 272 , and 274 are clues to quiz-able-word 264 (“dragon”) which is a clue to quiz-able-word 244 (“dragonfly”). This is a clue to first quiz-able-word 220 A of sample phrase for top-level quiz 1410 .
  • FIG. 71 shows a quiz-and-word-guessing-selector component being used to find a drill-down clue in the category of movies.
  • the menu is similar to the menu of FIG. 56 , except with a drill-down-clue-flyout submenu 325 instead of drill-down-clue submenu 324 .
  • Drill-down-clue-flyout submenu 325 leads to drill-down clues 393 with a television-quiz-category-menu option 394 A, a movies-quiz-category-menu option 394 B, a music-quiz-category-menu option 394 C, and a sports-quiz-category-menu option 394 D. Assuming selection of 394 B with arrow cursor 99 , FIG. 72 is displayed.
  • FIG. 72 shows a variant of the phrase component with an embedded-drill-down-quiz 280 .
  • Embedded-drill-down quiz 280 is expanded in FIG. 73 .
  • the drill-down quiz is a two-word expression.
  • Phrase section 212 contains unrevealed first and second quiz-able-words 220 C 1 and 220 D 1 , with hyperlinks. These represent the words “Marty” and “McFly” respectively, which are the first and last names of a movie character from the movie “Back to the Future”.
  • Word-clue section 214 is labeled with a label 222 B indicating a word-clue section.
  • Word-clue section 214 contains first and second quiz-able-word-clue cells 230 C and 230 D.
  • This variant of the phrase component also has a phrase-clue section 282 .
  • Phrase-clue section 282 includes a hyperlink to phrase clue(s) 284 .
  • Phrase clue cell 286 contains space where one or more phrase-level clues can be displayed.
  • a phrase-level clue is a clue that is useful for solving the entire phrase.
  • a phrase-level clue is distinguished from quizzes on unrevealed quiz-able-words 220 C 1 and 220 D 1 which are related to their respective associated word. Presuming selection of hyperlink 284 , FIG. 74 is displayed.
  • FIG. 74 depicts a menu of one item for selecting a quiz that applies to the embedded-guess-the-phrase quiz. Presuming selection of movies-quiz-category-menu option 396 with arrow cursor 99 , FIG. 75 is displayed.
  • FIG. 75 shows an embedded-embedded-drill-down quiz 290 within embedded-drill-down quiz 280 which was shown in FIGS. 72 and 73 .
  • Embedded-embedded drill down quiz 290 is expanded in FIG. 76 .
  • FIG. 76 expands embedded-embedded drill down quiz 290 of FIG. 75 .
  • FIG. 76 shows unrevealed first and second quiz-able-words 220 E 1 and 220 F 1 , with attached hyperlinks. Also shown are unrevealed first and second filler-words 218 D 1 and 218 E 1 , with attached hyperlinks. Also shown are first and second quiz-able-word-clue cells 230 E and 230 F.
  • a phrase-clue-section 283 shows a slightly modified arrangement from phrase-clue section 282 of FIG. 73 .
  • a hyperlink to phrase clue(s) 285 and a phrase clue-clue cell 287 are shown. Presuming selection of hyperlink 285 to the phrase clue(s), FIG. 77 is displayed.
  • FIG. 77 depicts a quiz-selector menu that appears over hyperlink-to-phrase-clue(s) 285 . It has menus 397 , a concealed-picture menu 398 A, a sound-clip menu 398 B, a video-clip menu 398 C, and a text-clue menu 398 D. Presuming selection of video-clip menu 398 C with arrow cursor 99 , FIG. 78 is displayed.
  • FIG. 78 depicts a “video quiz” component of the user interface. It has a heading for video-clip quiz 610 .
  • a video-clip player 620 displays a video-clip clue. In this case the video-clip clue is for the embedded-embedded-drill-down quiz shown in FIG. 76 . Its solution is a movie name “Back to the Future”.
  • a video-clip shown in 620 might be a clip from that movie or something associated with it.
  • Selecting a guess button 630 brings to focus the embedded-embedded drill down quiz represented in FIG. 76 , except in a phrase-guessing mode.
  • a successful answer would result in the disappearance of the embedded-embedded drill down quiz represented in FIG. 76 (after a few seconds), and its solved phrase would be displayed in phrase clue-clue cell 286 of FIG. 73 .
  • An unsuccessful answer would result in answering privilege passing to the next player in sequence (in multi-player mode) and focus returning to the “video quiz” component. Also shown with the “video quiz” component of FIG.
  • 78 are a “pass” button 632 for passing answering privilege to the next player in sequence, a “replay” button 634 for replaying the video clip, a “next clip” button 636 for displaying the next video clip, and a “close” button 638 for closing the “video quiz” component.
  • FIG. 79 depicts a “quiz navigator” component of the user interface.
  • the quiz navigator allows players to view information about a quiz tree and facilitates quiz solution.
  • the quiz navigator borrows the nomenclature for logically describing a QNQ introduced in FIG. 1 .
  • the quiz navigator includes a title bar 710 , a menu bar 720 , and a navigation device 730 .
  • Navigation device 730 allows a player to navigate a quiz-tree of any size or complexity by zooming in or out and by moving up and down, left and right.
  • Sample top-level phrase 1410 (“A fly in the ointment”) has only the node for first quiz-able-word 220 A (“fly”) shown beneath it. It is presumed that only first quiz-able-word 220 A has had information revealed about it. An equally suitable embodiment would show all the second level nodes. Nodes 740 , 750 , and 752 are presumed to be revealed.
  • the first quiz-able-word's first clue 230 A 1 “Marty McFly” has first quiz-able-word 220 C “Marty” and second quiz-able-word 220 D “McFly”. It also has phrase clue 740 “Back to the Future” which is a movie name to which the character “Marty McFly” belongs.
  • the solid circular node at 740 indicates the clue is revealed.
  • a mouse-over event occurs by positioning hand-pointer cursor 95 , over clue 740 .
  • a text bubble 760 A displays. Text bubble 760 A displays the content of clue 740 in the quiz navigator.
  • Clues 750 and 752 to the first and second quiz-able-words have solid circular nodes, indicating they are revealed.
  • FIG. 80 shows the quiz navigator with the same quiz-tree in the same state as FIG. 79 , but with hand-pointer cursor 95 over clue 750 , displaying text bubble 760 B.
  • the displayed clue is a sports figure with a name (“Billy Martin”) that bears a similarity to the first quiz-able-word 220 C “Marty”.
  • the match of answer “Marty” to clue “Billy Martin” presumes a run time comparison of words in the quiz database or else the existence of relationships that contain a match of “Marty” to the second word “Martin” of clue 750 .
  • the match would be established based on a shared character string (“Mart”) in the two words.
  • FIG. 81 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79 and 80 , but with hand-pointer cursor 95 over clue 752 , displaying text bubble 760 C.
  • the match of “McFly” to the second word “McCartney” of clue 752 follows the same description as for the match of quiz “Marty” to clue “Billy Martin” shown in FIG. 80 . In this case the words are matched based on their first two characters “Mc”.
  • FIG. 82 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-81 , but with hand-pointer cursor 95 over unrevealed clue 220 D, displaying text bubble 760 D. Because clue 220 D is unrevealed in this hypothetical example, only a mask (hiding the word “McFly”) is show in text bubble 760 D.
  • FIG. 83 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-82 , but with hand-pointer cursor 95 , over unrevealed clue 230 A 1 , displaying text bubble 760 E. Because clue 230 A 1 is unrevealed, only a mask (hiding the phrase “Marty McFly”) is shown in text bubble 760 E.
  • FIG. 84 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-83 .
  • FIG. 84 continues the previous hypothetical sequence.
  • Hand-pointer cursor 95 is placed over text bubble 760 E and the mouse button is clicked. This action makes text bubble 760 E visible when the hand-pointer cursor 95 is not on top of clue 230 A 1 , as shown in FIG. 85 (clue 230 A 1 is behind text bubble 760 E).
  • FIG. 85 the convention of FIG. 1 is broken somewhat in that lines are not all connected node-to-node.
  • the line from first quiz-able-word 220 C joins to the first masked word 761 of text bubble 760 E to indicate that 220 C belongs to the first word of 760 E.
  • the line from second quiz-able-word 220 D joins to the second masked word 762 of text bubble 760 E. Since phrase clue 740 belongs to the entire phrase masked in text bubble 760 E, it is connected to the text bubble border. Color coding could also be used to increase the clarity of the relationships in the quiz navigator window.
  • a quiz navigator cross-hair 765 This is a symbol that indicates which clue or node of the quiz-tree is active at any moment of time.
  • the quiz navigator and the phrase component are shown in a consolidated view in FIG. 95 .
  • the quiz navigator and phrase component can be integrated. For example, double-clicking a node in the quiz navigator displays the cross-hair over it, and makes that node active in the phrase component as well. The cross-hair is dropped from the remaining figures in this sequence.
  • FIG. 86 shows the quiz navigator with the same quiz-tree in the same state as FIGS. 79-85 .
  • Hand-pointer cursor 95 is over unrevealed clue 220 A, displaying a mask (hiding the word “fly”) in text bubble 760 F, while text bubble 760 E remains visible.
  • FIG. 87 shows the quiz navigator with the same quiz-tree in the same state as FIGS. 79-86 .
  • Hand-pointer cursor 95 is over sample top-level phrase 1410 , displaying a mask (hiding the phrase “A fly in the ointment”) in text bubble 760 G.
  • Text bubble 760 G is cut off by the border of the quiz navigator. Text bubble 760 E remains visible.
  • Unrevealed clue 220 A is temporarily covered up; although the quiz navigator could be designed to display it with a faint outline overlain by text bubble 760 G, or by repositioning 760 G.
  • FIG. 88 shows an expanded view of menu bar 720 of the quiz navigator. Shown are view (“View”) and option (“Option”) menus 722 and 724 respectively. Under option menu 722 are menu items “Show Selected Clues . . . ” 725 and “Show All Clues . . . ” 726 . The discussion of FIGS. 83 and 84 presumes that menu item 725 had been selected.
  • FIG. 89 is displayed.
  • FIG. 89 shows the quiz navigator in a slightly expanded window. All the revealed and unrevealed node content from first quiz-able-word 220 A and below are shown in their respective text bubbles. Also shown is text bubble 760 G for sample top-level phrase 1410 .
  • FIG. 89 includes text bubble 760 H for first quiz-able-word 220 C, which shows the mask for the word “Marty”.
  • FIG. 90 shows an expanded view of menu bar 720 of the quiz navigator.
  • Under view menu 722 are “Branch View . . . ” and “Folder View . . . ” menu items 727 and 728 respectively.
  • FIGS. 79-89 presume that menu item 727 had been selected. Clicking on menu item 728 with arrow cursor 99 changes the quiz navigator from “branch mode” to “folder mode”. Folder mode of the quiz navigator is depicted in FIGS. 91-95 .
  • Other embodiments could use a UNIX or DOS path file nomenclature or some other method for displaying the hierarchy.
  • FIGS. 91-93 show the quiz navigator with the same quiz-tree in the same state as FIGS. 79-89 but in folder mode.
  • FIG. 91 shows at the top-level a folder icon and name 770 for sample top-level phrase 1410 .
  • folder icons and names 772 , 774 and 776 for first, second and third filler-words 218 A, 218 B and 218 C respectively.
  • folder icons and names 780 and 790 for first and second quiz-able-words 220 A and 220 B respectively.
  • a “plus” (“+”) sign 791 indicates that a folder can be expanded to reveal additional quiz information. Clicking a mouse button with arrow cursor 99 over the 791 of 780 expands the folder as shown in FIG. 92 .
  • FIG. 92 shows an open folder icon and name 780 A for first quiz-able-word 220 A.
  • One folder level below is the folder icon and name 782 for first quiz-able-word's first clue 230 A 1 .
  • Clicking a mouse button with arrow cursor 99 over 791 of 782 expands the folder as shown in FIG. 93 .
  • FIG. 93 shows an open folder icon and name 782 A for first quiz-able-word's first clue 230 A 1 .
  • One folder-level below is a folder icon and name 784 for phrase clue 740 , a folder icon and name 786 for first quiz-able-word 220 C, and a folder icon and name 788 for second quiz-able-word 220 D.
  • FIG. 94 shows an open folder icon and name 786 A for first quiz-able-word 220 C.
  • One folder level below is a folder icon and name 787 for clue to first quiz-able-word 750 .
  • Open folder icon and name 788 A for second quiz-able-word 220 D has below it folder icon and name 789 for clue to second quiz-able-word 752 .
  • FIG. 95 depicts components of the user interface as they appear in an integrated display.
  • the integrated display includes the phrase component 9512 with a title bar 9510 , the quiz navigator component 9540 (shown if FIG. 85 ), a score-and-control component 9530 , and a match-parameters-display component 9550 .
  • Other display components are minimized and available for selection by selecting a corresponding button.
  • a “Pause/Quit Match” component (not shown) can be displayed with a “Pause/Quit Match” button 9560 .
  • a “Score and Control” component button 9562 shown as grayed to indicate it has been selected, displays score-and-control component 9530 .
  • a “Match Parameters” component button 9564 shown as grayed to indicate it has been selected, displays match-parameters-display component 9550 .
  • a quiz navigator component button 9566 shown as grayed to indicate it has been selected, displays quiz navigator component 9540 .
  • a “Match History” component button 9568 shown as grayed to indicate it has been selected, displays a “Match History” component (not shown).
  • phrase component button 9570 shown as grayed to indicate it has been selected, displays phrase component 9512 .
  • a “My Player Console” button 9572 displays a “My Player Console” (not shown).
  • a “Chat” button 9574 displays a chat component (not shown).
  • a QNQ may:
  • a QNQ is supported by a system that can be used to manage:
  • a QNQ system can also include functionality to:
  • node-levels devised or possible in the logical quiz structure could be skipped over in the interface to create another type of challenge.
  • Other embodiments might not require persistent storage of quiz structures and nodes; rather, quiz structures could be assembled at runtime.
  • Quiz structures might be assembled just prior to the initiation of play. They might also be defined and redefined during play. In such cases, their data might be persistent only in the context of the current iteration or not at all.
  • Indiscreet embodiments without defined end-nodes are possible.
  • Embodiments that integrate with other applications, such as community ware are possible.
  • Other modes of play, such as having a simulated opponent, are possible.
  • Television or Internet broadcast game show formats are possible.

Abstract

One detailed embodiment of a quiz-nested quiz game and system therefore, played by one or by one or more players. Each quiz comprises one information fragment for its answer and one for each clue. A unique identifier is assigned to the information fragments. The uniquely identified information fragments are associated into a quiz structure, wherein non-terminal members are an answer in one quiz and clue in an associated quiz. A system means comprises exposure, guessing and validation means. A user interface is provided. Clues in one quiz can be selectively exposed to the player(s), who can provide a guess at the associated answer. The guess is validated, and, depending on the validation result, the associated answer is exposed as a clue in a different, associated quiz. Other embodiments are described and shown.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This nonprovisional application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/960,532, filed Oct. 3, 2007.
  • FEDERALLY SPONSORED RESEARCH
  • Not Applicable
  • SEQUENCE LISTING OR PROGRAM
  • Not Applicable
  • BACKGROUND
  • 1. Field of Invention
  • This invention relates to skill games. More specifically, this invention relates to a new type of game and system therefore for one or multiple players in a computer game, physical media, mixed media, or television game show format.
  • 2. Prior Art
  • A discussion of the prior art of which the present inventor is aware, and its differences and distinctions from the present invention, is provided below.
  • A list of the simpler word puzzles will include “guess-the-phrase” (hangman) and question-and-answer trivia. The solution of such puzzles follows a simple logical route, whereby one or more clues lead to the puzzle answer. Other examples of simple puzzles include prototypical anagrams and “Name That Tune” type musical quizzes. U.S. Pat. No. 5,123,658 to Elfanbaum and Shlomo (1992) describes a concealed-picture puzzle.
  • In the classical party game “charades’, a player offers clues to a word or a phrase by pantomiming the words or similar sounding words. A player may also decompose words into characters and sign the characters, or use a combination of methods.
  • Intersecting row and column puzzles such as crossword puzzles and Sudoku require the solution of all the word or number strings that form a defined puzzle. Solved rows or columns offer clues to other rows and columns, but there is no precedence between them. Such puzzles are progressively solved and are not hierarchical. The main solution to an intersecting row and column puzzle is arbitrarily related to its constituent rows and columns and has no independent meaning. Also, it cannot be derived from only a subset of the solved rows and columns composing its matrix. The prior art also includes many games which combine two or more of the fundamental puzzle types.
  • U.S. Patent Publication No. 20060175756 of Watson and Riley combines the classical crossword with the anagram and can include a bonus anagram constituted from circled letters in the solved crossword. The final bonus anagram in not a top-level solution but is an additional puzzle that cannot be solved until the crossword is complete. The bonus anagram is not meant to be solved from only a subset of the underlying clues.
  • U.S. Pat. No. 6,308,954 to Breeler (2001) and U.S. Patent Publication Nos. 20050218593 of Petry and 20020117802 of Seaberg combine the classical crossword with word search puzzles. While infusing novelty, these ideas do not make the main puzzle more hierarchical than a typical crossword.
  • Other games have combined some of the simpler skill games previously mentioned with games of chance. The board game TRIVIAL PURSUIT® combines question and answer trivia with die rolling and random question selection. The television show WHEEL OF FORTUNE® combines ‘hangman’ with a ‘wheel of fortune’.
  • U.S. Pat. No. 5,860,653 to Jacobs (1999) discloses a game for television or computer play with rows of anagrams at one anagram per row, with their row positions fixed relative to one another. When all the anagrams are solved, a word associated with each of the solved anagrams is revealed vertically through them.
  • Jacobs does not attach special significance to the solution of the vertical word as being the goal that ends the game. It seems apparent that before all the anagrams are solved, the vertical word will become obvious and thereby provide clues to the remaining anagrams, making this puzzle somewhat analogous to a crossword puzzle.
  • Another category is the ‘quest’ games. Examples include scavenger hunts and role playing board games such as DUNGEONS & DRAGONS® and online games such as EVERQUEST® and WORLD OF WARCRAFT™. In these games, real or virtual articles are accumulated by the participants during an expedition. These games may include locational clues such as an easter egg hunt, and may culminate in a real or virtual reward, or they may have intermediary rewards and continue indefinitely.
  • Quest-type games sometimes encompass ‘clue finding’, that is, picking up clues along a journey, and puzzle solving. Some games are spectator oriented, such as the children's television show BLUE'S CLUES™, which combines clue finding with a final puzzle solution. Variations include traditional ‘murder mystery’ interactive theatre and Alternate Reality Games (ARG).
  • U.S. Pat. No. 5,679,075 to Forrest, et al. (1997) discloses an interactive scavenger hunt combined with puzzle solving in the context of a narrative supplied by a prerecorded audio visual plot. Game participants solve “visual puzzles”, “physical tricks” or “performer-based puzzles” in order to obtain clues, called “information fragments”, as well as “directional clues”. There is no indication that an information fragment is itself the answer to a preceding puzzle. It seems it is supplied as a reward for solving a preceding puzzle, as reinforced within FIG. 5 of the application of Forrest.
  • In Forrest, et al., once the information fragments are obtained, the participants collectively solve a “meta-puzzle”, most elaborately shown as a two-stage puzzle in FIG. 5 of the application of Forrest. In the puzzle, adjacent sets of information fragments (clues) are used to solve riddles, the solutions to which are thematically related. It is noted that the final puzzle solution is not actually derived from the answers in the preceding stage. Instead, solving all of the preceding puzzles qualifies the participants to call a telephone number. Next, an operator answers and asks the participants to recall a visual message that was presented earlier in the tour. The correct answer is the final puzzle solution. The concept of a visual recall final puzzle in Forrest. implies the participants have been exposed to the entire tour. As well, Forrest does not impose an hierarchical organization since the final puzzle answer is not itself solved from clues obtained at an immediately preceeding stage.
  • Forrest does not indicate a quiz database. Rather, having participants manually draw clues as indicated would resist attempts to systematically organize and retrieve quiz information. Furthermore, the puzzles are thematically related. This means that puzzles would have access to only a subset of all possible quizzes that could lead to the final solution.
  • As a consequence of both its logical structure and proposed embodiments, Forrest would require considerable effort and expense to generate each complete puzzle or tour, making it a novelty as opposed to a game to be played day after day. Gridlock could result since it seems that either all or virtually all the available clues would have to be found in order to have a chance to complete the final puzzle. If a clue were missed, such as the ‘recall’ clue, participants might have to tediously renavigate parts of the tour. Gridlock could also arise if participants could not solve a necessary riddle, or if they were to miss a time limit.
  • The prior art contains examples of puzzles featuring progressively revealed clues. U.S. Pat. No. 6,318,722 to Shafer (2001) discloses a game wherein clues are revealed for sets of words that share a common feature. U.S. Pat. No. 6,935,945 to Orak (2005) discloses an Internet game show version of a concealed-picture puzzle. U.S. Pat. No. 7,275,746 to Jensen (2007) discloses a physical media embodiment of a crossword-type puzzle with an opaque cover removably disposed over each of the concealed completed letter positions. These puzzles lack more than one level of quiz-solving and are not hierarchical.
  • U.S. Pat. No. 5,221,094 to Hanson (1993) discloses a physical media master puzzle concealed behind opaque cover up puzzle pieces. The puzzle pieces are categorized on the basis of color. The pieces are removed on the basis of participants successfully answering question and answer trivia-quizzes. Trivia-quizzes are displayed on accompanying physical media cards. One embodiment is a master puzzle that when solved is a pictorially depicted phrase. The removal of each puzzle piece reveals between one to four letters, or portions of letters. Since discreet words or letters are not revealed, nothing more than two levels of puzzle-solving is intonated.
  • With Hanson's invention, trivia answers are not themselves clues to a higher level puzzle, but rather their solution offers the reward of being able to remove a puzzle piece. That is, the answer to a quiz is disconnected from the clue that is supplied to the master puzzle. Hanson, like Forrest, does not anticipate an embodiment that would take advantage of a quiz database. Furthermore, the information supplied on removal of each arbitrarily shaped puzzle piece is indiscreet. This indicates that Hanson's invention would resist attempts to systematically organize and retrieve sub-quiz information.
  • COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
  • SUMMARY
  • Described are embodiments of a new type of quiz called a “Quiz-Nested Quiz” or “QNQ”. Described as a game, these embodiments are also of potential application in fields including education and testing. Embodiments comprise a plurality of quizzes each comprised of an answer and one or more clues. An answer obtained by solving a “lower” quiz results in a clue being revealed to a one-higher quiz.
  • Embodiments comprise a repeating pattern of clue and answer wherein the correct response to a clue, or question, supplies an answer which yields a clue in a one-higher quiz. Clues and answers are organized into clue/answer pairs. There can be multiple clue/answer pairs terminating in the same answer. One or more clue/answer pairs terminating in the same answer is described as a quiz or nested-quiz or sub-quiz.
  • The detailed embodiment describes how clue/answer pairs can be related to one another to provide an hierarchical, multi-level logical structure. In the detailed embodiment, the answer to a one-lower clue/answer pair is, or is equivalent to, a clue to its one-higher clue/answer pair. Clues and answers can be represented as uniquely identified information fragments, called “nodes”. A single node can therefore have a dual purpose. It can be an answer in one quiz, and a clue in another. In other embodiments, not detailed, the answer to a one-lower quiz is not necessarily a clue to a one-higher quiz, but rather its solution reveals a clue to the one-higher quiz. The detailed embodiment shows four node-levels encompassing three-levels of quiz solving.
  • The quiz structure in the detailed embodiment is described as a “quiz-tree”, comprising associated nodes. A quiz-tree contains quiz sub-structures, including quiz chains. A quiz chain is comprised of a sequential chain of three or more nodes. Quiz chains help describe the underlying structure of a quiz-tree. Quiz chains are a basic quiz structure that can be used to describe many embodiments.
  • DRAWINGS Figures
  • FIG. 1 portrays a logical structure of a sample iteration of an embodiment of a QNQ with descriptive symbols described in the specification.
  • FIG. 2 depicts a part of the user interface for an embodiment of a QNQ called the “phrase component”. In FIG. 2, the phrase component is depicted at or near the beginning of a “round”, in a mode called “navigation mode”. A sample phrase is initially masked.
  • FIG. 3 depicts a part of the user interface called a “quiz-and-word-guessing-selector component”, which takes the form of a computer menu.
  • FIG. 4 depicts a part of the user interface called a “trivia-quiz component” for typed-text entry of a trivia-quiz answer attempt.
  • FIG. 5 depicts the trivia-quiz component introduced in FIG. 4 with a sample guess input by a player and ready to be submitted.
  • FIG. 6 depicts the phrase component as it might look after the first clue on a “quiz-able-word” has been found.
  • FIG. 7 depicts a one-item computer menu displayed over the phrase component based on a player initiated event. The menu gives the player in “control” the option to “buy” a “filler-word”.
  • FIG. 8 depicts a dialog that allows a player to confirm an intention to “buy a word”.
  • FIG. 9 depicts the phrase component with two clues revealed. One clue was derived on a quiz-able-word by solving a trivia-quiz. The other clue is represented by a revealed filler-word, and was obtained by “buying a word”.
  • FIG. 10 depicts the phrase component in “quiz-able-word-guessing mode” as it might look with two quiz-able-word clues revealed and with a player in the process of typing in the solution to the first quiz-able-word.
  • FIG. 11 depicts the phrase component in phrase-guessing mode for the sample phrase. Previously, two clues were revealed for one of the two quiz-able-words, that quiz-able-word was solved, a filler-word was “bought”, and two more clues for the other quiz-able-word were revealed. A player is attempting to complete the phrase by inputting the three words remaining in its solution.
  • FIG. 12 depicts the phrase component in phrase-guessing mode, with the remaining unrevealed words typed within their respective fields. The attempted solution is ready to be submitted.
  • FIG. 13 depicts the phrase component at the end of a round, with the phrase solved.
  • FIG. 14 uses the nomenclature introduced in FIG. 1. FIG. 14 depicts a logical structure of a sample iteration of an embodiment of a QNQ, including information about the clues revealed to solve the sample iteration.
  • FIG. 15 depicts a user interface flow diagram.
  • FIG. 16 depicts a system architecture for game delivery.
  • FIG. 17 depicts a class diagram describing the main features of the embodiment.
  • FIG. 18 shows a sequence diagram for displaying a quiz-and-word-guessing-selector GUI component.
  • FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI component.
  • FIG. 20 shows a sequence diagram for attempting a trivia-quiz.
  • FIG. 21 shows a sequence diagram describing part one of the sequence for a correct trivia-quiz attempt.
  • FIG. 22 shows an update-score sequence diagram.
  • FIG. 23 shows a sequence diagram describing part two of the sequence for a correct trivia-quiz attempt.
  • FIG. 24 shows a sequence diagram for an incorrect trivia-quiz attempt.
  • FIG. 25 shows a sequence diagram describing a player passing on making an attempt at a trivia-quiz.
  • FIG. 26 shows a sequence diagram for a quiz-able-word attempt.
  • FIG. 27 shows a sequence diagram for a correct quiz-able-word attempt.
  • FIG. 28 shows a sequence diagram for an incorrect quiz-able-word attempt.
  • FIG. 29 shows a sequence diagram for buying a filler-word.
  • FIG. 30 shows a sequence diagram for a phrase attempt.
  • FIG. 31 shows a sequence diagram of an incorrect phrase attempt.
  • FIG. 32 shows a sequence diagram for a correct attempt at solving a phrase.
  • FIGS. 33-40 show entity relationship diagrams describing a quiz-generation schema. These schema comprise part of a quiz database and are used to build quiz-trees. They also provide quiz data during game runtime.
  • FIG. 41 shows an entity relationship diagram describing a player entity and its relationship to a tree entity.
  • FIGS. 42-45 show sequence diagrams for building quiz-trees, based on the quiz-generation schema shown in FIGS. 33-40.
  • FIG. 46 shows a sequence diagram for initializing a guess-the-phrase-phrase-node object.
  • FIGS. 47 and 48 show sequence diagrams for initializing a guess-the-phrase-word-node object.
  • FIGS. 49 and 50 show sequence diagrams for initializing a trivia-quiz-answer-node object.
  • FIG. 51 shows a sequence diagram for initializing a trivia-quiz-question-node object.
  • FIG. 52 introduces “round” and “match” entities.
  • FIG. 53 shows a sequence diagram for initializing a match.
  • FIGS. 54 and 55 show sequence diagrams for initializing a round.
  • FIG. 56 depicts the quiz-and-word-guessing-selector component with an additional menu option for a “drill-down clue”.
  • FIG. 57 depicts the phrase component in navigation mode with an embedded quiz that is applicable to one of the quiz-able-words in the top-level phrase.
  • FIG. 58 depicts the quiz-and-word-guessing-selector component as in might appear for the quiz-able-word in the embedded quiz. Additional menu items are displayed to support additional features and quiz types.
  • FIG. 59 depicts a form of the trivia-quiz component adapted for multiple choice input of a trivia-quiz answer attempt.
  • FIG. 60 depicts the phrase component as it momentarily appears after solution of the embedded quiz.
  • FIG. 61 depicts the phrase component in navigation mode with a quiz-able-word clue that has been revealed by the solution of the embedded quiz.
  • FIG. 62 depicts a “concealed-picture-quiz component”.
  • FIG. 63 depicts the phrase component in navigation mode with an embedded quiz. The embedded quiz has an associated anagram clue.
  • FIG. 64 depicts the phrase component with an embedded quiz in word-guessing mode and a player in the process of typing an attempt.
  • FIG. 65 depicts the phrase component in navigation mode in a design variant that displays unsolved quizzes within the phrase component. One clue has been found for a higher-level quiz-able-word, and there are three clues for a lower-level embedded quiz.
  • FIG. 66 depicts the phrase component in navigation mode where the embedded quiz itself has an embedded drill-down quiz consisting of a single quiz-able-word.
  • FIG. 67 depicts the quiz-and-word-guessing-selector component as it appears over the embedded-embedded drill-down quiz-able-word.
  • FIG. 68 depicts the phrase component in navigation mode with some clues obtained for the embedded-embedded drill-down quiz-able-word.
  • FIG. 69 depicts the phrase component in navigation mode in which the embedded-embedded drill-down quiz-able-word has been solved. Its solution has become a clue to the first embedded quiz-able-word.
  • FIG. 70 depicts a hypothetical logical structure of the solution path that was partially described by FIGS. 68 and 69.
  • FIG. 71 depicts the quiz-and-word-guessing-selector component as it appears over a quiz-able-word in the phrase component in navigation mode. The menu includes items to support a drill-down ‘guess-the-phrase’ quiz type.
  • FIG. 72 depicts the phrase component in navigation mode with an embedded guess-the-phrase style of quiz. Quizzes for the embedded quiz are available for the entire phrase, and for its quiz-able-words.
  • FIG. 73 depicts an expanded view of the embedded guess-the-phrase quiz from FIG. 72.
  • FIG. 74 depicts a menu of one item for selecting a quiz applicable to the embedded guess-the-phrase quiz.
  • FIG. 75 depicts the quiz-and-word-guessing-selector component in navigation mode with the embedded guess-the-phrase style quiz which itself has an applicable embedded, or ‘embedded-embedded’ guess-the-phrase style quiz.
  • FIG. 76 depicts the embedded-embedded guess-the-phrase style quiz introduced in FIG. 75, in an expanded view.
  • FIG. 77 depicts a quiz-selector menu that appears over the embedded-embedded guess-the-phrase quiz, and which can be used to select a phrase-level quiz.
  • FIG. 78 depicts a “video quiz” user interface component.
  • FIGS. 79 thru 87 and FIG. 89 depict a “quiz navigator” component of the user interface in a “branch-view” mode. The quiz navigator allows players to view information about a quiz-tree, and facilitates solving a quiz-tree and its component quizzes. The quiz navigator borrows the nomenclature for describing a QNQ introduced in FIG. 1.
  • FIG. 88 depicts a player interaction with the quiz navigator menu to ‘show all clues’.
  • FIG. 90 depicts a player interaction with the quiz navigator menu to change the view from branch-view to “folder-view” mode.
  • FIGS. 91 thru 94 depict the quiz navigator as it might be used to navigate a particular quiz-tree domain in folder-view mode.
  • FIG. 95 depicts components of the user interface as they appear in an integrated display. The integrated display includes the phrase component with a title bar, the quiz navigator, a score and control component, and a match parameters viewing component. Other display components are minimized and available for selection.
  • REFERENCE NUMERALS
  •  95 hand-pointer cursor  96 text cursor
     97 field border  98 insertion cursor
     99 arrow cursor  110 node-level one
     112 node-level two  114 node-level three
     116 node-level four  118 node-level five
     120 node-level six  130 node-level “n”
     140 symbol for top-level answer  141 symbol for an association of a
    revealed clue to an answer
     142 symbol for a revealed node  144 symbol for cognitively solved
    node
     145 symbol for an association of an  146 symbol for unrevealed node
    unrevealed clue to an answer
     146A an unsolved node  210 phrase component border
     212 phrase section  214 word-clue section
     216A solve-phrase button  216B submit-guess button
     216C clear-guess button  216D cancel-guess button
     216E point-deduction warning  216F finished label
     218A first filler-word  218A1 unrevealed first filler-word,
    with attached hyperlink
     218A2 unrevealed first filler-word,  218A4 response to the first filler-word
    without attached hyperlink
     218A5 revealed first filler-word  218B second filler-word
     218B1 unrevealed second filler-word,  218B5 revealed second filler-word
    with attached hyperlink
     218C third filler-word  218C1 unrevealed third filler-word,
    with attached hyperlink
     218C2 unrevealed third filler-word,  218C4 response to the third filler-
    without attached hyperlink word
     218C5 revealed third filler-word  218D first filler-word
     218E second filler-word  220A first quiz-able-word
     220A1 unrevealed first quiz-able-  220A4 response to the first quiz-able-
    word, with attached hyperlink word
     220A5 revealed first quiz-able-word  220B second quiz-able-word
     220B1 unrevealed second quiz-able-  220B2 unrevealed second quiz-able-
    word, with attached hyperlink word, without attached
    hyperlink
     220B3 second quiz-able-word in a  220B4 response to the second quiz-
    guessing mode able-word
     220B5 revealed second quiz-able-  220C1 unrevealed first quiz-able-
    word word, with hyperlink
     220D1 unrevealed second-quiz-able-  220E1 unrevealed first quiz-able-
    word, with hyperlink word, with hyperlink
     220F1 unrevealed second quiz-able-  222 label indicating clue section
    word, with hyperlink
     222B label indicating word-clue  228 empty cell
    section
     230A first quiz-able-word-clue cell  230A1 first quiz-able-word's first clue
     230A2 first quiz-able-word's second  230B second quiz-able-word-clue
    clue cell
     230B1 second quiz-able-word's first  230B2 second quiz-able-word's
    clue second clue
     230C first quiz-able-word-clue cell  230D second quiz-able-word-clue
    cell
     230E first quiz-able-word-clue cell  230F second quiz-able-word-clue
    cell
     230G1 first quiz-able-word's first clue  240 embedded quiz
     242A solve word button  242B submit-guess button
     242C clear-guess button  242D pass button
     244A1 unrevealed quiz-able-word,  244A4 response to quiz-able word
    with attached hyperlink
     244A5 revealed quiz-able-word  246 point-deduction warning
     248 label indicating word-clue  250 quiz-able-word-clue cell
    section
     252 clue to higher level quiz-able-  254 anagram clue to embedded
    word quiz
     256 quiz question  258 unsolved picture puzzle “clue”
     260 embedded-embedded drill  262A solve word button
    down quiz
     264A1 unrevealed quiz-able-word  264A5 revealed quiz-able-word
    with attached hyperlink
     266 label indicating word-clue  268 quiz-able-word-clue cell
    section
     270 clue “Shrek”  272 clue “The Hobbit”
     274 clue “Bruce Lee”  280 embedded drill down quiz
     282 phrase-clue section  283 phrase clue section
     284 hyperlink to phrase clue(s)  285 hyperlink to phrase clue(s)
     286 phrase clue-clue cell  287 phrase clue-clue cell
     290 embedded-embedded drill  310 top-level menu
    down quiz
     312 word-guess menu option  314 find-a-clue menu option
     320 submenus  322 trivia submenu
     324 drill-down clue submenu  325 drill-down clue flyout
    submenu
     330 quiz submenu  332A television quiz-category menu
    option
     332A1 number of quizzes in the  332B movies quiz-category menu
    “television” category option
     332C music quiz-category menu  332D sports quiz-category menu
    option option
     338 buy word menu option  340 top-level menus
     342 guess-word menu
     344 find-a-clue menu  346 cancel-drill-down menu
     350 flyout menu  352 trivia-quiz menu
     354 concealed-picture menu  356 anagram menu
     357 drill-down-clue menu  358 sound-clip menu
     359 video-clip menu  360 trivia-quiz submenus
     362A television-quiz-category-menu  362B movies-quiz-category-menu
    option option
     362C music-quiz-category-menu  362D sports-quiz-category-menu
    option option
     370 top-level menus  372 guess-word menu
     374 find-a-clue menu  376 cancel-drill-down menu
     380 flyout menu  382 trivia-quiz menu
     384 concealed-picture menu  386 anagram menu
     388 drill-down-clue menu  390 trivia-quiz submenus
     392A television-quiz-category-menu  392B movies-quiz-category-menu
    option option
     392C music-quiz-category-menu  392D sports-quiz-category-menu
    option option
     393 drill-down clues  394A television-quiz-category-menu
    option
     394B movies-quiz-category-menu  394C music-quiz-category-menu
    option option
     394D sports-quiz-category menu  396 movies-quiz-category-menu
    option option
     397 menus  398A concealed-picture menu
     398B sound-clip menu  398C video-clip menu
     398D text-clue menu  410A quiz heading
     410A1 trivia-quiz-category  410A2 quiz number in the category
     410A3 total number of available  410B quiz heading
    quizzes in the category
     410C quiz heading for concealed-  412A1 quiz question
    picture puzzle
     412A2 quiz question  412A3 quiz question
     412A4 quiz question  412B1 quiz question
     412C concealed-picture puzzle  414A answer label
     414B guess-the-picture label  416 answer-attempt textbox
     416A answer-attempt text  416C answer-attempt text
     417 multiple choice options section  417A multiple choice option
     417B multiple choice option  417C multiple choice option
     417D multiple choice option  418 point-deduction warning
     420 submit button  422 clear-answer button
     424 pass-guess button  430 remove-a-puzzle-piece label
     432 spinner with label  434 submit button
     436 pass button
     470 answering-turn-display  472 player column heading
    component
     474A player name  474B player name
     474C player name  476 alarm clock icon
     478 “next” indicator  480 a number of seconds
     482 “turn” column heading  510 word-cost warning label
     512 word-cost message  514 “yes” button
     516 “no” button  610 heading for video clip quiz
     620 video clip player  630 guess button
     632 pass button  634 replay button
     636 next clip button  638 close button
     710 title bar  720 menu bar
     722 view menu  724 options menu
     725 “Show Selected Clues . . . ”  726 “Show All Clues . . . ” menu
    menu item item
     727 “Branch View . . . ” menu item  728 “Folder View . . . ” menu item
     730 navigation device  740 phrase clue
     750 clue to first quiz-able-word  752 clue to second quiz-able-word
     760A text bubble for phrase clue 740  760B text bubble for clue to first
    quiz-able-word 750
     760C text bubble for clue to second  760D text bubble for second quiz-
    quiz-able-word 752 able-word 220D
     760E text bubble for first quiz-able-  760F text bubble 220A for first quiz-
    word's first clue 230A1 able-word
     760G text bubble for sample top-  760H text bubble for first quiz-able-
    level phrase 1410 word 220C
     761 first masked word of text  762 second masked word of text
    bubble 760E bubble 760E
     765 quiz navigator cross-hair  770 folder icon and name for
    sample top-level phrase 1410
     772 folder icon and name for first  774 folder icon and name for
    filler-word 218A second filler-word 218B
     776 folder icon and name for third  780 folder icon and name for first
    filler-word 218C quiz-able-word 220A
     780A open folder icon and name for  782 folder icon and name for first
    first quiz-able-word 220A quiz-able-word's first clue
    230A1
     782A open folder icon and name for  784 folder icon and name for
    first quiz-able-word's first clue phrase clue 740
    230A1
     786 folder icon and name for first  786A open folder icon and name for
    quiz-able-word 220C first quiz-able-word 220C
     787 folder icon and name for clue  788 folder icon and name for
    to first quiz-able-word 750 second quiz-able-word 220D
     788A open folder icon and name for  790 folder icon and name for
    second quiz-able-word 220D second quiz-able-word 220B
     791 “plus” (“+”) sign  789 folder icon and name for clue
    to second quiz-able-word 752
    1420A Categories for word “fly” 1420A1 sports category
    1420A2 movies category 1420A3 music category
    1420A4 television category 1420B Categories for word
    “ointment”
    1510 phrase component in 1520 quiz-and-word-guessing-
    navigation mode selector component, find-a-
    clue option
    1530 quiz-and-word-guessing- 1540 phrase component in phrase-
    selector component, guess- guessing mode
    word option
    1550 buy filler-word menu, and 1560 trivia-quiz component
    confirmation
    1570 phrase component in word- 1580 phrase component in finished
    guessing mode mode
    1590 end of a round 1610 clients
    1612 desktop computer 1614 notebook or sub notebook
    computer
    1616 handheld gaming device 1618 cell phone/PDA with gaming
    capabilities
    1630 Internet access 1640 the Internet
    1650 server side components 1652 web server
    1654 application server 1656 database server
    1658 quiz database and associated 1670 Internet connection
    schema
    1672 network connection 1674 network connection
    1676 database management 1709 clock (“Clock”) class
    1710 trivia-quiz-category 1711 node (“Node”) class
    (“TrivQuizCat”) class
    1712 tree (“Tree”) class 1713 trivia-quiz-question
    (“TrivQuizQues”) class
    1714 guess-the-phrase-phrase 1715 round (“Round”) class
    (“GuessThePhrPhr”) class
    1716 trivia-quiz-answer 1717 guess-the-phrase-word
    (“TriviaQuizAnswer”) class (“GuessThePhrWd”) class
    1718 match (“Match”) class 1719 game (“Game”) class
    1720 player (“Player”) class 1721 turn-GUI (“TurnGUI”) class
    1724 control-and-score-GUI 1725 trivia-quiz-GUI
    (“Cntl&ScoreGUI”) class (“TriviaQuizGUI”) class
    1726 quiz-and-word-guessing- 1727 buy-filler-word-menu-GUI
    selector-GUI (“BuyFillerWdMenuGUI”)
    (“Q_W_GuessSelGUI”) class class
    1728 word-guessing mode-GUI 1729 navigation-mode-GUI
    (“WdGuessingModeGUI”) (“NavModeGUI”) class
    class
    1730 phrase-guessing-mode-GUI 1731 finished-mode-GUI
    (“PhrGuessingModeGUI”) (“FinishedModeGUI”) class
    class
    1732 phrase-component-GUI 1740 controller class
    (“PhraseComponentGUI”)
    class
    1750 aggregation indicating the 1751 aggregation representing a
    trivia-quiz-question class child node referencing zero-to-
    referencing the trivia-quiz- one parent nodes
    category class with
    multiplicities of one and zero-
    to-many
    1752 aggregation representing a 1753 aggregation indicating the tree
    parent node referencing zero- class referencing the node class
    to-many child nodes with multiplicities of many and
    one
    1754 aggregation indicating a round
    class referencing the tree class
    with multiplicities of one and
    one.
    1755 association between game 1756 aggregation indicating the
    class and tree class game class referencing the
    trivia-quiz-question class
    1757 aggregation indicating that a 1758 aggregation indicating that a
    trivia-quiz-question class trivia-quiz-answer class
    instance is a child of exactly instance is a parent to exactly
    one trivia-quiz-answer class one trivia-quiz-question class
    instance instance.
    1759 generalization of 1713 by 1711 1760 generalization of 1716 by 1711
    1761 generalization of 1717 by 1711 1762 aggregation indicating that a
    trivia-quiz-answer class
    instance is a child of exactly
    one guess-the-phrase-word
    class instance
    1763 aggregation indicating that a 1764 aggregation indicating that a
    guess-the-phrase-phrase class guess-the-phrase-word class
    instance is a parent of one-to- instance is the child of exactly
    many guess-the-phrase-word one guess-the-phrase-phrase
    class instances class instance
    1765 aggregation indicating a game 1766 aggregation indicating a match
    class referencing a guess-the- class referencing a player class
    phrase-phrase class with with multiplicities of one-to-
    multiplicities of one and one many and one.
    1767 association between the game 1768 association between the game
    class and the match class with class and the round class with
    multiplicities of one and one multiplicities of one and one-
    to-many
    1769 aggregation indicating the 1770 aggregation indicating that a
    game class referencing the guess-the-phrase-word class
    trivia-quiz-answer class instance is a parent of zero-to-
    many trivia-quiz answer class
    instances
    1771 aggregation indicating the 1772 generalization of 1714 by 1711
    game class referencing the
    guess-the-phrase-word class
    1773 aggregation indicating a match 1774 aggregation indicating the
    class referencing the round game class referencing the
    class with multiplicities of player class with multiplicities
    one-to-many and one of one-to-many and one
    1775 aggregation indicating the 1776 association between game
    game class referencing the class and turn-GUI class
    clock class with multiplicities
    of one and one
    1777 association between game 1778 aggregation indicating the
    class and control-and-score- round class referencing the
    GUI class player class with multiplicities
    of one-to-many and one
    1779 association representing all of 1780 association showing the
    the associations between the controller class accessing the
    controller class and classes game class
    1725 through 1730
    1781 association between game 1782 association between the game
    class and finished-mode-GUI class and the trivia-quiz-GUI
    class class with multiplicities of
    zero-to-many and one
    1783 association between the game 1784 association between the game
    class and navigation-mode- class and phrase-guessing-
    GUI class mode-GUI class
    1785 association between the game 1786 association between the game
    class and word-guessing- class and the quiz-and-word-
    mode-GUI class guessing-selector-GUI class
    with multiplicities of zero-to-
    many and one
    1787 association between the game 1788 generalization of 1731 by 1732
    class and the buy-filler-word-
    menu-GUI class with
    multiplicities of zero-to-many
    and one
    1789 generalization of 1729 by 1732 1790 generalization of 1730 by 1732
    1792 generalization 1793 generalization
    1810 navigation-mode GUI 1812 quiz-and-word-guessing-
    (“NavModeGUI”) object selector-GUI
    (“Q_W_GuessSelGUI”) object
    1814 Controller object 1816 Game object
    1818 guess-the-phrase-word 1850 get-quiz-and-word-guessing-
    instance for the guess-the- selector component
    phrase-word node (“getQ_W_GuessSelGUI( . . . ) ”)
    message
    1850A guess-the-phrase-word node ID 1850B reference to the current player
    (“GTPWdNdID”) (“player”)
    1852 get-trivia-quiz-by-category- 1854 validate-control
    total (“validateControl( . . . ) ”)
    (“getTrivQuizByCatTot( . . . ) ”) method
    method
    1856 get-node-state 1858 condition that the node-state is
    (“getNodeState( )”) method of available
    the guess-the-phrase-word
    object
    1859 set-active-node 1860 get-trivia-quiz-by-category-
    (“setActiveNode( . . . ) ”) method total
    for the guess-the-phrase-word (“getTrivQuizByCatTot( )”)
    node method
    1862 trivia-quiz-by-category-total 1864 display-quiz-and-word-
    (“trivQuizByCatTot”) array guessing-selector-GUI
    (“displayQ_W_GuessSelGUI
    ( . . . ) ”) method
    1910 trivia-quiz answer instance for 1912 trivia-quiz-question object for
    the trivia-quiz answer node the trivia-quiz-question node
    (“TQQNd:TrivQuizQues”).
    1914 trivia-quiz-GUI object 1916 turn GUI object
    1950 get-trivia-quiz-GUI 1950A category (“cat”) which the next
    (“getTriviaQuizGUI( . . . ) ”) trivia-quiz is to be selected
    message from
    1952 get-trivia-quiz-by-category 1954 next-trivia-quiz-by-category-
    (“getTrivQuizByCat( . . . ) ”) index
    message (“nextTrivQuizbyCatIndx( . . . ) ”)
    method
    1956 lookup next-trivia-quiz- 1958 lookup trivia-quiz-question-
    answer-node node (“lookupTQQNd( )”)
    (“lookupNextTQANd ( . . . ) ”) method
    method
    1959 reference to the trivia-quiz- 1960 getNodeState method of the
    question node (“TQQNd”). trivia question node
    1962 active-node 1962A trivia-quiz-question node ID
    (“setActiveNode(. . . ”) method (“TQQNdID”)
    for a trivia-quiz question node
    1964 get-question-information 1966 close-quiz-and-word-guessing-
    (“getQuestionInfo( )”) method selector-GUI
    (“closeQ_W_GuessSelGUI( )”)
    message
    1968 display-trivia-quiz-GUI 1968A trivia-quiz question
    (displayTriviaQuizGUI( . . . ) ”)
    message
    1968B trivia-quiz-by-category-index 1968C trivia-quiz-by-category-total
    (“trivQuizByCatIndx”) (“trivQuizByCatTot”)
    parameter parameter
    1970 display-turn-GUI 1970A array of players, in order of
    (“displayTurnGUI( )”) message control (“controlSeq”)
    1970B index for the player with 1970C reference to a “clock” object
    answering privilege
    (“ansPrivIndex”)
    2050 submit guess 2050A attempt (“attempt”)
    (“submitGuess( . . . ) ”) message
    2052 validate-attempt 2054 validate-answering-privilege
    (“validateAttempt( . . . ) ”) (“validateAnsPriv( . . . ) ”)
    message method
    2056 lookup-trivia-quiz-answer- 2057 reference to the trivia-quiz
    node (“lookupTQANd( )”) answer node (“TQANd”)
    method
    2058 get-node-state 2059 set-active-node
    (“getNodeState( )”) method of (“setActiveNode( . . . ) ”) method
    the trivia-quiz answer node for a trivia-quiz-answer node
    2059A trivia-quiz-answer node ID 2060 get-valid-answers
    (“TQANdID”) (“getValidAnswers( )”) method
    2061 array of valid answers 2062 checkAttempt method
    (“validAnswers[ ]”)
    2110 round object 2112 Match object
    2140 update-score sequence 2150 set-node-state
    (“setNodeState( . . . ) ”) message
    2150A “answered” value
    2152 set-node-state 2154 get-answer (“getAnswer( )”)
    (“setNodeState( . . . ) ”) message method
    2156 lookup-guess-the-phrase-word- 2158 lookup-guess-the-phrase-
    node (“lookupGTPWNd( )”) phrase-node
    method of the trivia-quiz (“lookupGTPPNd( )”) method
    answer node
    2160 reference to the guess-the- 2162 set-active-node
    phrase-phrase node (“setActiveNode( . . . ) ”) method
    for a guess-the-phrase-phrase
    node
    2162A guess-the-phrase-phrase node 2164 update-score
    ID (“GTPPNdID”) (“updateScore( . . . ) ”) messages
    2164A points by which the score is to 2165 condition that the player who
    be updated answered the question is not
    equal to the player who
    currently has control
    2166 set-control-index 2168 reset-answering-privilege
    (“setControlIndex( . . . ) ”) index (resetAnsPrivIndex( )”)
    method method
    2250 updateScore method of the 2252 get-scores (“getScores( )”)
    Round object method of the round object
    2254 update-score 2256 get-scores (“getScores( )”)
    (“updateScore( . . . ) ”) method of method of the match object
    the match object
    2310 control-and-score-GUI 2350 close trivia-quiz-GUI
    (“Cntrl&ScoreGUI”) object (“closeTriviaQuizGUI( )”)
    message
    2352 update-navigation-mode-GUI 2352A trivia-quiz answer
    (“updateNavModeGUI( . . . ) ”) (“triviaAnswer”)
    message
    2354 update-control-and-score-GUI 2354A array of player scores for the
    (“updateCntrl&ScoreGUI( . . . ) ”) round (“round.player.score[ ]”)
    message
    2354B array of player scores for the 2354C the index for the player with
    match (“match.player.score[ ]”) control (“cntrlIndex”)
    2450 next-answering-privilege 2452 alternative combination
    (“nextAnsPriv( )”) fragment
    2454 condition that the control index 2456 update trivia-quiz-GUI
    is not the answering-privilege (“updateTrivQuizGUI( . . . ) ”)
    index message
    2458 condition that the control index 2460 close trivia-quiz-GUI
    is equal to the answering- (“closeTriviaQuizGUI( )”)
    privilege index message
    2550 pass (“pass( . . . ) ”) message to 2552 pass (“pass( . . . ) ”) message to
    the controller object the game object
    2553 alternative combination 2610 word-guessing-mode-GUI
    fragment (“WdGuessingModeGUI”)
    object
    2650 submit-word-guess 2650A word attempt (“wordAttempt”)
    (“submitWordGuess( . . . ) ”)
    message
    2652 validate-word-attempt 2654 get-valid-answers
    (“validateWordAttempt( . . . ) ”) (“getValidAnswers( )”) method
    message
    2655 array of valid-word answers 2656 check-word-attempt
    (“validWdAnswers[ ]”) (“checkWordAttempt( . . . ) ”)
    method
    2750 set-node-state 2752 getAnswer method of the
    (“setNodeState( . . . ) ”) method guess-the-phrase-word node
    of the guess-the-phrase-word
    node
    2753 word answer (“wordAnswer”) 2850 next-control (“nextControl( )”)
    method
    2950 buy-filler-word 2952 buy-filler-word
    “buyFillerWord( . . . ) ” message “buyFillerWord( . . . ) ” message
    to controller object to game object
    2954 buy-filler-word-check 2955 “revealed” value
    “buyFillerCheck( )”method
    3010 PhrGuessingModeGUI 3012 guess-the-phrase-phrase object
    3050 submit-phrase-guess message 3050A phrase-attempt array
    to the controller object
    3050B n-th word attempt 3052 submit-phrase-guess message
    to the game object
    3054 getNodeState method of the 3056 lookup-nth-guess-the-phrase-
    guess-the-phrase-phrase node word node
    object (“lookupGTPWdNd(n)”)
    method of the guess-the-
    phrase-phrase node object
    3056A each “n” word in a phrase 3058 loop-combined fragment
    3059 while condition that the 3060 guess-the-phrase-word object
    previous attempt for a word
    was correct
    3060A “n-th” guess-the-phrase-word 3062 get-nth-word-node-state
    object (“getNodeState(n)”) method of
    a guess-the-phrase-word object
    3063 condition that an n-th word 3064 get-valid-answers
    node-state is unsolved (“getValidAnswers( )”) method
    of the n-th guess-the-phrase-
    word object
    3065 array of valid answers 3066 check-word-attempt
    (“checkWdAttempt( )”) method
    3210 FinishedModeGUI object 3250 set-node-state method of
    guess-the-phrase-phrase object
    3250A “answered” parameter 3252 getAnswer method of the
    guess-the-phrase-phrase object
    3253 phrase answer 3254 draw-finished-mode-GUI
    (“PhraseAnswer[ ]”) message to finished-mode-
    GUI-object
    3310 expression (“Expression”) 3310A (expression ID)
    entity “ExpressionID” primary key
    3310B “NumWords” attribute 3310C “NumQuizzableWords”
    attribute
    3310D “NumNonQuizzableWords” 3310E “IsSuitableForQuestionYN?”
    attribute attribute
    3310F “IsSuitableForAnswerYN?” 3310G “IsSuitableForGuessThePhrase
    attribute YN?” attribute
    3311 canned-quiz (“CannedQuiz”) 3311A foreign-key-primary-key
    entity “ExpressionID_Answ”
    3311B question-text (“QuestionTxt”) 3311C “TotalCorrectAttempts”
    attribute attribute
    3311D “TotalWrongAttempts” 3312 CannedQuiz_SubjectCategory
    attribute entity
    3312A a foreign-key-primary-key 3312B a foreign-key-primary-key
    column column
    3314 SubjectCategory entity 3314A category code
    (“CategoryCode”)
    3314B “CategoryDescription” 3350 primary key symbol “PK”
    attribute
    3352 a primary-key column 3354 symbol “PF” for a foreign-key-
    primary-key column
    3356 a foreign-key primary-key 3358 cardinality of zero-or-one
    column
    3410 expression-word 3410A a foreign-key-primary-key
    “ExpressionWord” entity column
    3410B word-number-in-expression 3410C “IsDictionaryWordYN?”
    (“WordNumInExp”) attribute attribute
    3410D “IsQuizzableWordYN?” 3410E “IsCapitalizedYN?” attribute
    attribute
    3412 ExpressionWordDictWord 3412A foreign-key-primary key
    entity column, 3410A in 3412
    3412B foreign-key-primary key 3412C foreign-key-primary key
    column, 3410B in 3412 column, 3416A in 3412
    3412P composite primary key 3414 ExpressionWordNonDictWord
    entity
    3414P composite primary key 3416 DictionaryWord entity
    3416A primary key 3416B word-text “WordTxt” attribute
    “DictionaryWordID”
    3418 NonDictionaryWord entity 3418A primary key
    “NonDictionaryWordID”
    3418B word-text (“WordTxt”) 3510 Entity dictionary-word -
    attribute dictionary-word - contains
    (“DictWd_Dict:Contains”)
    3510A a foreign-key-primary-key 3510B a foreign-key-primary-key
    column of entity 3510 from column of entity 3510 from
    primary key 3416A primary key 3416A
    3510P foreign-key-primary-key of 3511 Entity dictionary-word -
    entity 3510 dictionary-word - contained by
    “DictWd_DictWd:ContainedBy
    3512 dictionary-word - dictionary- 3514 dictionary-word - dictionary-
    word - alternate spelling word - tense of
    (“DictWd_DictWd:AlternateSpelling”) (“DictWd_DictWd:TenseOf”)
    entity entity
    3516 dictionary-word - dictionary- 3518 dictionary-word - dictionary-
    word - abbreviation-or-long- word - root-or-derivative-of
    form (“DictWd_DictWd:RootOrDeriv
    DictWd_DictWd:AbrevOrLong Of”) entity
    Fm entity
    3518A a foreign-key-primary-key 3518B a foreign-key-primary-key
    column of entity 3518 from column of entity 3518 from
    primary key 3416A primary key 3416A
    3518P foreign-key-primary-key of
    entity 3518
    3520 dictionary-word - dictionary- 3522 dictionary-word - dictionary-
    word - synonym-of word - antonym-of
    (“DictWd_DictWd:SynonymOf”) (“DictWd_DictWd:AntonymOf”)
    entity entity
    3610 ExpWdDictWd_DictWd_Dict 3610A a foreign-key-primary-key
    Wd:RootOrDerivativeOf entity column of entity 3610 from
    primary key column 3412A
    3610B a foreign-key-primary-key 3610C a foreign-key-primary-key
    column of entity 3610 from column of entity 3610 from
    primary key column 3412B primary key column 3412C
    3610D a foreign-key-primary-key 3610E a foreign-key-primary-key
    column of entity 3610 from column of entity 3610 from
    primary key column 3518A primary key column 3518B
    3612 ExpWdDictWd_ExpWdDictWd_DictWd_Dict 3612A a foreign-key-primary-key
    Wd:RootOrDerivativeOf1 column of entity 3612 from
    entity primary key column 3412A
    3612B a foreign-key-primary-key 3612C a foreign-key-primary-key
    column of entity 3612 from column of entity 3612 from
    primary key column 3412B primary key column 3412C
    3612D a foreign-key-primary-key 3612E a foreign-key-primary-key
    column of entity 3612 from column of entity 3612 from
    primary key column 3610A primary key column 3610B
    3612F a foreign-key-primary-key 3612G a foreign key column of entity
    column of entity 3612 from 3612 from primary key column
    primary key column 3610C 3610D
    3612H a foreign key column of entity 3710 node (“Node”) entity
    3612 from primary key column
    3610E
    3710A node ID (“NodeID”) primary 3710B “IsExpressionYN?” attribute
    key
    3710C “IsNotAnExpressionYN?” 3710D parent-node-ID
    attribute (“ParentNodeID”)
    3710E node-level (“NodeLevel”) 3710F tree ID (“TreeID”) foreign key
    attribute
    3710J one to zero-or-one self-join 3711 one-to-zero-or-one cardinality
    between entities 3710 and
    3712
    3712 non-expression-node 3712A foreign-key-primary-key of
    (“NonExpressionNode”) entity entity 3712
    3712B is-it-a-canned-quiz-question- 3712C is-it-a-guess-the-phrase-word-
    yes-or-no node-yes-or-
    (“IsCannedQuizQuestionYN?”) no(“IsGuessThePhraseWordYN
    attribute ?”) attribute
    3712D is-it-a-multi-media-clip-yes-or- 3712E is-it-a-sound-clip-yes-or-no
    no (“IsMMClipYN?”) attribute (“IsSoundClipYN?”) attribute
    3712F is-it-a-picture-yes-or-no 3712G is-it-a-concealed-picture-
    (“IsPictureYN?”) attribute puzzle-yes-or-no
    (“IsConcealedPicturePuzzleYN
    ?”) attribute
    3713 one-to-zero-or-one cardinality 3714 expression-node
    between entities 3710 and (“ExpressionNode”) entity
    3714
    3714A “NodeID” foreign-key-primary 3714B “ExpressionID” foreign-key-
    key column in entity 3714 primary key column in entity
    3714
    3714C is-it-a-derived-clue-yes-or-no 3714D is-it-the-answer-to-a-canned-
    (“IsDerivedClueYN?”) quiz-question-yes-or-no
    attribute (“IsCannedQuizAnswerYN?”)
    attribute
    3714E is-it-a-guess-the-phrase- 3715 one-to-zero-or-many
    phrase-yes-or-no cardinality between entities
    (“IsGuessThePhrasePhraseYN?”) 3710 and 3714
    attribute
    3810 CannedQuizQuestionNode 3810A foreign-key-primary-key
    entity column in entity 3810 from
    3712A
    3810B foreign-key-primary-key 3810C has-multiple-choice-answer-
    column in entity 3810 from yes-or-no
    3311A (“HasMCAnswerYN?”)
    attribute
    3810D has-text-input-answer-yes-or- 3811 one-to-zero-or-one cardinality
    no between entities 3712 and
    (“HasTextInputAnswerYN?”) 3810
    3812 GuessThePhraseWordNode 3812A foreign-key-primary-key
    entity column in entity 3812 from
    primary key 3712A of entity
    3712
    3812B foreign-key-primary-key 3812C foreign-key-primary-key
    column in entity 3812 from column in entity 3812 from
    primary key column 3410A of primary key column 3410B of
    entity 3410 entity 3410
    3813 one-to-zero-or-one cardinality 4010 tree (“Tree”) entity
    between entities 3712 and
    3812
    4010A tree ID (“TreeID”) primary key 4010B is-template-yes-or-no
    “IsTemplateYN?” attribute
    4010C average-player-rating 4010D tree-created-by-player-ID
    “AveragePlayerRating” (“TreeCreatedByPlayerID”)
    attribute foreign key from a player
    entity
    4110 player (“Player”) entity 4110A player ID (“PlayerID”)
    primary key
    4110B first name (“FName”) attribute 4110C last name (“LName”) attribute
    4112 tree-player (“Tree_Player”) 4112A foreign-key-primary-key
    entity column referencing primary
    key 4010A of entity 4010
    4112B foreign-key-primary-key 4112C player-rating-of-tree
    column referencing primary (“PlayerRatingOfTree”)
    key 4110A of entity 4110 attribute
    4210 tree-formulator 4250 tree-formula-initialization
    (“:TreeFormulator”) object method
    (“initTreeFormulator( )”)
    4252 insert-tree (“insertTree( )”) 4254 tree ID (“TreeID”) value
    message
    4256 select-expression 4256A parameter to select where
    (“selectExpression( . . . ) ”) “IsSuitableForGuessThePhrase
    message YN?” attribute 3310G is set to
    “Y”
    4258 values returned from entity 4258A expression ID
    3310 (“ExpressionID”) value from
    column 3310A
    4258B number of words 4260 insert-node (“insertNode( . . . ) ”)
    (“NumWords”) value from message
    column
    3310B
    4260A parameter to set column 3710B 4260B Other parameters sent with
    to “Y” message 4260
    4260C parameter to set column 3710D 4260D parameter to set column 3710E
    to NULL to “1”.
    4262 node ID (“NodeID”) 4264 insert-expression-node
    (“insertExpressionNode( . . . ) ”)
    message
    4264A parameters of message 4264 to 4264B Parameter to set column”
    set columns 3714C and 3714D 3714E to “Y”
    both to “N”
    4266 set-level-one-parent-node-ID 4348 outer loop
    (“setLevel1ParentNodeID( . . . ) ”)
    message
    4350 select-expression-word 4350A parameter representing the
    (“selectExpressionWord( . . . ) ”) loop counter
    message
    4352 column values from entity 4352A value of column
    3410 “IsQuizzableWordYN?”
    3410D
    4352B values of column 4354 insert-node (“insertNode( . . . ) ”)
    “IsQuizzableWordYN?” message
    3410C and 3410E
    4354A parameter to set column 3710C 4354B other parameters sent with
    to “Y” message 4354
    4354C parent-node-ID 4354D parameter to set column 3710E
    (“parentNodeID”) parameter to to “2”
    set column 3710D to the node
    ID of the parent, top-level node
    4356 node ID (“NodeID”) return 4358 insert-non-expression-node
    value (“insertNonExpressionNode
    ( . . . ) ”) message
    4358A parameter to set column 3712C 4358B Other parameters of message
    to “Y” 4358 to set columns 3712B,
    and 3712D-3712G to “N”
    4360 insert-guess-the-phrase-word- 4360A parameter to set column 3812B
    node to the current expression ID of
    (“insertGuessThePhraseWord the top-level expression
    Node( . . . ) ”) message
    4360B parameter to set 3812C to the 4450 alt combined fragment
    counter value “n” representing
    the word number in the
    expression
    4452 condition that 4454 next (“next(n)”) method or
    “IsQuizzbleWordYN?” value next statement
    4352A is set to “N”,
    4456 condition that 4457 set-level-two-node-id
    “IsQuizzbleWordYN?” value (“setLevel2NodeID( . . . ) ”)
    4352A is set to “Y” method
    4458 loop combined fragment 4460 reset-level-two-parent-node-ID
    (“resetLevel2ParentNodeID( )”)
    method
    4461 level-two-node-id parameter 4462 select-related-expression
    (“selectRelatedExpression( . . . ) ”)
    message
    4464 related-expression-id 4466 “selectExpressionID_Answ”
    (“ExpressionID1”) message
    4466A parameter to select column 4468 “ExpressionID_Answ” value
    3311A from entity 3311 where
    column 3311A is equal to 4464
    4470 method or next statement
    4472 condition that checks that 4468 4550 condition that checks that 4468
    in not null is not null
    4552 insert-node (“insertNode( . . . ) ”) 4552A parameter that sets column
    message
    3710B “IsExpressionYN?” to
    “Y”
    4552B Parameter to set 4552C parent-node-ID
    “IsNotAnExpressionYN?” (“parentNodeID”) parameter
    column
    3710C to “N”
    4552D A parameter to set column 4554 node ID (“NodeID”)
    3710E to “3”
    4556 insert-expression-node 4556A parameter to set
    (“insertExpressionNode( . . . ) ”) “ExpressionID” column 3714B
    message to 4468
    4556B parameters to set columns 4556C Parameter to set column
    3714C and 3714E to “N” “IsCannedQuizAnswerYN?”
    3714D to “Y”
    4558 set-level-three-parent-node-id 4560 insert-node message
    (“setLevel3ParentNodeID( . . . ) )”
    method
    4560A parameter to set column 4560B parameter to set
    3710C, “IsExpressionYN?” 3710B to
    “IsNotAnExpressionYN?” to “N”
    “Y”
    4560C parent-node-ID 4560D parameter to set column 3710E
    (“parentNodeID”) parameter to “4”
    4562 node ID (“NodeID”) 4564 insert-non-expression-node
    (“insertNonExpressionNode
    ( . . . ) ”) message
    4564A parameter to set 4564B Other parameters to set
    “IsCannedQuizQuestionYN?” columns 3712C-3712G to “N”
    column 3712B to “Y”.
    4566 insert-canned-quiz-question- 4566A parameter to set 3810C to “N”,
    node
    (“insertCannedQuizQuestionNode
    ( . . . ) ”) message
    4566B parameter to set column 3810D 4650 initialize-guess-the-phrase-
    to “Y” phrase-node
    (“initGTPPNd( . . . ) ”) message
    4652 node-id (“NodeID”) 4654 select-expression
    (“selectExpression( . . . ) )”
    message
    4656 expression-id 4658 select-number-of-words
    (“ExpressionID”) (“selectNumWords( . . . ) ”)
    message
    4660 number-of-words 4662 initialize-guess-the-phrase-
    (“NumWords”) word-node-array
    (“initGTPWNd( )”) method
    4664 combined loop fragment 4666 select-guess-the-phrase-word-
    node (“selectGTPWNd( . . . ) ”)
    message
    4668 parameter to restrict column 4670 node-id (“NodeID”)
    3710D to 4652
    4674 add-guess-the-phrase-word- 4750 initialize-guess-the-phrase-
    node (“addGTPWNd( . . . ) ”) word-node-id
    method (“initGTPWNd( . . . ) ”) message
    4752 node-id (“NodeID”) 4754 select-expression-and-word-
    number
    (“selectExpression&WordNum
    ( . . . ) )” message
    4756 returns values 4758 parent-expression-id
    (“ParentExpressionID”)
    4760 word-number-in-parent- 4762 select-expression-word-
    expression information
    (“WordNumInParentExp”) (“selectExpressionWordInfo
    ( . . . ) ”) message
    4762A parameter which restricts 4762B parameter which restricts
    column 3410A.with 4758 column 3410B.with 4760
    4764 return values 4766 expression-id
    (“ExpressionID”)
    4768 word-number-in-expression 4770 “IsQuizzableWordYN?”
    (“WordNumInExp”)
    4772 “IsCapitalizedYN?” 4774 select-dictionary-word
    “(selectDictionaryWord( . . . ) ”
    message
    4776 Parameter that restricts column 4778 select-word-text
    3412A (“selectWordTxt( . . . ) ” message
    4780 word-text (“WordTxt”) 4782 set-answer (“setAnswer( . . . ) ”)
    method
    4784 condition that the word is a 4786 set-valid-word-answer
    quiz-able word (“setValidWdAnswer( . . . ) ”
    method
    4850 select-parent-node 4852 parent-node-id
    (“selectParentNode( . . . ) ”) (“ParentNodeID”)
    message
    4854 initialize-trivia-quiz-answer- 4856 loop combined fragment
    node (“initTQANd( )”) method
    4858 select-trivia-quiz-answer-node 4860 parameter to restrict column
    (“selectTQANd( . . . ) ”) message 3710D to node ID 4752
    4862 node id 4864 select-expression
    (“selectExpression( . . . ) ”)
    message
    4866 expression-id 4868 select-category-code
    (“ExpressionID”) (“selectCategoryCode( . . . ) ”)
    message
    4870 parameter which restricts 4872 category-code
    column 3312A with 4866 (“CategoryCode”)
    4874 set-trivia-quiz-answer-node 4950 initialize-trivia-quiz-answer-
    (“setTQANd( . . . ) ” method node (“initTQANd( . . . ) ”)
    message
    4952 node-id (“NodeID”) 4954 select-expression
    (“selectExpression( . . . ) )”
    message
    4956 expression-id 4958 select-number-of-words
    (“ExpressionID”) (“selectNumWords( . . . ) ”)
    message
    4960 number-of-words 4962 initialize-answer
    (“NumWords”) (“initAnswer( . . . ) )” method
    4964 combined loop fragment 4966 select-dictionary-word
    (“selectDictionaryWord( . . . ) ”)
    message
    4966A parameter which restricts 4968 dictionary-word-id
    column 3412B to the counter (“DictionaryWordID”)
    representing the word number
    4970 select-word-text 4972 word text (“WordTxt”)
    (“selectWordTxt( . . . ) ”)
    message
    4974 select-caplitalization 4974A parameter for counter value,
    (“selectCapitalization( . . . ) ”) which restricts colunm 3410B
    4976 “IsCapitalizedYN?” 4978 add-to-answer
    (“addToAnswer( . . . ) ”) method
    5050 convert-to-string 5052 array of words for the trivia-
    (“convertToString( . . . ) ” quiz-answer expression
    method
    5054 initialize-valid-answers 5056 string-answer
    (“initValidAnswers( . . . ) ”) (“stringAnswer”)
    method
    5058 select-guess-the-phrase-word- 5058A parameter that restricts column
    node (“selectGTPWNd( . . . ) ”) 3710A with node id 4952
    message
    5060 parent-node-id 5062 set-guess-the-phrase-word-
    (“ParentNodeID”) node (“setGTPWNd( . . . ) ”)
    method
    5064 select-trivia-quiz-question- 5064A parameter 5064A that restrict
    node (“selectTQQNd( . . . ) ”) column 3710D with 4952
    message
    5066 node-id (“NodeID”) 5068 set-trivia-quiz-question-node
    (“setTQQNd( . . . ) ”)
    5150 initialize-trivia-quiz-question- 5152 node-id (“NodeID”)
    node (“initTQQNd( . . . ) ”)
    message
    5154 a select-expression 5156 “ExpressionID_Answ”
    (“selectExpression( . . . ) )”
    message
    5158 select-question-text 5160 question text (“QuestionTxt”)
    (“selectQuestionTxt( . . . ) ”)
    message
    5162 initialize-question 5164 select-trivia-quiz-answer-node
    (“initQuestion( . . . ) ”) method (“selectTQANd( . . . ) ”) method
    5166 node-id (“NodeID”) 5168 set-trivia-quiz-answer-node
    (“setTQANd( . . . ) ”) method
    5210 round (“Round”) entity 5210A “TreeID” foreign key
    5210B “MatchID” foreign-key- 5210C round number “RoundNum”
    primary-key column primary key column
    5210D “TotalPointsAwarded” 5210E “MaxAvailPoints” attribute
    attribute
    5210F “StartDate” attribute 5210G “EndDate” attribute
    5210H “PlayerIDToStartRound” 5210I “IsStartedYN?” attribute
    foreign key
    5210J “IsSuspendedYN?” attribute 5210K “IsCompletedYN?”
    5212 “Round_Player” composite 5212A “MatchID” primary-key
    entity column
    5212B “RoundNum” primary-key 5212C “PlayerID” primary-key
    column column
    5212D “Score” attribute 5214 match (“AMatch”) entity
    5214A “MatchID” primary key 5214B “TotalPointsAvailable”
    attribute
    5214C “TotalPointsAwarded” 5214D “PlayerIDMatchAdmin”
    foreign key
    5214E “IsStartedYN?” attribute 5214F “IsSuspendedYN?” attribute
    5214G “IsCompletedYN?” 5216 “AMatch_Player” composite
    entity
    5216A “MatchID” foreign-key- 5216B “PlayerID” foreign-key-
    primary-key column primary-key column
    5216C “Score” attribute 5216D “ControlOrder” attribute
    5310 game administrator 5312 player object (“Player”)
    (“GameAdmin <<actor>>”)
    5314 match (“Match”) object 5350 initiate-game (“initGame( . . . ) ”)
    message
    5352 array of player IDs of size “P” 5354 number of rounds
    (“playerID[P]”) (“numRounds”)
    5356 array of “R” tree IDs 5358 initilize-control-sequence
    (“TreeID[R])”) (“initControlSeq( . . . ) ”)
    5360 combined loop fragment 5362 initialize-player
    (“initPlayer( . . . ) ”) message
    5364 player ID of the counter index 5366 select-player
    value (“playerID(p)”) (“selectPlayer(p)”) message
    5368 reference to the player object 5370 add-to-control-sequence
    (“addToControlseq( . . . ) ”)
    method
    5372 initialize-match 5374 control sequence
    (“initMatch( . . . ) ”) message (“controlSeq”)
    5376 insert-match (“insertMatch( )”) 5378 “MatchID” value
    message
    5380 reference to the match object 5450 next-control-sequence
    (“nextControlSeq( . . . ) ”)
    method
    5452 parameter “r”, the index of the 5454 initialize-round
    current round (“initRound( . . . ) ”) message
    5456 match ID (“MatchID”) 5458 insert-round
    parameter (“insertRound( . . . ) ”) message
    5460 tree ID of the round index 5462 index of the current round plus
    (“TreeID(r)”). one
    5464 round reference 5466 select-top-node
    (“selectTopNode( . . . ) ”)
    message
    5468 parameter that restricts column 5470 node ID (“NodeID”) return
    3710E to “1”. value
    5472 get-number-of-words 5474 initialize-guess-the-phrase-
    (“getNumWords( )”) message word-GUI-information
    (“initGTPWGUIInfo( )”)
    method
    5550 combined loop fragment 5552 get-nth-guess-the-phrase-word-
    node (“getGTPWNd(n)”)
    message
    5554 node ID (“NodeID”) 5556 reference to the guess-the-
    phrase-word node
    5558 get-guess-the-phrase-word- 5560 return values
    node-GUI-information
    (“getGTPWNdGUIInfo( )”)
    message
    5562 word text (“WordTxt”) 5564 is-quiz-able-word-yes-or-no
    (“IsQuizzableWdYN?”)
    5566 node state (“nodeState”) 5568 get-word-length
    (“getWordLength( . . . ) ”)
    message
    5570 add-guess-the-phrase-word- 5572 length (“wordLength”)
    GUI-information
    (“addGTPWGUIInfo( . . . ) ”)
    method
    5574 initialize-navigation-mode- 5576 guess-the-phrase-phrase-node-
    GUI (“initNavModeGUI( . . . ) ”) ID (“GTPPNdID”)
    message
    5578 guess-the-phrase-word-GUI- 5580 initialize-control-and-score-
    information GUI
    (“GTPWGUIInfo[ ]”) array (“initCntrl&ScoreGUI( . . . ) ”)
    message
    5582 array of player scores for the 5584 array of player scores for the
    round (“round.player.score[ ]”) match (match.player.score[ ]”)
    5586 control sequence 5588 index for the player with
    (“controlSeq”) control (“cntrlIndex”)
    7010 quiz question for clue “Shrek” 7012 quiz question for clue “The
    Hobbit”
    7014 quiz question for clue “Bruce 9510 phrase component title bar
    Lee”
    9512 phrase component 9520 horizontal scroll bar
    9530 score-and-control component 9540 quiz navigator component
    9550 Match Parameters Display 9560 Pause/Quit Match button
    component
    9562 Score and Control component 9564 Match Parameters component
    button button
    9566 quiz navigator component 9568 Match History component
    button button
    9570 phrase component button 9572 My Player Console button
    9574 Chat component button
  • DETAILED DESCRIPTION Logical Description—FIG. 1
  • The detailed embodiment uses “nodes” to relate quiz-data into structures that can be persisted and accessed at runtime. Nodes represent uniquely identified information fragments that may serve the purpose of a clue or an answer depending on context. The information fragment is the data associated with a clue or answer. For a text-based clue or answer it represents the text that might be displayed in the interface. A unique identifier is imposed on an information fragment in order to uniquely represent it in the context of one “quiz-tree”. A quiz-tree is more generally described as a quiz structure. A general quiz structure and a quiz-tree sub-structure is a node chain. A node chain is comprised by three or more nodes associated in a linear sequence. Nodes and information fragments can be provided by a persistent computer storage means, such as a database. Nodes can generally have their information fragment exposed or unexposed in a game interface. Nodes can be visually represented as dots. Associations between nodes can be represented by connecting lines. A quiz-tree represents nodes and their associations used in a QNQ puzzle. A quiz-tree can be logically depicted as a genealogy or tree root system which brachiates from a single top node. A one-lower-level node connected node-to-node with a higher level node could be called a ‘child’ node of the one-higher-level ‘parent’ node.
  • The outcome of an iteration of a hypothetical embodiment of a QNQ is logically depicted (FIG. 1). The symbol for a node that is a top-level answer 140 is a large hollow circle. It is node that can only be an answer since it is the final answer to a QNQ puzzle.
  • In FIG. 1, nodes levels are consecutively numbered from the top level to the lowest level. In the present discussion, a top level or node-level one is represented as node-level 1110. Node-level 2 112, node-level 3 114, node-level 4 116, and node-level “n” 130 follow.
  • The symbol for a revealed node 142 is a solid circle. The symbol for an association 141 between a revealed, lower node 142, acting as a clue, with another node, acting as an answer, is a thick connecting line. Revealed nodes 142 are generally revealed by supplying a correct answer, except at the bottom-most level of a branch. Revealed nodes 142 at the bottom-most level of a branch represent clues that were supplied by an embodiment for the solution of their one-higher-level answer. They are nodes that serve as clues but are never answers.
  • The symbol for an unrevealed node 146 is a solid square. The symbol for an association 145 of a lower unrevealed node 146, acting as a potential, or unexposed clue, to an upper node, acting as an answer, is a relatively thin line.
  • In some cases a revealed node at level “n”, might allow a player to cognitively solve the level-“n−2” node at virtually the same time as the level-“n−1” node. In terms of the game interface, a player might choose to bypass solving the level-“n−1” node and directly solve the level-“n−2” node.
  • In the detailed embodiment which follows, the objective of the game is to solve the top-level answer as efficiently as possible. Therefore, bypassing the level-“n−1” node solution would not be discouraged by the scoring system. A solid oval symbol 144 is used to depict a cognitively solved node. It represents a node that was cognitively solved by a player, but not formally solved as an answer. Its solution was bypassed in favor of solving the higher, level-“n−2” quiz. Unrevealed nodes 146A represent nodes that went unrevealed, until they were revealed by virtue of the solution of the top-level quiz.
  • The logical structure can vary between different iterations of any given embodiment of a QNQ, as well as between different embodiments of a QNQ. For any given quiz-tree, the depth and depth constancy between branches can be either variable or fixed. The number of child nodes connected to a parent node can be either constant or variable.
  • In the current embodiments, quiz solution is directed from bottom to top within branches, cognitively progressing one level at a time within a branch. In the current embodiments, the selection of quizzes is directed from top to bottom. These embodiments assume that the interface provides an indication of the top-level quiz at the beginning of a round, even though its solution is obscured. Also possible are embodiments where players have no exposure to the top-level quiz until later in the game. Embodiments are possible where navigation and quiz selection begins deeper within the quiz hierarchy. Embodiments are possible that present the option of exposing a clue without solving it from an underlying quiz, even when the clue is not at the bottom-most level of a branch. Embodiments that change the orientation of a quiz-tree, by inverting it for example, are possible.
  • There may be hints to aid in a node's solution. Such hints may be implicit to an indicator means for indicating a node without revealing it, such as a masking means. In the present embodiment, the phrase-words are indicated at the beginning of a round. Hints can also be provided by the visible categorization of lower level quizzes. Such suggestions of a quiz answer are called “implicit hints” to aid in the solution of a node. Such implicit hints are not considered “clues” in terms of the discussion which follows. However, implicit hints could be represented as nodes so the distinction is somewhat arbitrary.
  • Other embodiments could use other means for obscuring a node solution, such as including it in a large selection list with many incorrect solutions. Such a means would be beneficial in a system designed to limit typing.
  • The quiz to solve the top-level answer does not necessarily have to be of the same type as the quizzes that are available to solve the nested quizzes nor do any of the quizzes in an iteration of the game necessarily have to be of the same type. The quiz types associated with a node can generally be consistent or variable in respect to any other part of the hierarchy.
  • Embodiments can be implemented with many types of textual and word character quiz forms, such as word riddles, as well as non-textual and mixed forms including but not limited to quizzes involving mathematics, logic, pictures, symbols, video, sound, music, animation, video, real or virtual destinations, or any combination of quiz types.
  • A first embodiment of a QNQ is explained herein in the context of a game combining a ‘guess-the-phrase’ quiz with a question-and-answer trivia quiz.
  • FIGS. 2-14 Interface for Combined-Guess-the-Phrase-and-Trivia-Quiz Embodiment Overview
  • The following embodiment is called a “combined-guess-the-phrase-and-trivia-quiz embodiment”. The combined-guess-the-phrase-and-trivia-quiz embodiment is determined by many design decisions and is an example embodiment. The details presented are not intended to diminish the generality of either the combined guess-the-phrase-and-trivia-quiz embodiment or of other embodiments.
  • The combined-guess-the-phrase-and-trivia-quiz embodiment is generally described as a computer-based embodiment. It is also generally described as a game that is concurrently played by multiple players, although a single-player mode is assumed. Multi-player and single-player modes can be options under the present embodiment. They could also be offered as alternative embodiments. Where functionality specifically applies to multi-player variants it is construed as being part of a multi-player mode or embodiment only. Where functionality does not specifically apply to multi-player variants, it is construed to be included by either multi-player and single-player modes or embodiments.
  • The example top-level answer is an expression that is a common saying or proverb. It could also be a famous quotation, song lyric, poem, book excerpt, news headline, piece of knowledge or trivia, etc. A quiz database will contain a satisfactory repository of top-level phrases and underlying quizzes for maintaining novelty. Each word under the top-level phrase is a clue. Clues are unexposed at the beginning of a “round”. They are generally either exposed or unexposed during a round. At the beginning of each round, the user interface and system will be refreshed with a new, unexposed top-level phrase with fresh underlying quizzes, which are stored in a quiz database.
  • In the detailed embodiments, one iteration of a QNQ has one quiz-tree. The top-level expression is masked at the beginning of a single iteration of the game, called a “round”. A round is complete when the top-level expression is solved or cannot be solved by the players. In the event that the top-level expression cannot be solved, the round is gracefully ended (not shown). One or more rounds in some type of sequential context could be called a “match”.
  • A major goal of a round is to reveal the top-level expression. The top-level expression contains at least one, and generally two or more words that can each be the subject of one or more additional, nested quizzes. Such words are called “quiz-able-words”. These are each an answer of a lower-level quiz. Each quiz-able word can have a number of available clues. There may also be any number of words that form a part of the top-level expression that are not subject to nested quizzes, and these are called “filler-words”.
  • There are four levels of nodes and three levels of quiz in this embodiment. The depth of available clues is constant in this embodiment. The number of available clues per node is not constant throughout but is constant between node-levels four and three at one available clue per higher level node.
  • The quiz spanning node-levels two and one is a guess-the-phrase quiz to reveal the top-level expression. Quizzes between node-levels three and two are for revealing the quiz-able-word(s) contained in the top-level phrase. Quizzes between node-levels four and three are trivia-quizzes for finding clue(s) related to the quiz-able-words. Quizzes between node-levels four and three are categorized. Categorization of node-level four clues can provide implicit hints at node-level three answers. Categorization does not provide a clue as defined herein.
  • Unless the top-level quiz can be answered otherwise, quiz-able-words must be solved either cognitively or within the user interface. A clue will be found by correctly answering a quiz related to a quiz-able-word. The clue is the correct answer to a preceding quiz on a quiz-able-word, and is an expression that suggests its related quiz-able-word without necessarily solving the quiz-able-word. There could be multiple quizzes taken, and multiple clues obtained, for each quiz-able-word.
  • At the beginning of a round, all words in the top-level expression are masked. Players can see a mask for each character of each word. The masks prevent the viewing of underlying words until mask removal. Alternative embodiments could use a mask that conceals the word length, and have automatically-revealed filler-words.
  • The attached claims reference a first, second, and third node. In reference to the claims, nodes of the present embodiment at node-levels two, three and four refer to the first, second and third nodes respectively.
  • User Interface—FIGS. 2-13
  • The phrase component can appear in an integrated graphical user interface, such as the one indicated in FIG. 95. A score-and-control component 9530 will be displayed to each player during a round. An answering-turn-display component, 470 of FIG. 4 will be displayed when the game is in an answering mode. In single-player mode, the answering-turn-display component is modified to show the remaining time without showing information about other players.
  • Words in the phrase component are referred to in terms of their order of appearance in the user interface. The term “first quiz-able word” simply indicates that the word is the first quiz-able word to appear in the phrase. Nodes for the top-level expression, word, trivia-quiz answer, and trivia-quiz question are logically related in a quiz-tree. The quiz-tree for the sample iteration is shown in FIG. 14. When referring to components in their structural sense within their quiz-tree, the numbering of FIG. 14 is used. When referring to components in their user-interface sense, the numbering of FIGS. 2-13 is used.
  • FIG. 2 represents the phrase component at the beginning of a round of play, in a mode called “navigation mode”. As discussed further, there are four modes of the phrase component. These modes are “navigation”, “quiz-able-word-guessing”, “phrase-guessing” and “finished”. Except for finished mode, the modes can alternate during a round.
  • A “phrase section” 212 contains a sample masked phrase to be solved within one round. A phrase appearing in the phrase section generally contains zero or more filler-words and one or more quiz-able-words. In the example, there are initially unrevealed first and second quiz-able-words 220A1 and 220B1, with attached hyperlink. These refer to “nodes” 220A and 220B of FIG. 14. Initially there are also unrevealed first, second and third filler-words 218A1, 218B1 and 218C1, with attached hyperlink. These refer to “nodes” 218A, 218B and 218C of FIG. 14.
  • Each character of each word in the phrase is initially masked. An asterisk character is used to distinguish each character of unrevealed first, second and third filler-words 218A1, 218B1 and 218C1, with attached hyperlink. In contrast, a question mark character is used to distinguish each character of unrevealed first and second quiz-able-words, with attached hyperlink 220A1 and 220B1.
  • The distinction between quiz-able-word and filler-word masking characters, as well as the information supplied by the number of masking characters in a word, are examples of implicit hints which are not clues as defined herein.
  • A quiz-able-word or filler-word may be in a state of being masked or unmasked during a round. The mask overlying each word is part of an indicator means. It provides an indication of its respective word, without revealing its word. In the present embodiment, the indicator means includes a system means. The system means can include providing a hyperlink anchor having the masking characters. Source anchor text, or an image could be used. The hyperlink anchor indication can be provided by HTML generated by a servlet or Java Server Page run on an application server. The indication shows the existence of the word without exposing it. The indication also provides a user interface location for the unrevealed word. Players can take actions based on the indication.
  • In the present embodiment, the indication also offers a suggestion or implicit hint of the word answer. This suggestion is provided by the number and type of masking characters.
  • Once unmasked, a word remains unmasked, or revealed, for the remainder of the round. Each entire word will be either entirely masked or entirely unmasked unless it is in the process of being revealed by a player. All words in phrase section 212 are masked at the beginning of a round. Mask underlining for unrevealed words 220A1, 220B1, 218A1, 218B1 and 218C1 indicates a hyperlink that is attached to each word.
  • Each clue found on a quiz-able-word is displayed in a word-clue section 214, which is demarcated by a word-clue section label 222. A quiz-able-word clue is to be presented in quiz-able-word- clue cell 230A or 230B below the quiz-able-word to which it pertains. Each clue remains displayed until the end of a round. In an alternative embodiment, the clues could disappear once their associated quiz-able-word answer is revealed.
  • Dashed horizontal lines used to fill in areas represent the color gray or some other color. Empty cells 228 beneath each of filler-words 218A1, 218B1 and 218C1 are not subject to input and display nothing, and are therefore represented as grayed.
  • Subject to control and answering rules and the current assignment of control and answering privilege, a player can initiate a guess at the top-level quiz by selecting a “Solve-phrase” button 216A, visible in navigation mode.
  • Clicking on unrevealed first quiz-able-word 220A1, with attached hyperlink displays a quiz-and-word-guessing-selector component (FIG. 3). The quiz-and-word-guessing-selector component takes the form of a menu over the phrase component just below unrevealed first quiz-able-word 220A1, with attached hyperlink. The quiz-and-word-guessing-selector component has a top-level menu 310. Top-level menu 310 contains a “word-guess” menu option 312 and a “find-a-clue” menu option 314.
  • The quiz-and-word-guessing-selector component, and, more particularly, the “find-a-clue” menu option 314 and its submenus, are part of a selector means. In the present embodiment, the selector means includes a system means. This includes an arrow-cursor 99 and an input means, such as a computer mouse. The selector means is presented for each quiz-able word until the top-level phrase is solved, or until a quiz-able word's quizzes are exhausted. The selector means also uses a first exposure means which refers to the means that exposes a selected quiz question in the user interface.
  • In the present embodiment, the selector means allows a player to select one or more quizzes associated with each unsolved quiz-able-word. The selector means could include a JavaScript function that specifies how to call a servlet and pass a node identification value for the quiz-able word. The JavaScript function could be invoked from a hyperlink anchor for the quiz-able word. In the present embodiment, the selector means can include a browser request from the client to a controller servlet(s). The request passes the node-identification value of the selected quiz-able word. One server-side, the controller servlet passes the request to Enterprise Java Beans comprising the game model. Servlets and JSP files could be used to generate the HTML for the quiz-and-word guessing selector component. Alternately, only parameters needed for the variable information in the quiz-and-word-guessing selector component would be returned from the server. Other options include pre-loading quiz data on the client using XML or some other means, and having an applet that makes a request to the controller servlet.
  • An attachment means attaches the selector means to the indication of the quiz-able word. The attachment means includes a system means. In the present embodiment, the attachment means could include a hyperlink value or parameter for the quiz-able word's node-identification value. This is part of the hyperlink which provides the indication of the quiz-able word. The attachment means also associates the quiz-able word hyperlink to the selector means. It can do this with HTML and JavaScript that invokes the selector means when there is a mouse over event.
  • Placing arrow cursor 99 over find-a-clue menu option 314 (action not shown) presents a flyout menu called a quiz submenu 330. Its options are specific to the selected quiz-able-word and are based on the quizzes associated to it within the quiz-tree. Quiz submenu 330 presents the available quizzes by category. In the example, there is a television-quiz-category-menu option 332A, a movies-quiz-category-menu option 332B, a music-quiz-category-menu option 332C, and a sports-quiz-category-menu option 332D.
  • Each quiz-category-menu option 332A-332D displays the number of available quizzes per category in brackets. For example, a number of quizzes 332A1 in the “television” category is shown to be five. In an alternative embodiment, the quiz-and-word-guessing-selector component could be augmented, for example, to present the difficulty level of the available quizzes as well as subcategories.
  • Selecting one of quiz-category-menu options 332A-332D displays the next available trivia-quiz within the selected category by opening a trivia-quiz component (FIG. 4). The trivia-quiz component is a pop-up dialogue that displays a quiz and accepts player input. The trivia-quiz component has a quiz heading 410A. Quiz heading 410A includes a category 410A1, a quiz number 410A2 per category, and a total number of available quizzes 410A3 in the category pertaining to the quiz-able-word (220A of FIG. 14).
  • Also displayed are a quiz question 412A1, and an answer label 414A showing players where to type a guess. An answer-attempt textbox 416 will accept typed input from a player. A point-deduction warning 418 reminds players of a deduction for a wrong answer. A submit button 420 submits a guess in answer textbox 416 to the system for validation. A clear-answer button 422 clears answer textbox 416. A pass-guess button 424 allows a player to pass on the quiz without guessing.
  • Functionality provided by the trivia-quiz component, and particularly quiz question 412A1, is part of a first exposure means for exposing the information fragment comprised by the node identification value of the trivia-quiz-question node. The first exposure means includes a system means for obtaining quiz-question data from a trivia-quiz-question node and passing it to the trivia-quiz component.
  • A first guessing means allows a guess to be provided for a trivia quiz. The first guessing means includes functionality provided by the trivia-quiz component and particularly answer-attempt textbox 416 and submit button 420. It also includes a system means for providing a guess to a first validation means. In the present embodiment, this functionality includes passing a node identification value representing the trivia-quiz question to the system. Submitting a guess to a controller servlet could be accomplished using Javascript and HTML. It could also be accomplished using an applet request to the controller servlet. The first guessing means also includes a hand-pointer cursor 95. Also included is an input means, such as a computer keyboard for example.
  • In a sequential-answering system, an answer-attempt textbox 416 and buttons 420, 422, and 424 are enabled for the player with answering privilege. Players without answering privilege see a view of the trivia-quiz component as it is presented to the player with answering privilege. Alternatively, players without answering privilege have 416, 420, 422 and 424 disabled on their display.
  • Answering-turn-display component 470 shows which player has answering privilege for multiplayer modes or embodiments. A “turn” column heading 482 and a “player” column heading 472 help to arrange the display. An alarm clock icon 476 and a number of seconds 480 adjacent to a player name 474B, indicates which player has answering privilege and the amount of time that player has remaining to submit a guess before losing answering privilege. A “next” indicator 478 adjacent to a player name 474C indicates the next player in the answering privilege order. A third player name 474A is also indicated.
  • FIG. 5 depicts the trivia-quiz component with answer-attempt text 416A typed into answer-attempt textbox 416. A hand-pointer cursor 95 over submit button 420 indicates that a player is about to submit an answer attempt. Pressing submit button 420 submits a guess to the system for validation. A first validation means provides a validation result for the guess. In the present embodiment, the first validation means includes a system means. The system means includes using a node identification value for a trivia-quiz question to a get a node identification value of a corresponding trivia quiz answer. It includes getting the valid answer(s) for that node, and comparing them to the guess supplied from the interface. In the present embodiment, a validation result of success or failure is determined by the system. The validation process is dependent on quiz-to-answer matching criteria, explained further below.
  • On a validation result of failure, points are deducted from the score of the player who submitted the guess. In a sequential answering system, answering privilege to the trivia-quiz component passes to the next player. Answering privilege is passed until the quiz is solved or until each player has had answering privilege for the currently selected trivia-quiz one time. If no player successfully answers the quiz, the trivia-quiz component closes and no new clue is provided in quiz-able-word clue cell 230A (FIG. 2). The player with control can then take a new action.
  • An alternative embodiment might support a ‘first-response’ answering system. In a first-response answering system, the interface permits all players to guess at the same time. The system registers the order in which players submit their guess. Validation of the guesses is performed in the order they are received by the system. Validation continues until there is a successful validation result. The first player to successfully answer a quiz gains control to select the next action.
  • When there is a successful validation result, the system closes the trivia-quiz component. The system increases the score of the player whose guess had a successful validation result. A new clue 230A1 is revealed in quiz-able-word clue cell 230A as depicted in FIG. 6. First quiz-able-word 220A1 has first clue 230A1, “Marty McFly”, a movie character. Clue 230A1 is an expression that contains the first quiz-able-word, which will be revealed to be “fly”. Control will go to the player who successfully answered the most recent trivia-quiz. In alternative embodiments, control can be based on different rules.
  • Clue 230A1 is revealed by a second exposure means. In the present embodiment, this includes a system means. This includes providing an answer, and the node identification value of the trivia-quiz-answer node to phrase component in navigation mode. The second exposure means could for example include HTML anchor text, or a client applet field
  • The player with control might decide to guess at the quiz-able-word for which the clue was just found. The player with control could also take any other valid action such as initiating a guess at the phrase, finding more clues on either quiz-able-word, revealing a filler-word, or potentially, choosing to pass control.
  • It is presumed that the player with control next positions hand-pointer cursor 95 over unrevealed second filler-word 218B1, with attached hyperlink and clicks her mouse button. A “buy-word” menu 338, containing one item, is next displayed as shown in FIG. 7. In an alternative embodiment, a player might also have the option to guess at an individual filler-word. Only the player with control can select menu 338. Buy-word menu 338 is selected by a player releasing her mouse button with menu 338 selected with arrow cursor 99. This action opens a confirmation pop-up dialogue window depicted in FIG. 8.
  • The confirmation pop-up in FIG. 8 confirms the player's decision to buy the selected filler-word. A word-cost warning label 510 reminds the player in control of the cost of buying a filler-word. A word-cost message 512 asks the player in control if she wants to buy the selected word. The player can proceed to buy the filler-word by placing hand-pointer cursor 95 over a “yes” button 514 and mouse clicking. The player can also click a “no” button 516, canceling the filler-word purchase and closing the confirmation pop-up dialogue window.
  • FIG. 9 depicts the phrase component in navigation mode with revealed second filler-word 218B5 that was revealed by buying a word. Further player action cannot be taken on revealed second filler-word 218B5 as shown by its lack of a hyperlink, which had been indicated by underlining.
  • After the round has been in progress a while, the phrase component might appear similar to FIG. 9, except with two clues revealed in first quiz-able-word cell 230A. The player with control might guess at unrevealed first quiz-able-word 220A1, with attached hyperlink. This can be accomplished with word-guess menu option 312 depicted in FIG. 3.
  • Opting to guess at a quiz-able-word will change the mode of the phrase component to word-guessing mode, depicted in FIG. 10. First quiz-able-word's presumed second clue 230A2, “The Flight of the Phoenix”, is a movie name. Clue 230A2 is also an expression containing a word derivative, “flight”, of the quiz-able-word, “fly”.
  • In word-guessing mode, solve-phrase button 216A of FIG. 9 disappears. It is replaced by a submit-guess button 216B, a clear-guess button 216C, a cancel-guess button 216D, and a point-deduction warning 216E of FIG. 10. A first quiz-able-word response 220A4 is accepted as text input from a player. The interface indicates that the field in which 220A4 is input is “active” by enlarging the font of 220A4, placing a field border 97 around it, and placing an insertion cursor 98 in the field. Unrevealed second quiz-able-word 220B2, without attached hyperlink and unrevealed first and third filler-words 218A2 and 218C2, without attached hyperlink will not accept input or action, as depicted by their absence of underlining, and are therefore “inactive”.
  • As the player with control inputs response 220A4, the masking characters are replaced with the typed text. Insertion cursor 98 moves according to the input. FIG. 10 depicts two of the three characters of 220A as having been inserted.
  • The phrase component in word-guessing mode, and particularly response 220A4 and button 216B are part of a second guessing means. Also included is the quiz-and-word-guessing selector component, and particularly 312. In the present embodiment, the second guessing means includes a system means. This includes a means for inputting a guess in the interface. It also includes a means for submitting the node identification value of the quiz-able word node, along with the attempt, to the system for validation. This can include Javascript and HTML on the client, or an applet, for submitting a guess to a controller servlet.
  • It is presumed that the player with control completes a (correct) guess and submits the guess with submit-guess button 216B. Next, the system validates the attempt. On a successful validation result, focus returns to the phrase component in navigation mode, showing revealed first quiz-able-word 220A5 (FIG. 1, for 220A5 only) for the round duration. The successful player retains control.
  • Validation is provided by a second validation means which includes a system means. This includes accessing the valid answers associated with the node identification value for the quiz-able word, and comparing them with the supplied attempt to obtain a validation result.
  • If the player with control (FIG. 10) cancels guessing at the word with cancel-guess button 216D, focus returns to the phrase component in navigation mode. The display would appear similar to FIG. 9 except with clue 230A2 shown in FIG. 10. Control remains as is.
  • If, in FIG. 10, the player with control were to clear the guess with clear-guess button 216C, all characters of first quiz-able-word 220A would become masked. The phrase component would remain in word-guessing mode with focus on first quiz-able-word 220A and control remaining as is.
  • If the player with control were to submit an incorrect guess, unrevealed first quiz-able-word 220A1, with attached hyperlink would be shown. The screen would be like FIG. 9, except with clue 230A2 shown in FIG. 10. The phrase component would return to navigation mode. Control would be passed to the next player in the control sequence. The control and answering rules could be varied in different embodiments. There could also be a “pass-guess” button, not shown, to pass answering privilege to the next player in a sequential answering system.
  • Presuming that the player completes a response 220A4 to the first quiz-able-word and submits a correct guess (FIG. 10), revealed first quiz-able-word 220A5 (FIG. 11, for 220A5 only), “fly” would be shown and the phrase component returned to navigation mode. After the round has been in progress for a further while, two clues might be found for second quiz-able-word 220B and displayed in the second quiz-able-word-clue cell 230B.
  • In the present embodiment, revealed first quiz-able word 220A5 is provided by a third exposure means, including a system means. This includes obtaining the answer for the quiz-able word based on its node identification value, and returning it to the user interface. The third exposure means could for example include HTML anchor text, or a client applet field which displays the answer.
  • The player with control might then click solve-phrase button 216A (FIG. 9, 216A only) to change the phrase component to phrase-guessing mode. The player might then begin completing the phrase as depicted in FIG. 11.
  • A first clue 230B1, for second quiz-able-word 220B3 in a guessing mode is “Appointment for Love”. This is a movie name that is an expression containing the second quiz-able-word “ointment”. A second clue 230B2, for 220B3 is “Cream”, the name of a music band. It is also a one-word expression with a word that is a synonym for the second quiz-able-word “ointment”. FIG. 11 describes a situation where the player solving the phrase cognitively solves second quiz-able-word 220B (FIG. 14), and with that information, proceeds to solve the top-level phrase.
  • Phrase-guessing mode is akin to word-guessing mode, except it supports the solution of the phrase as opposed to only one word. Submit-guess button 216B submits the phrase attempt for validation. Clear-guess button 216C masks all previously unsolved words, in this case 218A, 218C and 220B (FIG. 14), leaving the phrase component in phrase-guessing mode. Cancel-guess button 216D (FIG. 11) cancels phrase-guessing and returns the phrase component to navigation mode. Point-deduction-warning label 216E refers to a phrase guess. There could also be a “pass-guess” button, not shown, to pass answering privilege to the next player in a sequential answering system.
  • FIG. 11 shows a response 218A4 to the first filler-word, a response 218C4 to the third filler-word, and second quiz-able-word 220B3 in a guessing mode. These words can accept player input and are active. Revealed first quiz-able-word 220A5 and revealed second filler-word 218B5 will not accept input and are inactive in the example. Active words are indicated by enlarged font, with field borders 97 around them. Insertion cursor 98 starts at the beginning of response 218A4. Once all characters of response 218A4 to the first filler-word are entered, insertion cursor 98 moves to the beginning of the next active word to facilitate all active fields receiving an input. Insertion cursor 98 can be relocated with the forward and back keys of a standard keyboard, not shown. Insertion cursor 98 can also be relocated with text cursor 96 that appears when the cursor is placed near one of the active text fields for 218A4, 218C4, and 220B3.
  • FIG. 12 depicts a continuation of the phrase component in phrase-guessing mode. Completed response 218C4 to the third filler-word, and response 220B4 to the second quiz-able-word are shown. It is presumed that hand-pointer cursor 95 is next placed over submit-guess button 216B. Clicking button 216B submits the attempted phrase solution to the system for validation. If unsuccessful, the phrase component would return to navigation mode and control would pass to the next player in the control sequence. If successful, the phrase component would be displayed in finished mode as depicted in FIG. 13. In FIG. 13, revealed first filler-word 218A5, revealed third filler-word 218C5, and revealed second quiz-able-word 220B5 are shown. These are in addition to previously revealed first filler-word 218A5 and previously revealed second filler-word 218B5.
  • Finished mode indicates that the top-level phrase has been correctly answered. The phrase component will not respond to player action and the round is over. Finished label 216F displays in place of the buttons and point-deduction warning of the other modes.
  • During the round, points for the round were distributed as earned by the players, and the running round and match scores were updated. If the match contains more rounds, the phrase component is displayed in navigation mode with a new, fully masked top-level quiz. If the match contains no more rounds, the match ends.
  • Logical Description of a Game Round—FIG. 14
  • FIG. 14 portrays the logical structure of a sample round of the combined guess-the-phrase-and-trivia-quiz embodiment of a QNQ. FIG. 14 uses the symbols introduced with FIG. 1 to describe a QNQ. In FIG. 14, words, text and expressions, called information fragments, are identified with the nodes to which they belong. FIG. 14, includes information about the clues revealed to solve a top-level answer 1410.
  • Quiz question 412A1, at node-level four, is the trivia-quiz question introduced in FIG. 4. Its solution is first quiz-able-word's first clue 230A1, at node-level 3. It is one of two clues to first quiz-able-word 220A. First quiz-able-word 220A is one word of top-level answer 1410.
  • Quiz question 412A2 is another quiz question, not previously specified. Its solution is the first quiz-able-word's second clue 230A2 discovered for the first quiz-able-word in the sample round. It is the other of two clues to first quiz-able-word 220A.
  • Quiz questions 412A3 and 412A4 are quiz questions, not previously specified, whose answers become the second quiz-able-word's first clue 230B1 and second clue 230B2 respectively. Second quiz-able-word 220B was formally solved with the top-level phrase solution in the sample round. It is therefore depicted as a cognitively solved clue.
  • Other nodes are drawn to depict the domain of quizzes that were available in the sample round. Filler- words 218A, 218B and 218C round out node-level 2. Filler-word 218B was revealed by buying a word in the sample round, and so is depicted with the symbol for a revealed clue 142. Filler- words 218A and 218C were only revealed with the solution of top-level answer 1410. They are therefore depicted with the symbol for an unrevealed clue 146.
  • FIG. 14 shows the categorization of the trivia-quizzes spanning node-levels three 114 and four 116. Trivia-quiz categories 1420A were used to group quizzes that provide clues for first quiz-able-word 220A. Categories include a sports category 1420A1, a movies category 1420A2, a music category 1420A3 and a television category 1420A4. Categorization details are indicated on the first quiz-able-word only. Trivia-quiz categories 1420B are also used to group the quizzes that provide clues for second quiz-able-word 220B.
  • User Interface Flow Diagram—FIG. 15
  • FIG. 15 depicts the user interface flow without control and answering privilege details. The phrase component in navigation mode 1510 (depicted in FIG. 2), is the starting point of the game. From it, a player can access the quiz-and-word-guessing-selector component, find-a-clue option 1520 (indicated by menus 314, 332A-332D of FIG. 3). This is used to open the trivia-quiz component 1560 (depicted in FIG. 4). Once the quiz is finished, 1510 becomes active again.
  • From component 1510, a player can access the quiz-and-word-guessing-selector component, guess-word option 1530 (indicated by 312 of FIG. 3). This leads to the phrase component in word-guessing mode 1570 (depicted in FIG. 10), and back to 1510. From 1510, a player can access the phrase component in phrase-guessing mode 1540 (depicted in FIGS. 11 and 12). This can lead to the phrase component in finished mode 1580 (depicted in FIG. 13), and the end of a round 1590. It can also lead back to 1510. From 1510, a player can access the buy filler-word menu, and confirmation dialogue 1550 (depicted in FIGS. 7 and 8).
  • System Architecture for Game Delivery—FIG. 16
  • An embodiment can be supported by client, peer-to-peer, or distributed client/server software, hardware, data schema objects, data, and a database management system. Discussed is a ‘client-server’ architecture where the game is distributed between clients 1610 and server-side components 1650, connected by the Internet 1640.
  • Generally, there would be one client device for each player. Client devices could include various networked I/O devices. Shown is a desktop computer, 1612, a notebook or sub notebook computer, 1614, a handheld gaming device, 1616, and a cell phone/PDA with gaming capabilities, 1618. In general, the term “electronic gaming device” can apply to all of these and any electronic device that enables players to play the game. Internet access 1630 connects the clients to the server side components.
  • The client devices support software to play the game. Software can include a web browser, or custom game software downloaded and installed, or both. Third party or vendor components can be included. Client side code can be provided dynamically by a web server (or servers) 1652. The clients provide players with a graphical user interface and an input means. Input means can include alphanumeric keypads, touch screens, and computer mice. Outputs include a screen to display the user interface.
  • The server side infrastructure can be based upon existing software applications, database management systems, programming languages and server computers. Server-side components 1650 could include a web server 1652. Web server 1652 communicates with clients 1610 through an Internet connection 1670. Web server 1652 maintains a network connection 1672 to an application server (or servers) 1654. Application server 1654 manages multiple games in progress. Application server 1654 maintains a network connection 1674 to a database server (or servers) 1656, which manages 1676 a quiz database and associated schema 1658.
  • In a Java-based implementation, a web client 1610 might present the game to players as dynamic HTML pages, created from Java Servlets and/or JavaServer Pages™ assembled in a web tier by a J2EE server machine represented by 1654. These are delivered by a web server 1652 such as Apache. Alternative embodiments could include a custom user interface Java application or Applet, otherwise accessing the game through controllers in the server tier.
  • The controllers could also run on a J2EE server machine represented by 1654. Session beans could be used on server 1654 to converse with the clients and pass messages to the model. The model could be supported by Enterprise Java Beans and entity beans (entities) running on server 1654, representing persistent data stored in database entities.
  • Other technologies could include extensible markup language (XML) and web services. For example, quiz trees, could be represented in XML. Their information could be accessed from a server through web services. Some embodiments could have part or all of an XML quiz tree distributed to the clients. Client side scripting languages, such as JavaScript, could also be used.
  • A database server 1656 could run an Oracle®, MySQL® or other relational database management system to access a quiz database and associated schema 1658. The database server hardware, software, system and schema objects, and data comprise a persistent computer storage means. This allows for storing and accessing clues and answers, for relating clues and answers in clue/answer pairs, and for relating clue/answer pairs to one another. Schema relevant to the present embodiment are described in FIGS. 33-41 and FIG. 52. A persistent computer storage means supports various other aspects of the present embodiment. Embodiments using file-system based persistent computer storage means are also possible. XML and other tagged persistent data files are possible.
  • Standalone single-player embodiments might include support for downloading and accessing quiz-trees on the client from a Java client application. Quiz-trees might also be loaded onto the clients from physical media, such as a game cartridge or DVD. Client side software could run the game disconnected from server side components. Multi-player, peer to peer embodiments of the game with Internet-connected clients are also possible.
  • Other functionality can be built in support of the game. Quiz-trees could be custom built by the players. Players could begin with one or more personal, custom expressions with the quiz database supplying the remaining expressions and facilitating creation of a custom quiz-tree. Quiz-trees could be built on the server using client or web-client software, or built on the client and uploaded to the server.
  • Other formats of the game are possible. For example, an embodiment of the game could be played with players in the same physical proximity as in a television or Internet game show. Another embodiment could combine the broadcast of a studio-based game with an interactive mode of the game being played by spectator/players. A QNQ could be made out as a physical media game, with a card or notebook reference system connecting the main level trivia phrase or expression with the word-level quizzes. A simplified embodiment of the game could be presented on paper or cardboard, such as a ‘scratch card’ or perforated window method for hiding and revealing clues. A physical media implementation might rely on the pictorial tree view of FIG. 1. Alternatively, a QNQ could combine physical media with a computer based embodiment.
  • Player Modes
  • The sample combined guess-the-phrase-and-trivia-quiz embodiment could support different player modes, including “multi-player/auto-phrase”, “multi-player/hosted”, and “solitary player”. In multi-player/auto-phrase mode there are multiple players and the quiz-trees are selected automatically by the game system. Automated quiz-tree selection could be tuned by category, difficulty, quiz-type, etc., based on match parameters set by an administrator or agreed to by the players. In multi-player/hosted mode, a participant plays the role of a host and selects predefined or custom quiz-trees, for the players. In solitary player mode there is only one player. Other embodiments are possible.
  • In multi-player modes, the user interface presented to each player depends on whether the player has control or answering privilege of the game at a give moment. Players without the ability to act on the game at a given moment would be presented with an application-sharing view. This would include they key user interface components of the player with control or answering privilege. Alternatively, players without the ability to act would be presented the same user interface components as the player with control/answering privilege. However, functionality for initiating or responding to quizzes would be disabled. A combination of approaches can also be used.
  • Scoring System
  • A scoring system is provided for the present embodiment. Alternative scoring systems can be devised for different embodiments.
  • In multi-player embodiments, cumulative points may be earned for solving clues, revealing quiz-able-words, and especially for solving the top-level expression. The player with the most points at the end of a round would win the round, and the player with the most points at the end of a match would win the match. Players are deducted points for making incorrect guesses to quizzes, and/or solutions to quiz-able-words, and/or to the top-level expression.
  • In the present embodiment, the goal of each player is to solve the next-higher and eventually the top-level word or expression with the minimum number of clues necessary. In a multi-player embodiment, this goal is encouraged by awarding a high ratio of the total points available in a round to the player who solves the top-level phrase. Also, awarding points for new clues on a quiz-able-word is discontinued once a certain number of clues have been revealed on that word.
  • In a single-player embodiment, the same goal is encouraged by having a maximal number of point availability at the beginning of a round. Cumulative point deductions are made for quizzes taken, wrong guesses, and filler-words unmasked.
  • A round is completed with the solution of the top-level expression. As mentioned, not all possible clues have to be revealed, nor do all quiz-able-words have to be the subject of one or more quizzes. The goal of a round is to get the most points, which favors the player who solves the top-level expression.
  • An example of a scoring system for a multiple player mode of the combined guess-the-phrase and trivia game embodiment of a QNQ could be expressed as follows:
      • a. “n”, “x” and “y” are integers. “p”, “d”, “q” and “f” are real numbers that may have a decimal component.
      • b. “p” points are awarded to one player for solving the phrase.
      • c. “q” total points are allotted for each quiz-able-word that exists in the phrase. These points are distributed between one or more players for clues solved on each given quiz-able-word, and for revealing the quiz-able-word.
      • d. “q” points are always distributed for each quiz-able-word. When quiz-able-words are by-passed in the solution of the top-level phrase, outstanding quiz-able-word points on any unrevealed quiz-able-word(s) are distributed to the player who solves the top-level phrase.
      • e. When there are “n” quiz-able-words in the phrase, and “f” is a factor that that expresses the relative importance of solving the phrase compared to the rest of the quizzes. Then, “q=f×p/n”. The symbol “x” is the times symbol.
      • f. “x” is the number of clues revealed plus one (for revealing the quiz-able-word). “q/x” points are awarded for each clue found on a quiz-able-word up to the first “y” clues per word. “q/x” points are also awarded for revealing the quiz-able-word.
      • g. When a player solves a quiz-able-word with fewer than “y” clues revealed, the successful player is attributed the outstanding points for the remaining clues as if “y” clues had been revealed.
      • h. When a player by-passes the solution of any unrevealed quiz-able-word(s) to solve the top-level expression, that player is attributed the outstanding points on any quiz-able-word(s) as if “y” clues had been revealed and the quiz-able-word had been solved directly.
      • i. “d” points are deducted from a player for each incorrect guess or for voluntarily unmasking a filler-word.
  • Following the example round described, suppose a three player round with players “Betty”, “Ann” and “Sally”. Suppose Ann solves first clue 230A1 of the first quiz-able-word, Sally solves its second clue 230A2, and then solves first quiz-able-word 220A. Then suppose Betty solves first and second clues 230A3 and 230A4 of the second quiz-able-word, and solves the phrase, by-passing the solution of the second quiz-able-word 220B. Suppose that Betty makes three incorrect guesses, Ann makes one, and Sally one. Suppose Ann buys one filler-word.
  • Suppose that “f” is 1 and “n” is 2, and “p” is 500. Then “q” is “250”. Suppose that “y” is “3” and “d” is “50”.
  • At the end of the round, Betty will have earned 500 points for solving the phrase. Betty also earns 62.5 points (“(¼)×250”) each for two clues on the second quiz-able-word. Betty is also attributed 62.5 points as if she had solved one more clue on the second quiz-able-word. Betty is also attributed 62.5 points for revealing the second quiz-able-word when the phrase was solved. Betty is penalized 150 points for incorrect guesses. Betty's point total for the round is therefore 600.
  • Ann will have earned 62.5 points for solving one clue on the first quiz-able-word. Ann is also penalized 50 points each for an incorrect guess and for buying a filler-word. Ann's point total for the round is therefore negative 37.5.
  • Sally will have earned 62.5 points for solving one clue on the first quiz-able-word. Sally is also attributed 62.5 points as if she had solved one more clue on the second quiz-able-word. Sally is also attributed 62.5 for solving the second quiz-able-word. Sally is also penalized 50 points for an incorrect guess and her point total for the round is therefore 137.5.
  • Point totals for each round are accumulated by players until the match is finished. The player with the highest point total at the end of the match wins the match.
  • Many variations are possible in other embodiments. For example, the number of points available for solving a quiz-able-word was the same for solving a clue on a quiz-able-word (actually or by attribution), but these could be different. Also, there could be exceptions for point deductions. For example, a player who solves a clue might have an opportunity immediately following to make a guess without penalty in the case of a wrong attempt. A major variation would include adjustments for quiz difficulty, discussed further below. Other variations might include having player input into the number of points to be distributed for a round.
  • Other embodiments are possible which would not discourage the players from taking more quizzes than necessary to solve the top-level phrase. Some embodiments might not emphasize the solution of the top-level quiz. Such embodiments might simply use the hierarchical or chained structure of an embodiment and its supporting interface as a novel quiz framework.
  • Selection of Quizzes
  • In the present embodiment, quizzes are selected during a round of play based on player actions. In other embodiments, the system could select quizzes randomly or based on an integrated game of chance. Quizzes might pop-up based on some constant or random time interval or a musical rhythm.
  • In the present embodiment, quizzes were selected from defined categories. Other embodiments might emphasize sub-categorization, and quiz-difficulty ratings. Others might provide highly custom quizzes or to provide a handicapping system.
  • Control System and Answering System
  • Control is the ability of a player to determine the next step of the game through the user interface. In multi-player modes, control is passed between players. A control system refers to the management of defined rules to distribute control between players.
  • In the present embodiment, certain actions can be taken by a player with control. These include selecting a quiz on a quiz-able-word, unmasking a filler-word, guessing at a quiz-able-word or guessing at the top-level phrase. Control is passed from player to player in logical sequence based on the result of actions during a round. Control to start each round within a match is passed from player to player sequentially.
  • Answering rules denote the rules for answering a quiz without necessarily having control. Different embodiments could include token-based or “sequential” answering systems, and “first-response” answering systems. In a sequential answering system, players take turns attempting to answer a quiz, starting with the player in control. If the player in control passes or makes an incorrect guess, answering privilege passes to the next player in the control sequence.
  • In a first-response answering system all players can answer a quiz at the same time. The game system determines the first player to answer correctly and awards points to that player. Control passes to the player who solved the quiz.
  • Control and answering rules, in combination with scoring rules, can support the objective of solving the top-level quiz in as few steps as possible, or some other objective. The control and answering rules also tend to recognize previous achievement in the round. This is done by allowing a player to continue to control the round if no other player is having greater current success.
  • For multiple-player embodiments, time limits apply. A time limit applies to control wherein a player with control must take an action within a certain time. A time limit also applies to answering privilege wherein a player must make a guess within a certain time. A visual aid, such as answering-turn-display component 470 shown in FIG. 4, presents this time to the players. When a player does not act within the respective time limit, control or answering privilege is passed to the next player in the control sequence.
  • In the present embodiment, before a match begins, the control sequence of the players is established. The first player in the sequence has control at the start of the first round. The control sequence does not change during a match. At the beginning of a new round, control passes to the player who follows the player who had control at the beginning of the previous round.
  • A player with control can generally; guess at the phrase; guess at any unsolved quiz-able-word; reveal any unrevealed filler-word, and; initiate a trivia-quiz on a quiz-able-word, if applicable. Revealing a filler-word is restricted to once per possession of control.
  • If a phrase-guess is successful, the round is finished. If a quiz-able-word is solved or a filler-word is revealed, control is maintained. If a phrase or work guess is unsuccessful, control is passed the next player in sequence.
  • If a trivia-quiz is initiated, an answering privilege index is set, following the same sequence as the control sequence and starting with the player with control. All players have an opportunity to attempt the trivia-quiz until it is solved. If the trivia-quiz remains unsolved, the player with control maintains control. If solved, the player who provided the solution is granted control.
  • A player with answering privilege may voluntarily pass answering privilege to the next player in the control sequence. Answering privilege is lost if the time limit is exceeded. There are also rules to end a round when no further actions can be taken.
  • There is an advantage to starting a round in control. Therefore, the number of rounds per match should be evenly divisible by the number of players. Many other embodiments are possible. For example, control might pass automatically after a certain number of actions are taken regardless of whether the previous actions were successful. Players may also be able to interrupt control for certain actions, such as attempting the top-level phrase.
  • Quiz-Able-Word-to-Clue-Matching Criteria
  • Linked quizzes are formed on the basis of matching criteria that determine if a quiz answer is a suitable clue to a one-higher level quiz. An example matching criterion could be that a quiz-able-word is contained somewhere in a clue offered by a one-lower level quiz. Such was the case in the sample round, where quiz-able word “fly” was contained in the clue “Marty McFly”. Synonym matching was also shown.
  • The quiz-able-word-to-clue-matching criteria are displayed to all players at the start of a round or match as applicable (not shown). The criteria would continue to be viewable through some user interface component (not shown). An embodiment could provide user configurable matching criteria that could be determined by the players or the host depending on the player mode.
  • The number of total available quizzes available or quizzes-per-category available for each quiz-able-word does not have to be constant. However, there might be some minimum threshold of quizzes available for each quiz-able-word in an expression in order for the higher-level expression to qualify for use in an embodiment.
  • Quiz-to-Answer-Matching Criteria
  • Quiz-to-answer-matching criteria are rules used by a validation system. These rules specify how closely a guess must match a stored quiz answer in order for the attempt to be deemed successful. One example matching rule would be to dismiss the relevance of character case in any guess.
  • Quiz-to-answer-matching criteria would apply to a text-based trivia-quiz guessing design, as indicated by FIG. 5. It would also apply to a text-based quiz-able-word and phrase guessing design as indicated by FIGS. 10 and 12 respectively. Quiz-to-answer-matching criteria apply where user input is typed and where some leeway is to be provided. Quiz-to-answer matching criteria do not apply where guesses are of multiple choice or list selection types.
  • In the present embodiment, the correct answer from the quiz database is presented as the clue to the one-higher quiz. Other embodiments might present the guess instead.
  • Runtime Program Structure
  • The present embodiment includes a runtime computer program means. The runtime computer program means is described above and in the class diagram shown in FIG. 17 and in the sequence diagrams shown in FIGS. 18-32, 46-51, and 53-55.
  • Class Diagram—FIG. 17 The Model
  • A class diagram of the present embodiment is shown in FIG. 17. Classes 1709 thru 1720 represent the model. A node (“Node”) class 1711 generalizes the different types of nodes. An aggregation 1751 represents a child node referencing zero-to-one parent nodes. In the present embodiment, all nodes except the top-level expression are in a relationship in which they are a child node having exactly one parent node. An aggregation 1752 represents a parent node referencing zero-to-many child nodes. Terminal nodes at the end of a tree branch reference zero child nodes. Other nodes reference one or more child nodes. Instantiated nodes are identified by a unique identifier, such as an object ID.
  • Four subtypes of node are: a guess-the-phrase-phrase (“GuessThePhrPhr”) class 1714; a guess-the-phrase-word (“GuessThePhrWd”) class 1717; a trivia-quiz-answer (“TriviaQuizAnswer”) class 1716; and a trivia-quiz-question (“TrivQuizQues”) class 1713. In the combined-guess-the-phrase and trivia-quiz embodiment, these classes represent nodes at levels one, two, three and four respectively. Classes 1714, 1717, 1716, and 1713 are shown by lines 1772, 1761, 1760, and 1759, respectively, as well as 1792, as being generalized by 1711.
  • An aggregation 1763 indicates that a guess-the-phrase-phrase class 1714 instance is a parent of one-to-many guess-the-phrase-word class 1717 instances. An aggregation 1764 indicates that a guess-the-phrase-word class 1717 instance is the child of exactly one guess-the-phrase-phrase class 1714 instance. Guess-the-phrase-word class 1717 instances can be quiz-able-words or filler-words.
  • An aggregation 1770 indicates that a guess-the-phrase-word class 1717 instance is a parent of zero-to-many trivia-quiz-answer class 1716 instances. An aggregation 1762 indicates that a trivia-quiz-answer class 1716 instance is a child of exactly one guess-the-phrase-word class 1717 instance.
  • An aggregation 1758 indicates that a trivia-quiz-answer class 1716 instance is a parent to exactly one trivia-quiz-question class 1713 instance. Aggregation 1757 indicates that a trivia-quiz-question class 1713 instance is a child of exactly one trivia-quiz-answer class 1716 instance.
  • A trivia-quiz-category class (“TrivQuizCat”) class 1710 instance holds all of the categories that trivia-quizzes can be placed in. An aggregation 1750 indicates the trivia-quiz-question class 1713 referencing the trivia-quiz-category class 1710 with multiplicities of one and zero-to-many.
  • An aggregation 1753 indicates a tree (“Tree”) class 1712 referencing node class 1711 with multiplicities of many and one. Aggregation 1753 is shown linking the tree class 1712 with node class 1711; the actual links are between tree class 1712 and derived node classes 1713, 1714, 1716 and 1717. Each node belongs to exactly one tree and each tree has “many” nodes. In the present embodiment, a tree has a practical lower limit of five nodes. In other embodiments, a “tree” could have as few as three nodes, representing a linear sequence. While not essential at runtime, tree class 1712 represents quiz-trees as units and has quiz-tree level attributes and methods.
  • An aggregation 1754 indicates a round (“Round”) class 1715 referencing tree class 1712 with multiplicities of one and one. A tree can be in one round, and the same tree can be in no more than one round in the same match. A round can have only one tree in the present embodiment. An aggregation 1773 indicates a match (“Match”) class 1718 referencing round class 1715 with multiplicities of one-to-many and one. An aggregation 1766 indicates match class 1718 referencing a player (“Player”) class 1720 with multiplicities of one-to-many and one. An aggregation 1778 indicates round class 1715 referencing player (“Player”) class 1720 with multiplicities of one-to-many and one
  • A game (“Game”) class 1719 instance is responsible for; running a match, instantiating objects, accessing data via the other model classes, receiving messages from the view via a controller (“Controller”) class (or classes) 1740, and presenting the view.
  • Aggregations 1756, 1769, and 1771 indicate game class 1719 referencing trivia-quiz-question class 1713, trivia-quiz-answer class 1716, and guess-the-phrase-word class 1717, respectively, with generalized multiplicities of zero-to-many and one. Embodiments can support node persistence whereby nodes are instantiated as required. Depending on the management of node persistence, different multiplicities can arise. An aggregation 1765 indicates game class 1719 referencing guess-the-phrase-phrase class 1714 with multiplicities of one and one. In the present embodiment, the game would only ever access one top-level expression at a time. The multiplicity of one on the game side in aggregations 1756, 1769, 1771, and 1765 reflects that the same node is not shared by more than one game, since nodes contain state information.
  • Aggregation 1774 indicates game class 1719 referencing player class 1720 with multiplicities of one-to-many and one. Embodiments with players accessing more than one game are also possible. Association 1767 indicates an association between game class 1719 and match class 1718 with multiplicities of one and one. Association 1768 indicates an association between game class 1719 and round class 1715 with multiplicities of one-to-many and one. Association 1755 indicates game class 1719 accessing tree class 1712.
  • A clock (“Clock”) class 1709 maintains time for purposes of managing answering privilege and control. Aggregation 1775 indicates game class 1719 referencing clock class 1709 with multiplicities of one and one. In the present embodiment, time to respond is maintained in the model and there is no need to maintain time for control and answering privilege simultaneously. Embodiments with other multiplicities are possible.
  • The View
  • The view is represented by classes numbered between 1721 and 1732. Shown are associations between the game class and the view classes. On the view side a lower multiplicity of zero indicates that the component does not have to be instantiated at any given moment of time.
  • In multi-player modes, player(s) without the ability to take action on the game will have view access to the interface presented to the player who can take action on the game. This can be accomplished through application sharing technology. The player with ability to take action has control access. View access allows players without control to see what actions are being taken on the game. If answering privilege is assigned to a player, only the player with answering privilege will be able to take an action on the game. If answering privilege is not assigned to any player, only the player with control will be able to take an action on the game.
  • Shown are a quiz-and-word-guessing-selector-graphical-user-interface (“Q_W_GuessSelGUI”) class 1726, depicted in FIG. 3, a buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) class 1727, depicted in FIG. 7, and a trivia-quiz-GUI (“TriviaQuizGUI”) class 1725, depicted in FIGS. 4 and 5. Associations 1786, 1787, and 1782, indicate an association between game class 1719, and view classes 1726, 1727, and 1725, respectively. Each of these associations is represented by a line extending from game class 1719 to the respective view class. In each of associations 1786, 1787, and 1782, the multiplicities are zero-to-one and one.
  • Shown are a navigation-mode-GUI (“NavModeGUI”) class 1729, first depicted graphically at runtime in FIG. 2, a word-guessing-mode-GUI (“WdGuessingModeGUI”) class 1728, depicted in FIG. 10, a phrase-guessing-mode-GUI (“PhrGuessingModeGUI”) class 1730, depicted in FIGS. 11 and 12, and a finished-mode-GUI (“FinishedModeGUI”) class 1731, depicted in FIG. 13. Classes 1728 through 1731 are generalized by a phrase-component-GUI (“PhraseComponentGUI”) class 1732. Classes 1731, 1729, 1730, and 1728 are shown by lines 1788, 1789, 1790, and 1791, respectively, as well as 1793, as being generalized by 1732.
  • Associations 1783, 1785, and 1784, indicate an association between game class 1719, and view classes 1729, 1728, and 1730, respectively. Each of these associations is represented by a line extending from game class 1719 to the respective view class. In each of associations 1783, 1785, and 1784, the multiplicities are zero-to-one and one. Furthermore, only-one type of phrase-component-GUI class 1732 will be displayed at a time.
  • Controller (“Controller”) class 1740 represents one or more controllers accessed by view classes 1725 through 1730. The controller class passes messages from the applicable view classes to game class 1719. Association 1779 represents all of the associations between controller class 1740 and classes 1725 through 1730. In each case there is a multiplicity of one on controller class 1740 and zero-to-one on view classes 1725 through 1730. Association 1780 shows controller class 1740 accessing game class 1719.
  • Shown is a turn-GUI (“TurnGUI”) class 1721, graphically depicted as answering-turn-display component 470 in FIGS. 4 and 5. Also shown is a control-and-score-GUI (“Cntl&ScoreGUI”) class 1724, graphically depicted in FIG. 95 as a score-and-control component 9530.
  • Classes 1721, 1724 and 1731 are not subject to player action and do not access controller class 1740. Associations 1776, 1777, and 1781 indicate an association between game class 1719, and view classes 1721, 1724, and 1731 respectively. The multiplicities for associations 1776 and 1781 are zero-to-one and one. The multiplicities for association 1777 are one and one.
  • At the beginning of a game, an instance of game class 1719 initializes a new game, the player(s), a new match, and a new round. The game instance creates an instance of guess-the-phrase-phrase class 1714. It also obtains the top-level expression for the round by initializing guess-the-phrase-word class 1717 objects for each word in the phrase. The game instance takes the key information from these nodes and passes it to navigation-mode-GUI class 1729 object, which it instantiates. As part of initialization, the game sets control to a player in the model. The game creates sessions with each gaming device, and passes a player reference to each client. The game also instantiates control-and-score-GUI class 1724. In multi-player modes, the game also grants view access to players without the ability to take action. It also manages alternation between control and view access as control and answering privilege alternate.
  • When node information is sent from the model to the view, a unique identifier or reference for each node is sent to the clients. The view passes this reference to a controller class 1740 instance with user interface events directed to the model. Each node that is available for display or querying in the view is therefore related back to the model.
  • Sequence Diagram—Get-Quiz-and-Word-Guessing-Selector GUI—FIG. 18
  • FIG. 18 shows the sequence diagram for displaying the quiz-and-word-guessing-selector component depicted in FIG. 3. A navigation-mode-GUI (“NavModeGUI”) object 1810 is an instance of navigation-mode-GUI class 1729. It is depicted as the phrase component in navigation mode, shown in FIG. 2. Navigation-mode-GUI object 1810 sends a message 1850 to get the quiz-and-word-guessing-selector component (“getQ_W_GuessSelGUI( . . . )”) to a controller object 1814. Controller object 1814 is an instance of controller class 1740. Message 1850 requests the display of the quiz-and-word-guessing-selector GUI. Message 1850 is invoked by a mouse over event over a hyperlinked quiz-able-word. The message passes a guess-the-phrase-word node ID (“GTPWdNdID”) 1850A, which is a unique id for the quiz-able-word on which the event occurred. A reference 1850B to the current player (“player”) is also passed.
  • Next, controller object 1814 calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( . . . )”) method 1852 of game object 1816. Game object 1816 is an instance of game class 1719. Game object 1816 calls its validate-control (“validateControl( . . . )”) method 1854 to validate that player 1850B has control. Game object 1816 then calls a get-node-state (“getNodeState( )”) method 1856 of a guess-the-phrase-word object 1818 for the guess-the-phrase-word node ID. Object 1818 is an instance of class 1717.
  • A node can be in various states which resolve to the node being either available or unavailable for further activity. For example, a node could be “answered”, making it unavailable for further activity. On a condition 1858 that the node-state is available (“[nodeState=“avail”]”), game object 1816 calls its set-active-node (“setActiveNode( . . . )”) method 1859 to set guess-the-phrase-word node ID 1850A as the active node. Setting a node as active indicates it to be the node set to receive further player actions. If the node state is not available, error handling (not shown) will reject the sequence and send an appropriate response to the user interface. Condition check 1858 in the model should not find an unavailable node. This is because the user interface is updated to reflect the states in the model.
  • Game object 1816 next calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( )”) method 1860 of 1818. Object 1818 returns trivia-quiz-by-category-total (“trivQuizByCatTot”) 1862, an array of the total number of trivia-quizzes by category. It next invokes a display quiz-and-word-guessing-selector-GUI (“displayQ_W_GuessSelGUI( . . . )”) method 1864 to instantiate quiz-and-word-guessing-selector-GUI object 1812, with 1850A and array 1862 containing the total number of trivia-quizzes by category. Object 1812 is an instance of class 1726. Quiz-and-word-guessing-selector-GUI object 1812 is graphically depicted in FIG. 3. The steps in FIG. 18 are generally part of the selector means. They include obtaining trivia-quiz summary information from the node identification value of the quiz-able word. This is displayed in the quiz-and-word-guessing selector prior to selection of a quiz.
  • Sequence Diagram—Select-a-Trivia-Quiz—FIG. 19
  • FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI. Quiz-and-word-guessing-selector-GUI object 1812 for the player with control sends a get-trivia-quiz-GUI (“getTriviaQuizGUI( . . . )”) message 1950 to controller object 1814. Message 1950 includes guess-the-phrase-word node ID 1850A, a reference 1850B to the player, and a category (“cat”) 1950A which the next trivia-quiz is to be selected from.
  • Next, controller object 1814 sends a get-trivia-quiz-by-category (“getTrivQuizByCat( . . . )”) message 1952 to game object 1816, to get the next trivia-quiz by category, passing 1850A, 1850B, and 1950A. Game object calls its validate-control method 1854 to validate that player 1850B has control. It then calls a next-trivia-quiz-by-category-index (“nextTrivQuizbyCatIndx( . . . )”) method 1954 of guess-the-phrase-word object 1818 for the guess-the-phrase-word node ID, passing category 1950A. Method 1954 increments a trivia-quiz-category index by one.
  • Game object 1816 next calls a lookup-next-trivia-quiz-answer-node (“lookupNextTQANd( . . . )”) method 1956 of guess-the-phrase-word object 1818 for the guess-the-phrase-word node, to get a reference to the next trivia-quiz answer node in an array for supplied category 1950A.
  • Game object 1816 next calls a lookup-trivia-quiz-question-node (“lookupTQQNd( )”) method 1958 of a trivia-quiz-answer object 1910 for the trivia-quiz-answer node. Object 1910 is an instance of class 1716. Object 1910 returns a reference 1959 to the trivia-quiz-question node (“TQQNd”).
  • Game object 1816 next calls a get-node-state (“getNodeStateo”) method 1960 of a trivia-quiz-question object 1912 for the trivia-quiz-question node (“TQQNd:TrivQuizQues”). Object 1912 is an instance of class 1713. On condition 1858 that the node state is available, game object 1816 calls its set-active-node (“setActiveNode( . . . ”) method 1962 to set trivia-quiz-question node ID (“TQQNdID”) 1962A as the active node. Game object 1816 next calls a get-question-information (“getQuestionInfo( )”) method 1964 of 1912.
  • Methods 1950 to 1964 of FIG. 19 can generally be classified as describing part of the selector means for selecting the trivia quiz.
  • Game object 1816 next updates the view. It sends a close-quiz-and-word-guessing-selector-GUI (“closeQ_W_GuessSelGUI( )”) message 1966 to close quiz-and-word-guessing-selector-GUI object 1812. Game object 1816 next sends a display-trivia-quiz-GUI (displayTriviaQuizGUI( . . . )”) message 1968, instantiating a trivia-quiz-GUI object 1914. Object 1914 is an instance of class 1725. Message 1968 passes trivia-quiz-question node ID 1962A, and trivia-quiz question 1968A which is the text for the question. An example of this text as represented in the interface is 412A1 of FIG. 4. Message 1968 also passes a trivia-quiz-by-category-index (“trivQuizByCatIndx”) parameter 1968B. Parameter 1968B is the index of the question for the given category 1950A. Parameter 1968B enables the interface to represent 410A2 of FIG. 4. Message 1968 also passes a trivia-quiz-by-category-total (“trivQuizByCatTot”) parameter 1968C. This is the total number of trivia-quizzes or trivia-quiz questions within the selected category 1950A for the given guess-the-phrase-word. Parameter 1968C is represented as 410A3 in FIG. 4. Message 1968 also passes category 1950A. This is represented as 410A1 in FIG. 4. Game object 1816 also displays answering-turn-display component 470 of FIG. 4. In the present embodiment, method 1968 of FIG. 19 provides detail on the first exposure means.
  • A display-turn-GUI (“displayTurnGUI( )”) message 1970 instantiates a turn-GUI object 1916. Message 1970 passes; an array of players, in order of control (“controlSeq”) 1970A, an index 1970B of 1970A for the player with answering privilege (“ansPrivIndex”), and a reference to a “clock” object 1970C, to keep the time remaining for an answer.
  • Sequence Diagram—Attempt Trivia-Quiz—FIG. 20
  • FIG. 20 shows the sequence diagram for attempting a trivia-quiz to the point of the game object checking the attempt. Trivia-quiz-GUI object 1914 for the player with control sends a submit-guess (“submitGuess( . . . )”) message 2050 to controller object 1814, passing; trivia-quiz-question node ID 1962A, reference 1850B to the player, and an attempt (“attempt”) 2050A representing the text guess submitted by the player. Method 2050 deals with a first guessing means. The rest of FIG. 20 generally deals with a first validation means.
  • Controller object 1814 sends a validate-attempt (“validateAttempt( . . . )”) message 2052 to game object 1816, passing 1962A, 1850B, and 2050A. Next, game object 1816 calls its validate-answering-privilege (“validateAnsPriv( . . . )”) method 2054 to validate that the player has answering privilege. It then calls a lookup-trivia-quiz-answer-node (“lookupTQANd( )”) method 2056 of trivia-quiz-question object 1912 for the trivia-quiz-question node, getting a reference 2057 to the trivia-quiz answer node (“TQANd”).
  • Game object 1816 next calls a get-node-state (“getNodeState( )”) method 2058 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node. On condition 1858 that the node state is available, game object 1816 calls a set-active-node (“setActiveNode( . . . )”) method 2059 for a trivia-quiz-answer node, to set a trivia-quiz-answer node ID (“TQANdID”) 2059A as the active node.
  • Game object 1816 next calls a get-valid-answers (“getValidAnswers( )”) method 2060 of object 1910, which returns an array of valid answers (“validAnswers[ ]”) 2061. Each valid answer in array 2061 is considered a successful match for the corresponding question. Object 1816 next calls its check-attempt (“checkAttempt( . . . )”) method 2062 to check attempt 2050A against array of valid answers 2061. The result is ‘success’ or ‘failure’, which determines the subsequent sequence.
  • Sequence Diagram—Trivia-Quiz Correct Attempt Part 1—FIG. 21
  • FIG. 21 shows part one of the sequence when a trivia-quiz guess gives a successful result. Game object 1816 sends a set-node-state (“setNodeState( . . . )”) message 2150 to trivia-quiz-question object 1912 for the trivia-quiz-question node. Message 2150 passes an “answered” value 2150A which sets the node-state to “answered”. Game object 1816 also sends a set-node-state (“setNodeState( . . . )”) message 2152 to trivia-quiz-answer object 1910 for the trivia-quiz-answer node, passing 2150A. This sets the node state of 1910 to “answered”.
  • Game object 1816 calls a get-answer (“getAnswer( )”) method 2154 of 1910. This method gets the exact answer for the trivia-quiz question that will be displayed in the user interface. Game object 1816 next calls a lookup-guess-the-phrase-word-node (“lookupGTPWNd( )”) method 2156 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node to get a reference to the guess-the-phrase-word node. Game object 1816 then calls a lookup-guess-the-phrase-phrase-node (“lookupGTPPNd( )”) method 2158 to get a reference 2160 to the (top-level) guess-the-phrase-phrase node. Game object 1816 next calls its set-active-node (“setActiveNode( . . . )”) method 2162 to set the active node to guess-the-phrase-phrase node ID (“GTPPNdID”) 2162A.
  • Game object 1816 next initiates an update-score (“updateScore( . . . )”) sequence 2164, passing a reference to the player (“player”) 1850B whose score is to be updated and the points (“points”) 2164A, by which the score is to be updated. The score is updated in a round object 2110, which is a current instance of round class 1715. The score is also updated in a match object 2112, which is a current instance of match class 1718. Update-score sequence 2140 is covered with FIG. 22.
  • On a condition 2165 that the player who answered the question is not the player who currently has control, game object 1816 calls its set-control-index (“setControlIndex( . . . )”) method 2166 to set control to current player 1850B. Game object 1816 calls its reset-answering-privilege-index (resetAnsPrivIndex( )”) method 2168 to reset the answering-privilege index to the index number of the player with control.
  • Sequence Diagram—Update Score—FIG. 22
  • FIG. 22 shows the update-score sequence diagram. Game object 1816 calls an update-score (“updateScore( . . . )”) method 2250 of round object 2110, passing a reference to the player 1850B whose score is to be changed, and the points (“points”) 2164A by which the player's score is to be changed. It then calls a get-scores (“getScores( )”) method 2252 of round object 2110 to get an array of player scores for the current round.
  • Game object 1816 also calls an update-score (“updateScore( . . . )”) method 2254 of match object 2112, passing 1850B and 2164A. It then calls a get-scores (“getScores( )”) method 2256 of match object 2112 to get an array of player scores for the match.
  • Sequence Diagram—Trivia-Quiz Correct Attempt Part 2—FIG. 23
  • FIG. 23 shows part two of the sequence when the attempt for a trivia-quiz is correct, continuing from FIG. 21. Game object 1816 sends a close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2350 to close trivia-quiz-GUI object 1914. Game object 1816 also sends an update-navigation-mode-GUI (“updateNavModeGUI( . . . )”) message 2352 to navigation-mode-GUI object 1810. Message 2352 passes trivia-quiz-answer-node ID 2059A and a trivia-quiz answer (“triviaAnswer”) 2352A to be displayed by navigation-mode-GUI object 1810. In FIG. 23, message 2352 generally deals with a second exposure means.
  • Game object 1816 also calls an update-control-and-score-GUI (“updateCntrl&ScoreGUI( . . . )”) message 2354 to control-and-score-GUI (“Cntrl&ScoreGUI”) object 2310. Object 2310 is an instance of class 1724. Score-and-control component 9530 is depicted in FIG. 95. Message 2354 passes an array of player scores for the round (“round.player.score[ ]”) 2354A, and match (“match.player.score[ ]”) 2354B, an array of players, in order of control (“controlSeq”) 1970A, and an index 2354C of 1970A for the player with control (“cntrlIndex”).
  • Sequence Diagram—Trivia-Quiz Incorrect Attempt—FIG. 24
  • FIG. 24 shows the sequence diagram when a trivia-quiz guess is incorrect. Game object 1816 initiates update-score sequence 2164, passing player reference 1850B and points 2164A. The score is updated in round object 2110 and match object 2112 as detailed in update-score sequence 2140 (FIG. 22). Game object 1816 then calls its next-answering-privilege (“nextAnsPriv( )”) method 2450 to pass answering privilege to the next player in sequence.
  • An alternative combination fragment 2452 contains two mutually exclusive message sequences. Condition 2454 describes a case where one or more players have yet to respond to the current trivia-quiz. Condition 2454 checks that control index 2354C value is not equal to answering-privilege index 1970B value. On condition 2454, an update-trivia-quiz-GUI (“updateTrivQuizGUI( . . . )”) message 2456 is sent to trivia-quiz-GUI object 1914, passing trivia-quiz-question node ID 1962A.
  • Alternatively, on a condition 2458 that control index 2354C value is equal to answering-privilege index 1970B value, a close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2460 is sent to trivia-quiz-GUI-object 1914. Game object 1816 then calls its reset-answering-privilege-index (“resetAnsPrivIndex( )”) method 2168 to reset the answering-privilege index. Method 2168 sets the answering-privilege index to the control index. Game object 1816 next calls a lookup-trivia-quiz-answer-node method 2056 of trivia-quiz-question object 1912 for the trivia-quiz-question node. It gets a reference (not shown) to the trivia-quiz-answer-node. Game object 1816 then calls lookup-guess-the-phrase-word-node method 2156 to get a reference to the guess-the-phrase-word node (not shown). Game object 1816 next calls lookup-guess-the-phrase-phrase-node method 2158 to get a reference (not shown) to the guess-the-phrase-phrase node. Game object 1816 next calls its set-active-node method 2162 to set the active node to guess-the-phrase-phrase node ID 2162A. Game object 1816 then sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810, passing guess-the-phrase-phrase node ID 2162A.
  • With either alternative, game object 1816 sends an update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310. Message 2354 includes round and match scores 2354A and 2354B, as well as control sequence array 1970A and control index 2354C.
  • Sequence Diagram—Trivia-Quiz Pass—FIG. 25
  • FIG. 25 shows the sequence diagram when a player passes on making an attempt at solving a trivia-quiz. A pass (“pass( . . . )”) message 2550 is sent from trivia-quiz-GUI object 1914 to controller object 1814. Message 2550 includes trivia-quiz-question node ID 1962A and a reference 1850B to the player. Controller object 1814 sends a pass message 2552 to game object with parameters 1962A and 1850B.
  • Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850B has answering privilege. If for any reason player 1850B does not have answering privilege, error handling (not shown) occurs. Game object 1816 next calls next-answering-privilege method 2450 to pass answering privilege to the next player in sequence. Alternative combination fragment 2452, describing the remainder of the sequence, is the same as in FIG. 24.
  • Sequence Diagram—Attempt Word—FIG. 26
  • FIG. 26 shows the sequence diagram when a player attempts to solve a quiz-able-word. When a player with control opts to solve a word, navigation-mode-GUI object 1810 is replaced by a word-guessing mode-GUI object 2610 based on an exchange of messages from the view to the controller and game and back to the view (not shown). Object 2610 is an instance of class 1728 from FIG. 17.
  • Next, a submit-word-guess (“submitWordGuess( . . . )”) message 2650 is sent from word-guessing-mode-GUI (“WdGuessingModeGUI”) object 2610 to controller object 1814. Passed in message 2650 are guess-the-phrase-word node ID 1850A, a reference 1850B to the player, and a word attempt (“wordAttempt”) 2650A. Message 2650 deals with a second guessing means. The rest of FIG. 26 generally deals with a second validation means.
  • Next, controller object 1814 send a validate-word-attempt (“validateWordAttempt( . . . )”) message 2652 to game object 1816, passing 1850A, 1850B and 2650A. Game object 1816 next calls its validate-answering-privilege method 2054, validating if player 1850B has answering privilege. It next calls get-node-state method 1856 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. On condition 1858 that the node state is available, game object 1816 calls its set-active-node method 1859 to set the active node to the guess-the-phrase-word node ID 1850A. Game object 1816 then calls a get-valid-answers (“getValidAnswers( )”) method 2654 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. Method 2654 returns an array of valid word answers (“validWdAnswers[ ]”) 2655. Game object 1816 next calls its check-word-attempt (“checkWordAttempt( . . . )”) method 2656 to check word attempt 2650A against array of valid answers 2655.
  • Sequence Diagram—Word Correct Attempt—FIG. 27
  • FIG. 27 shows the sequence diagram when an attempt at a quiz-able-word is correct. Game object 1816 calls a set-node-state (“setNodeState( . . . )”) method 2750 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. Message 2750 passes an “answered” value 2150A which sets the node-state to “answered”.
  • Game object 1816 next calls a get-answer (“getAnswer( )”) method 2752 of object 1818. Method 2752 gets the exact answer for the word that will be displayed in the user interface. Game object 1816 then calls lookup-guess-the-phrase-phrase node method 2158 to get a reference 2160 to the guess-the-phrase-phrase node. Object 1816 next calls its set-active-node method 2162 to set the active node to guess-the-phrase-phrase node ID 2162A.
  • Game object 1816 next initiates update-score sequence 2164, passing player reference 1850B and points 2164A. The score is updated in round object 2110, and in match object 2112 as detailed in update-score sequence 2140 (FIG. 22).
  • On condition 2165 that the player who answered the question is not equal to the player who currently has control, game object 1816 calls its set-control-index method 2166 to set control to the current player 1850B. Game object 1816 next calls its reset-answering-privilege-index method 2168 to reset the answering-privilege index to the index number of the player with control.
  • Game object 1816 next sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810. Message 2352 passes 2162A and a word answer (“wordAnswer”) 2753 to be displayed in the phrase component. In FIG. 27, message 2352 deals with a third exposure means. Game object 1816 also sends update control-and-score-GUI message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.
  • Sequence Diagram—Word Incorrect Attempt—FIG. 28
  • FIG. 28 shows the sequence when a guess at a quiz-able-word is incorrect. Game object 1816 sends update-score messages 2164, passing 1850B and 2164A. The score is updated in round object 2110 and match object 2112 as detailed in update-score sequence 2140.
  • Game object 1816 calls its next-control (“nextControl( )”) method 2850 to pass control to the next player in the control sequence. Object 1816 then calls its reset-answering-privilege-index method 2168.
  • Game object 1816 next calls lookup-guess-the-phrase-phrase-node method 2158 of object 1818 to get a reference to the guess-the-phrase-phrase node. It next calls its set-active-node method 2162, setting the active node to guess-the-phrase-phrase node ID 2162A. Game object 1816 then sends update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810, passing guess-the-phrase-phrase node ID 2162A. Object 1816 then sends update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.
  • Sequence Diagram—Buy Word—FIG. 29
  • FIG. 29 shows the sequence for buying a filler-word. A buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) object 2910 sends a buy-filler-word (“buyFillerWord( . . . )”) message 2950 to controller object 1814, passing guess-the-phrase-word node ID 1850A and player reference 1850B. Controller object 1814 sends a buy-filler-word message 2952 to game object 1816, passing 1850A and 1850B. A buy-filler-word-check (“buyFillerCheck( )”) method 2954, checks that a filler-word was not bought since control was reset. If the check shows that a filler-word was bought since control was reset, error handling occurs (not shown). This should not occur, since the view is updated to prevent players from taking invalid actions. An index for method 2954 is maintained when control is reset (not shown).
  • Game object 1816 calls validate-control method 1854. Object 1816 next calls get-node-state method 1856 of the guess-the-phrase-word object. On condition 1858 that the node state is available, game object 1816 calls set-active-node method 1859 to set the active node to guess-the-phrase-word node ID 1850A. Game object 1816 then calls get-answer method 2752 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node, to get the filler-word answer. Object 1816 then calls set-node-state method 2750 of 1818 to set the node state to “revealed” 2955.
  • Game object 1816 next sends update-score messages 2164, passing 1850B and 2164A. Score is updated in round object 2110, and match object 2112 as detailed in update-score sequence diagram 2140.
  • Game object 1816 sends an update message 2352 to navigation-mode-GUI object 1810, passing phrase node ID 2162A, word node ID 1850A, and word answer 2753. Game object 1816 also sends an update message 2354 to control-and-score-GUI object 2310, passing round and match scores 2354A and 2354B, control sequence array 1970A and control index 2354C.
  • Sequence Diagram—Attempt Phrase—FIG. 30
  • FIG. 30 shows the sequence for an attempt to solve the top-level phrase. When a player with control opts to solve the phrase, navigation-mode-GUI object 1810 is replaced by phrase-guessing mode-GUI object 3010 based on an exchange of messages from the view to the controller and game and back to the view (not shown). Phrase-guessing-mode-GUI object 3010 sends a submit-phrase-guess message 3050 to controller object 1814, passing 2162A, 1850B, and a phrase-attempt array containing the phrase attempt (“attempt[ ]”) 3050A. Phrase-attempt array 3050A is indexed for each word in the phrase and contains a null value for previously revealed words.
  • Controller object 1814 sends a submit-phrase-guess message 3052 to game object 1816, passing 2162A, 1850B, and 3050A. Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850B has answering privilege. Game object 1816 then calls get-node-state method 3054 of a guess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase node. On condition 1858 that the node state is available, game object 1816 calls its set-active-node method 2162 to set the guess-the-phrase-phrase node 2162A as active.
  • A loop-combined fragment 3058 shows the sequence for validating the phrase attempt word by word. Loop 3058 continues while condition 3059 is met. Condition 3059 checks that the previous word in the phrase that was submitted for checking was found to be correct. For each “n” 3056A word in the phrase, game object 1816 calls a lookup-nth-guess-the-phrase-word node (“lookupGTPWdNd(n)”) method 3056 of guess-the-phrase-phrase object 3012.
  • Game object 1816 next calls a get-nth-word-node-state (“getNodeState(n)”) method 3062 of n-th guess-the-phrase-word object 3060A. On a condition 3063 that the n-th word node-state is unsolved, game object 1816 calls a get-valid-answers (“getValidAnswers( )”) method 3064 of the n-th guess-the-phrase-word object 3060A. Game object 1816 calls a check-word-attempt (“checkWdAttempt( )”) method 3066 to validate n-th word attempt 3050B against an array of valid answers 3065. If the loop executes without breaking, the phrase attempt is valid; otherwise it is invalid.
  • Sequence Diagram —Attempt Phrase Incorrect Attempt—FIG. 31
  • FIG. 31 shows the sequence for an incorrect attempt to solve the top-level phrase. Game object 1816 sends update-score messages 2164, passing 1850B and 2164A. The score is updated in round object 2110, and match object 2112 as detailed in update-score sequence 2140 shown in FIG. 22.
  • Game object 1816 calls its next-control method 2850 to pass control to the next player in the control sequence. Game object 1816 then calls reset-answering-privilege-index method 2168. Game object 1816 next sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810, passing guess-the-phrase-phrase node ID 2162A. Game object 1816 also sends message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.
  • Sequence Diagram —Attempt Phrase Correct Attempt—FIG. 32
  • FIG. 32 shows the sequence for a correct attempt to solve the phrase. Game object 1816 calls set-node-state method 3250 of guess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase node to set its state as “answered” 3250A. Game object 1816 next calls get-phrase-answer (“getPhraseAnswer( )”) method 3252 of guess-the-phrase-phrase object 3012. Object 3012 returns phrase answer (“PhraseAnswer[ ]”) 3253, a sequential array of words comprising the phrase.
  • Game object 1816 sends update-score messages 2164. Score is updated in round object 2110, and match object 2112 as detailed in update-score sequence 2140 shown in FIG. 22.
  • Game object 1816 sends a draw-finished-mode-GUI (“drawFinishedModeGUI( . . . )”) message 3254 to a finished-mode-GUI-object 3210, which replaces navigation-mode-GUI object 1810. Message 3254 passes 2162A and phrase answer 3253. Game object 1816 also sends message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.
  • Quiz Database
  • The features of the present embodiment, as well as other embodiments to follow, are supported by a quiz database. The relational database design contains structures for supporting a game, as well as for building quiz-trees and maintaining history information.
  • Quiz-Generation Schema—FIGS. 33-40
  • A discussion of the schema used for quiz-generation is included in the discussion of FIGS. 33 to 40. Some of the entities discussed in FIGS. 33-40 also supply quiz data at game runtime. Custom computer code facilitates the generation of complete quiz-trees from data in the quiz-generation schema. Nodes are recursively associated in a node entity, providing a basis for linking clues and answers to form quizzes, and for linking quizzes to one another.
  • Entity Relationship Diagram—FIG. 33
  • A quiz database can contain raw information on which quiz-trees are to be built. FIG. 33 shows expression (“Expression”) entity 3310 which represents expressions, or phrases that can be used to make quizzes. In the context of the schema, expressions have their words stored separately.
  • Each expression in expression entity 3310 is identified by a primary key “ExpressionID” 3310A. A primary key column 3352 is indicated by a symbol “PK” 3350. Attributes are used to help classify expressions to assist in customizing and automating the assembly of quiz-trees. Attributes for expression entity 3310 include; a number of words in an expression (“NumWords”) 3310B, a number of quiz-able-words in an expression (“NumQuizzableWords”) 3310C, and a number of filler or non-quiz-able-words in an expression (“NumNonQuizzableWords”) 3310D. Other attributes are flags “IsSuitableForQuestionYN?” 3310E, “IsSuitableForAnswerYN?” 3310F and “IsSuitableForGuessThePhraseYN?” 3310G that indicate the suitability of the expression for specific types of nodes.
  • FIG. 33 shows the relationship between expression entity 3310 and a canned quiz (“CannedQuiz”) entity 3311. Canned quiz entity 3311 contains data for “canned” quizzes. A canned quiz question (clue), represented as a question-text (“QuestionTxt”) attribute 3311B, is a string that is not stored as its component words. It is generally an expression (having more than one word), although not a schema expression as defined. A corresponding answer to a canned quiz question is represented by primary key 3310A of expression entity 3310. This is a foreign key “ExpressionID_Answ” 3311A in 3311. A symbol “PF” 3354 is used to denote a foreign-key-primary-key column 3356. An example of a canned-quiz question is 412A1 of FIGS. 4 and 5. An example of an answer to a canned quiz is the answer to 412A1, shown as 416A of FIGS. 5 and 230A1 of FIG. 6. The purpose of storing a quiz answer by its words, using expression entity 3310 is to assist in relating those words, represented as nodes, to other nodes in a quiz-tree. There is a cardinality of zero-or-one 3358 between canned quiz entity 3311 and expression entity 3310, indicating there are other types of expressions besides canned-quiz answers. Canned quiz entity 3311 also has attributes “TotalCorrectAttempts” 3311C and “TotalWrongAttempts” 3311D to record history information. Attributes 3311C and 3311D can be used to customize quizzes by difficulty as calibrated by player responses. They are exemplary of the type of supporting data that can be stored.
  • A subject category (“SubjectCategory”) entity 3314 contains a primary key, category code (“CategoryCode”) 3314A and an attribute “CategoryDescription” 3314B. Composite entity “CannedQuiz_SubjectCategory” 3312 contains a composite key comprising foreign-key-primary-key column 3312A from primary key 3311A of entity 3311, and foreign-key-primary-key column 3312B from primary key 3314A of entity 3314. Subject category information is stored at the expression-level to assist in building quiz-trees comprising categorized quizzes.
  • Entity Relationship Diagram—FIG. 34
  • Expression entity 3310 has a one-to-many relationship with an expression-word (“ExpressionWord”) entity 3410. Entity 3410 represents the words that are contained in expressions. Entity 3410 has a composite primary key consisting of a foreign-key-primary-key column 3410A from primary key 3310A of entity 3310 and a word-number-in-expression (“WordNumInExp”) attribute 3410B. Attribute 3410B records the word position in its expression. Entity 3410 contains attribute “IsDictionaryWordYN?” 3410C. This attribute indicates whether or not an expression-word is a dictionary-word. A dictionary-word is a word derived from an external or custom dictionary. If an expression word is not a dictionary word it is a non-dictionary word. A non-dictionary word might by a word like “McFly”, a fictional last name that is not established in the lexicon. However, in the remaining discussion, it is assumed all expression-words are stored in dictionary word entity 3416. Entity 3410 contains attribute “IsQuizzableWordYN?” 3410D. Attribute 3410D indicates whether or not an expression-word is a quiz-able-word in its expression. If a word is not a quiz-able-word it is a filler-word. Expression-word entity 3410 contains attribute “IsCapitalizedYN?” 3410E. Attribute 3410E indicates whether or not an expression-word appears with capitalization in its phrase, such as a first or last name.
  • A dictionary-word (“DictionaryWord”) entity 3416 contains words that are sourced from a dictionary. Entity 3416 contains a primary key “DictionaryWordID” 3416A and a word-text “WordTxt” attribute 3416B, for dictionary-word text. Composite entity “ExpressionWordDictWord” 3412 has a composite primary key 3412P referencing primary key columns 3410A, 3410B, and 3416A. These are foreign-key-primary- keys 3412A, 3412B, and 3412C respectively in entity 3412.
  • Non-dictionary word (“NonDictionaryWord”) entity 3418 contains words that are provided from outside a dictionary. Practically, it represents a second repository of words. Entity 3418 has a primary key “NonDictionaryWordID” 3418A and word-text (“WordTxt”) attribute 3418B, that has the text of a non-dictionary word. Composite entity “ExpressionWordNonDictWord” 3414 has a composite primary key 3414P consisting of primary key columns 3410A, 3410B, and 3418A.
  • Entity Relationship Diagram—FIG. 35
  • FIG. 35 shows entities for relating dictionary words to one another. An entity dictionary-word—dictionary-word—contains (“DictWd_Dict:Contains”) 3510 is used to relate a word in the dictionary with another word in the dictionary based on the fact that a given word contains another word. Entity 3510 has a foreign-key-primary-key 3510P consisting of a foreign key column 3510A from primary key 3416A of dictionary word entity 3416, and a second foreign key column 3510B from primary key 3416A of entity 3416. An example record would contain a “DictionaryWordID” representing the word “appointment” and a “DictionaryWordID1” representing word “ointment”.
  • Another entity, dictionary-word—dictionary-word—contained by “DictWd_DictWd:ContainedBy” 3511 is similar to entity 3510. An example record would contain a DictionaryWordID of “ointment” and a DictionaryWordID1 of “appointment”. Given the word “ointment” a lookup would get the word “appointment”. A match on these two words allows a node representing the expression “Appointment for Love” to be related to a node representing the word “ointment”.
  • The remainder of the composite entities in FIG. 38 are similar to 3510. A dictionary-word—dictionary-word—alternate spelling (“DictWd_DictWd:AlternateSpelling”) entity 3512 might contain as an example record the dictionary word IDs for the words “Africa” and “Afrika”. A dictionary-word—dictionary-word—tense of (“DictWd_DictWd:TenseOf”) entity 3514 might contain as an example record the dictionary word IDs for the words “fly” and “flew”. A dictionary-word—dictionary-word—abbreviation-or-long-form (“DictWd_DictWd:AbrevOrLongFm”) entity 3516 might contain as an example record the dictionary word IDs for the words “Doctor” and “Dr”.
  • A dictionary-word—dictionary-word—synonym-of (“DictWd_DictWd:SynonymOf”) entity 3520 might contain as an example record the dictionary word IDs for the words “fly” and “bug”. A dictionary-word—dictionary-word—antonym-of (“DictWd_DictWd:AntonymOf”) entity 3522 might contain as an example record the dictionary word IDs for the words “love” and “hate”.
  • A dictionary-word—dictionary-word—root-or-derivative-of (“DictWd_DictWd:RootOrDerivOf”) entity 3518 has a foreign-key-primary-key 3518P. Primary key 3518P consists of foreign key column 3518A from primary key 3416A of dictionary word entity 3416, and a second foreign key column 3518B from primary key 3416A of entity 3416. Entity 3518 might contain as an example record the dictionary word IDs for the words “fly” and “flight”. Other relations for relating dictionary words are possible.
  • Entity Relationship Diagram—FIG. 36
  • FIG. 36 depicts the entities used to find an expression that contains a dictionary word that is a root or derivative of a dictionary word contained in a given expression.
  • An “ExpWdDictWd_DictWd_DictWd:RootOrDerivativeOf” entity 3610 is a composite of “ExpressionWordDictWord” entity 3412 and “DictWd_DictWd:RootOrDerivOf” entity 3518. Its primary key 3610P is concatenated from complete primary key 3412P of entity 3412 and complete primary key 3518P of entity 3518. Entity 3610 has foreign-key-primary- key columns 3610A, 3610B, 3610C, 3610D, and 3610E from primary key columns 3412A, 3412B, 3412C, 3518A, and 3518B respectively. There is a record in 3610 for each match of 3412C in 3412 to 3518A in 3518.
  • An entity “ExpWdDictWd_ExpWdDictWd_DictWd-DictWd: RootOrDerivativeOfl” 3612 is a composite entity of entities 3610 and 3412. Its primary key is composed of foreign-key-primary-key columns 3612A-3612F. These refer to primary key columns 3412A, 3412B, 3412C, 3610A, 3610B, and 3610C respectively. Entity 3612 also has foreign keys 3612G and 3612H referring to 3610D and 3610E respectively.
  • There is a record in entity 3612 for every match of 3412C in 3412 to 3610E in entity 3610. Entity 3612 serves as a lookup table to find expressions that contains a word that is a root or derivative of a word in another, given expression. Included with the expressions that are found from 3612 is the position 3612B of the root or derivate word in its expression.
  • In the sample iteration, entity 3610, or an equivalent query or view, is used to lookup “ExpressionID13612D representing trivia-quiz answer “The Flight of the Phoenix” 230A2 from “ExpressionID” 3612A representing top-level phrase “A fly in the ointment” 1410. This is accomplished through a relationship of the word “fly” in the top-level expression with its derivative word “flight” in a trivia-quiz answer expression. Entity 3610 can therefore be called the “lookup-expression-having-a-root-or-derivative-word” entity.
  • In another of the four examples, top-level expression 1410 was related to trivia-quiz answer 230A1 by virtue of a ‘contained-by’ relationship, whereby the word “fly” is contained by “McFly”. Building composite entities like 3610 and 3612 by replacing entity 3518 with entity 3511 from FIG. 35 would give a “lookup-expression-having-a-containing-word” entity for this purpose.
  • In another of the four examples, top-level expression 1410 was related to trivia-quiz answer 230B1 by virtue of another ‘contained-by’ relationship, whereby the word “ointment” is contained by “appointment”. Expressions 1410 and 230B1 would also be related by a “lookup-expression-having-a-containing-word” entity.
  • In the final example, top-level expression 1410 was related to trivia-quiz answer 230B2 by virtue of a ‘synonym’ relationship, whereby the word “ointment” is a synonym of “Cream”. Building composite entities like 3610 and 3612 by replacing entity 3518 with entity 3520 from FIG. 35 would give a “lookup-expression-having-a-synonym” entity for this purpose. Following the pattern, ‘lookup-expression-where-a-word-contains’, ‘lookup-expression-having-an-alternate-spelling’, ‘lookup-expression-having-a-tense-of’, ‘lookup-expression-having-an-abbreviation-or-long-form’, and ‘lookup-expression-having-an-antonym’ entities, are built. Many other types of lookup entities are possible. In general, such entities are called ‘lookup-expression’ entities.
  • Entity Relationship Diagram—FIG. 37
  • FIG. 37 shows a Node entity 3710. It has a node ID (“NodeID”) primary key 3710A. Entity 3710 includes attribute “IsExpressionYN?” 3710B which flags whether a node is an expression. Redundant attribute “IsNotAnExpressionYN?” 3710C flags whether a node is not an expression. Entity 3710 includes a one to zero-or-one self-join 3710J with parent-node-ID (“ParentNodeID”) 3710D being a foreign key referring to primary key 3710A. Also included is a redundant attribute node-level (“NodeLevel”) 3710E which represents a node-level of a node in its tree. Also included is a tree ID (“TreeID”) foreign key 3710F.
  • Node entity 3710 has a one-to-zero-or-one cardinality 3711 with a non-expression-node (“NonExpressionNode”) entity 3712. Primary key 3710A serves as a foreign-key-primary-key 3712A of entity 3712. Attributes of 3712 include flags indicating a type of non-expression-node. These flags are; is-it-a-canned-quiz-question-yes-or-no (“IsCannedQuizQuestionYN?”) 3712B, is-it-a-guess-the-phrase-word-node-yes-or-no (“IsGuessThePhraseWordYN?”) 3712C, is-it-a-multi-media-clip-yes-or-no (“IsMMClipYN?”) 3712D, is-it-a-sound-clip-yes-or-no (“IsSoundClipYN?”) 3712E, is-it-a-picture-yes-or-no (“IsPictureYN?”) 3712F, is-it-a-concealed-picture-puzzle-yes-or-no (“IsConcealedPicturePuzzleYN?”) 3712G. Only flags 3712A and 3712B apply to the detailed embodiment.
  • Node entity 3710 has a one-to-zero-or-one cardinality 3713 with an expression-node (“ExpressionNode”) entity 3714. Primary key 3710A serves as a foreign-key-primary-key column 3714A in entity 3714. Another foreign-key-primary-key column, an expression ID (“ExpressionID”) 3714B column, comes from primary key 3310A of entity 3310. A one-to-zero-or-many cardinality 3715 exists between entities 3310 and 3714. Together, 3714A and 3714B form the primary key of entity 3714. Flag attributes of 3714 indicate a type of expression-node. An is-it-a-derived-clue-yes-or-no (“IsDerivedClueYN?”) attribute 3714C indicates whether an expression-node is a clue (to a one-higher answer) that is derived from the quiz-generation schema. For example, a node can be related to a one-higher node on the basis of entity 3612 of FIG. 36. An is-it-the-answer-to-a-canned-quiz-question-yes-or-no (“IsCannedQuizAnswerYN?”) attribute 3714D indicates whether an expression-node is the answer to a ‘canned’ (non-expression) quiz-question. An is-it-a-guess-the-phrase-phrase-yes-or-no (“IsGuessThePhrasePhraseYN?”) attribute 3714E indicates whether an expression-node is a guess-the-phrase-phrase.
  • Entity Relationship Diagram—FIG. 38
  • FIG. 38 depicts two different types of non-expression-node entities used in the detailed embodiment. Node ID 3712A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3810A of a canned-quiz-question-node (“CannedQuizQuestionNode”) entity 3810. Column 3810A is part of the primary key of entity 3810. Foreign-key-primary-key column 3810B from primary key 3311A from entity 3311 is the other column 3810B of the primary key of entity 3810. There is a one-to-zero-or-one cardinality 3811 between entities 3712 and 3810. Also included in entity 3810 are flag attributes; has-multiple-choice-answer-yes-or-no (“HasMCAnswerYN?”) 3810C and has-text-input-answer-yes-or-no (“HasTextInputAnswerYN?”) 3810D.
  • Node ID 3712A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3812A of a guess-the-phrase-word-node (“GuessThePhraseWordNode”) entity 3812. Foreign-key-primary- key columns 3812B and 3812C from primary key columns 3410A and 3410B of entity 3410 are the other primary key columns of entity 3812. There is one-to-zero-or-one cardinality 3813 between entities 3712 and 3812.
  • Entity Relationship Diagram—FIG. 39
  • FIG. 39 shows more detail for entities 3810 and 3812. “CannedQuizQuestionNode” entity 3810 has ExpressionID_Answ foreign-key-primary-key column 3810B from primary key 3311A from “CannedQuiz” entity 3311. “GuessThePhraseWordNode” entity 3812 has primary key columns 3410A and 3410B of “ExpressionWord” entity 3410 as foreign-key-primary- key columns 3812B and 3812C. “ExpressionID” primary key column 3410A is “ParentExpressionID” primary key column 3812B in GuessThePhraseWordNode entity 3812. “WordNumInExp” primary key column 3410B in entity 3410 is “WordNumInParentExp” primary key column 3812C in entity 3812.
  • Entity Relationship Diagram—FIG. 40
  • FIG. 40 introduces a tree (“Tree”) entity 4010. Tree entity 4010 has a tree ID (“TreeID”) primary key 4010A. All nodes belonging to a single quiz-tree can be identified by their tree ID on the basis of a foreign key 3710F. The tree ID in node entity 3710 is strictly-speaking redundant in terms of identifying all the nodes belonging to some unidentified ‘tree’. This is because the unique nature of node ID primary key 3710A combined with foreign key 3710D allows all nodes belonging to one (unidentified) ‘tree’ to be related back to that tree, in their proper position. However, representing distinct trees allows trees to be managed as distinct entities. This facilitates more advanced game management, for example, preventing the same player from accessing a tree more than once. Other attributes of tree entity 4010 are an is-template-yes-or-no “IsTemplateYN?” attribute 4010B, and an average-player-rating “AveragePlayerRating” attribute 4010C. Attribute 4010B records whether a tree is a standard template. If not, it might have been created by a game player for limited or one-time use. Attribute 4010C records average ratings of trees as provided by player feedback. This attribute presumes functionality for surveying player satisfaction. A tree-created-by-player-ID (“TreeCreatedByPlayerID”) foreign key 4010D from a player entity records the player who created a tree, if applicable, presuming functionality for player creation of trees.
  • Entity Relationship Diagram—FIG. 41
  • FIG. 41 introduces a player (“Player”) entity 4110. It has a player ID (“PlayerID”) primary key 4110A, and attributes; first name (“FName”) 4110B and last name (“LName”) 4110C. For an enhancement where players can create quiz-trees, primary key “PlayerID” 4110A is a foreign key “TreeCreatedByPlayerID” 4010D in tree entity 4010.
  • Composite tree-player (“Tree_Player”) entity 4112 has foreign-key-primary- key columns 4112A and 4112B referencing primary keys 4010A and 4110A respectively. Entity 4112 includes a player-rating-of-tree (“PlayerRatingOfTree”) attribute 4112C that records player ratings of trees. Individual player ratings are used to derive “AveragePlayerRating” 4010C of tree entity 4010.
  • Sequence Diagram—Tree Formulator Part 1—FIG. 42
  • Quiz data represented by entities shown in FIG. 33-40 must be related to nodes within quiz-trees. FIG. 42 introduces a tree-formulator (“:TreeFormulator”) object 4210 that organizes quiz data into quiz-trees. First, object 4210 is initialized with tree-formula-initialization method (“initTreeFormulator( )”) 4250. No initialization parameters are shown, but arguments defining quiz-tree parameters are possible. Object 4210 next sends an insert-tree (“insertTree( )”) message 4252 to tree entity 4010. The relational database management system uses Data Manipulation Language (“DML”) to insert a new record in entity 4010. A unique tree ID (“TreeID”) primary key 4010A value is generated from a database sequence. Entity 4010 next returns tree ID (“TreeID”) 4254 to object 4210.
  • Tree-formulator object 4210 next sends a select-expression (“selectExpression( . . . )”) message 4256 to expression entity 3310. A parameter 4256A is included with message 4256 to select where “IsSuitableForGuessThePhraseYN?” attribute 3310G is set to “Y” for “yes”. Message 4256 selects one record. Program handling (not shown) ensures that the same expression is not pulled more than once for the same quiz-tree as well as to randomize selection of expressions. Additional parameters could be sent to specify the type of expression to be selected. Expression entity 3310 could have additional attributes related to it to assist in fine-tuning the types of expressions composed into in a quiz-tree.
  • Expression entity 3310 returns values 4258; an expression ID (“ExpressionID”) 4258A, and number of words (“NumWords”) 4258B from columns 3310A and 3310B respectively of 3310. Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4260 to node entity 3710. A parameter 4260A is sent to set column 3710B, “IsExpressionYN?” to “Y” for “yes”. Other parameters 4260B are sent, namely to set “IsNotAnExpressionYN?” to “N” for “no”. A parameter 4260C is included to set column 3710D to NULL, indicating that there is no parent node. This is an appropriate value only for a top-level node. A parameter 4260D is included to set column 3710E to “1”. Also passed is Tree ID 4254 which goes in column 3710F.
  • The DML inserts a record in entity 3710. A node ID (“NodeID”) is generated in column 3710A from a database sequence. A node ID (“NodeID”) value 4262 is returned to tree-formulator object 4210. Object 4210 next sends an insert-expression-node (“insertExpressionNode( . . . )”) message 4264 to expression-node entity 3714. Message 4264 passes node ID 4262 and expression ID 4258A which go in columns 3714A and 3714B respectively. Other parameters 4264A set columns 3714C and 3714D both to “N” for “no”. Parameter 4264B sets column “IsGuessThePhrasePhraseYN?” 3714E to “Y”.
  • Having inserted the top-level node, tree-formulator object 4210 uses a set-level-one-parent-node-ID (“setLevellParentNodeID( . . . )”) method 4266 to set a parent-node-ID variable to the (current) node ID 4262 of the top-level expression.
  • Sequence Diagram—Tree Formulator Part 2—FIG. 43
  • The tree-formulator sequence continues with FIG. 43. An outer loop 4348 loops “n” times, where “n” is set to the number of words “NumWords” 4258B in the expression. The tree-formulator object sends a select-expression-word (“selectExpressionWord( . . . )”) message 4350 to expression-word entity 3410. Message 4350 passes expression ID 4258A and a parameter 4350A representing the loop counter. These are used to find a record for the current expression and word number by filtering on columns 3410A and 3410B respectively.
  • Entity 3410 returns corresponding column values 4252 for the selected record. “IsQuizzableWordYN?” 3410D, which is either “Y” for “yes” or “N” for “no” is returned as a value 4352A. Values 4352B of columns 3410C and 3410E are also returned.
  • Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4354 to node entity 3710. A parameter 4354A is sent to set column 3710C, “IsNotAnExpressionYN?” to “Y” for “yes”. Other parameters 4354B are sent, namely to set “IsExpressionYN?” to “N” for “no”. A parent-node-ID (“parentNodeID”) parameter 4354C is included to set column 3710D to the node ID of the parent, top-level node. A parameter 4354D is included to set column 3710E to “2”. Also passed is Tree ID 4254 which goes in column 3710F.
  • The DML inserts a node record in entity 3710, generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4356. Object 4210 next sends an insert-non-expression-node (“insertNonExpressionNode( . . . )”) message 4358 to non-expression-node entity 3712. Message 4358 passes node ID 4356 to set 3712A and parameter 4358A to set “IsGuessThePhraseWordYN?” column 3712C to “Y”. Other parameters 4358B set columns 3712B, and 3712D-3712G to “N”.
  • Object 4210 next sends an insert-guess-the-phrase-word-node (“insertGuessThePhraseWordNode( . . . )”) message 4360 to entity 3812. Message 4360 passes node ID 4356 to set 3812A and a parameter 4360A to set column “ParentExpressionID” 3812B to the current expression ID of the top-level expression. Message 4360 also passes a parameter 4360B to set 3812C to the counter value “n” representing the word number in the expression.
  • Sequence Diagram—Tree Formulator Part 3—FIG. 44
  • The tree-formulator sequence continues with FIG. 44. One of two sequences occurs as represented by an “alt combined fragment” 4450. On a condition 4452 that “IsQuizzableWordYN?” value 4352A is set to “N”, a next (“next(n)”) method or next statement 4454 increases the outer loop counter (“n”) by one and, where “n” is not greater than “NumWords” 4258B, resumes outer loop 4348 show in FIG. 43.
  • On a condition 4456 that “IsQuizzbleWordYN?” value 4352A is set to “Y”, object 4210 calls its set-level-two-node-id (“setLevel2NodeID( . . . )”) method 4457 with node ID 4356 representing the n-th word. This keeps track of the level-two node ID in a variable.
  • Next, an inner loop executes. The inner loop completes node levels three and four of the quiz-tree. The number of times the loop executes is represented by “m”. The value of “m” could be set to an upper limit defined in a tree-formulator console (not shown) or hard coded. Otherwise, the number of iterations of the inner loop depends on the number of matching expressions found in the “lookup-expression” entities.
  • Part 1 of the inner loop is shown in loop combined fragment 4458. A reset-level-two-parent-node-ID (“resetLevel2 ParentNodeID( )”) method 4460 sets a “ParentNodeID” value to a level-two-node-id parameter 4461 value, which was returned from method 4457. The scope of this setting is restricted to the inner loop. Object 4210 sends a select-related-expression (“selectRelatedExpression( . . . )”) message 4462 to a lookup-expression entity 3612. Message 4462 passes parameters 4258A and 4350A. Parameter 4258A is used to restrict column 3612A and parameter 4350A is used to restrict column 3612B. Entity 3612 from FIG. 36 is representative of the different lookup-expressions. Loop “m” would be repeated, replacing the lookup entity in each repetition of the loop (not shown). Alternatively, all the related expression lookups could be inserted into a single lookup-entity (not shown). A tree-formulator console (not shown) could be used to restrict the types of expression lookups used in a particular quiz-tree.
  • Entity 3612 returns one related-expression-id (“ExpressionID1”) 4464 from column 3612D per iteration of inner loop “m”. For an Oracle database, a PL/SQL cursor could be used to perform this type of function. Tree-formulator object 4210 next sends a “selectExpressionID_Answ” message 4466 to canned-quiz entity 3311. Message 4466 passes a parameter 4466A to select “ExpressionID_Answ” column 3311A from entity 3311 where column 3311A is equal to 4464. Entity 3311 returns an “ExpressionID_Answ” value 4468.
  • A condition 4472 checks that 4468 in not null. If 4468 is null, it means that related-expression-id 4464 is not a canned-quiz answer, and method or next statement 4470 starts a new iteration of the inner loop “m”.
  • Sequence Diagram—Tree Formulator Part 4—Inner Loop “m” Part 2FIG. 45
  • FIG. 45 continues the tree-formulator sequence within the inner loop “m”. A condition 4550 checks that 4468 is not null, that is, that a value was returned in the previous step. If condition 4550 is met, execution continues within the inner loop.
  • Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4552 to node entity 3710. A parameter 4552 A sets column 3710B “IsExpressionYN?” to “Y”. Parameter 4552B is sent to set “IsNotAnExpressionYN?” column 3710C to “N” for “no”. A parent-node-ID (“parentNodeID”) parameter 4552C is included to set column 3710D to the node ID of the parent, quiz-able-word node. A parameter 4552D is included to set column 3710E to “3”. Also passed is Tree ID 4254 which goes in column 3710F.
  • The DML inserts a node record in entity 3710, generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4554. Object 4210 next sends an insert-expression-node (“insertExpressionNode( . . . )”) message 4556 to expression-node entity 3714. Message 4556 passes node ID 4554 to set column 3714A. Message 4556 passes parameter 4556A to set “ExpressionID” column 3714B to 4468. Other parameters 4556B set columns 3714C and 3714E to “N”. Parameter 4556C sets column “IsCannedQuizAnswerYN?” 3714D to “Y”.
  • Tree-formulator object 4210 next calls a set-level-three-parent-node-id (“setLevel3 ParentNodeID( . . . )”) method 4558, passing 4554, which sets a “ParentNodeID” parameter to the node ID of the quiz answer expression.
  • Next, object 4210 sends an insert-node message 4560 to insert a node into entity 3710. A parameter 4560A is sent to set column 3710C, “IsNotAnExpressionYN?” to “Y” for “yes”. A parameter 4560B is sent to set “IsExpressionYN?” 3710B to “N” for “no”. A parent-node-ID (“parentNodeID”) parameter 4560C is included to set column 3710D to the node ID of the parent, quiz-answer node. A parameter 4560D is included to set column 3710E to “4”. Also passed is Tree ID 4254 which goes in column 3710F.
  • The DML inserts a node record in entity 3710, generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4562. Object 4210 next sends an insert-non-expression-node (“insertNonExpressionNode( . . . )”) message 4564 to non-expression-node entity 3712. Message 4564 passes node ID 4562 which goes in column 3712A. Also passed is parameter 4564A to set “IsCannedQuizQuestionYN?” column 3712B to “Y”. Other parameters 4564B set columns 3712C-3712G to “N”.
  • Object 4210 next sends an insert-canned-quiz-question-node (“insertCannedQuizQuestionNode( . . . )”) message 4566 to entity 3810. Message 4566 passes node ID 4562 to set column 3810A. It also passes a parameter 4468 to set column 3810B. Message 4566 also passes parameter 4566A to set 3810C to “N”, and parameter 4566B to set column 3810D to “Y”.
  • Sequence Diagrams—Node Initializers
  • FIG. 46-51 show how the four already-introduced node objects are initialized from information in the quiz-generation schema. These sequences show how the data is accessed by the system at runtime. The node structure of a tree is already defined by the tree-formulator sequences.
  • A runtime node persistence design would also require entities for storing node state and other information about a game in progress, not detailed below. Shown are the sequences for initializing the node objects with quiz data and references to applicable parent and child nodes, in support of the class diagram and game sequences previously shown. In these diagrams, the references to applicable parent and child nodes are by node IDs as opposed to object references. From a node ID, a relative parent or child node could be instantiated and an object reference obtained.
  • Sequence Diagram—Guess-the-Phrase Phrase Node Initializer—FIG. 46
  • FIG. 46 shows how a guess-the-phrase-phrase-node object is initialized from information in the quiz-generation schema. Guess-the-phrase-phrase-node object 3012 receives an initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650, which passes a node-id (“nodeID”) 4652 parameter. Object 3012 next sends a select-expression (“selectExpression( . . . )”) message 4654 to expression-node entity 3714, passing 4652 which restricts 3714A. Entity 3714 returns an expression-id (“ExpressionID”) 4656 value from 3714B.
  • Object 3012 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4658 to expression entity 3310, passing 4656 which restricts column 3310A. Entity 3310 returns a number-of-words (“NumWords”) 4660. Object 3012 next gets an array of the node-ids of the guess-the-phrase-words in the phrase. An initialize-guess-the-phrase-word-node-array (“initGTPWNd( )”) method 4662 initializes the array.
  • A combined loop fragment 4664 iterates “n” times where the upper limit of “n” is the number of words 4660. A select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”) message 4666 is sent to node entity 3710. Message 4666, passes a parameter 4668 to restrict column 3710D to 4652. Column 3710A is selected and a node-id (“NodeID”) 4670 is returned to object 3012. An add-guess-the-phrase-word-node (“addGTPWNd( . . . )”) method 4674 inserts nth node ID 4670 into the guess-the-phrase-word-node array.
  • Sequence Diagram—Guess-the-Phrase Word Node Initializer—Part 1—FIG. 47
  • FIG. 47 shows part one of how a guess-the-phrase-word-node object is initialized from information in the quiz-generation schema. Guess-the-phrase-word object 1818 receives an initialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message 4750, which passes a node-id (“nodeID”) 4752 parameter. Object 1818 next sends a select-expression-and-word-number (“selectExpression&WordNum( . . . )”) message 4754 to guess-the-phrase-word-node entity 3812, passing 4752 which restricts 3812A. Entity 3812 returns values 4756, a parent-expression-id (“ParentExpressionID”) 4758 from column 3812B, and a word-number-in-parent-expression (“WordNumInParentExp”) 4760 from column 3812C.
  • Object 1818 next sends a select-expression-word-information (“selectExpressionWordInfo( . . . )”) message 4762 to expression-word entity 3410. Message 4762 passes a parameter 4762A which restricts column 3410A with 4758. Message 4762 also passes a parameter 4762B which restricts column 3410B with 4760. Entity 3410 returns values 4764. These include an expression-id (“ExpressionID”) 4766 from column 3410A, and a word-number-in-expression (“WordNumInExp”) 4768 from 3410B. Entity 3410 also returns “IsQuizzableWordYN?” 4770 from 3410D and “IsCapitalizedYN?” 4772 from 3410E. All words are stored as dictionary words in the present embodiment, so there is no need to return 3410C.
  • Object 1818 next sends a select-dictionary-word (“selectDictionaryWord( . . . )”) message 4774 to entity 3412. Parameter 4766 restricts column 3412A and parameter 4768 restricts column 3412B. A value for dictionary-word-id (“DictionaryWordID”) 4776 is returned. Next, object 1818 sends a select-word-text (“selectWordTxt( . . . )”) message 4778 to dictionary-word entity 3416, passing 4776 which restricts column 3416A. A value for word-text (“WordTxt”) 4780 is returned from column 3416B.
  • Next, object 1818 calls its set-answer (“setAnswer( . . . )”) method 4782, passing 4780 and 4772 to set an answer for the word. This answer is passed to and displayed in the interface when the word is solved. On a condition 4784 that the word is a quiz-able word, object 1818 also calls its set-valid-word-answer (“setValidWdAnswer( . . . )”) method 4786, passing 4780. This method sets the first index value of a valid-word-answers array to word-text 4780. Other entities and sequences, not shown, could be used to create an array of multiple values with closely matching responses deemed to be correct.
  • Sequence Diagram—Guess-the-Phrase-Word-Node Initializer—Part 2—FIG. 48
  • FIG. 48 shows part two of the guess-the-phrase-word node initialization sequence. Guess-the-phrase-word object 1818 sends a select-parent-node (“selectParentNode( . . . )”) message 4850 to node entity 3710, passing 4752. Node id 4752 restricts column 3710A, and parent-node-id (“ParentNodeID”) 4852 is returned from column 3710D.
  • On a condition 4784 (which also applies to the loop that follows), an initialize-trivia-quiz-answer-node (“initTQANd”) method 4854 initializes a two-dimensional array that stores trivia-quiz answer node IDs and their respective category.
  • A loop combined fragment 4856 iterates while found with counter “n”. A select-trivia-quiz-answer-node (“selectTQANd( . . . )”) message 4858 is sent to node entity 3710. Message 4858, passes a parameter 4860 to restrict column 3710D to node ID 4752 of the quiz-able word. A node id 4862 for a trivia-quiz-answer-node is returned from column 3710A.
  • Next, a select-expression (“selectExpression( . . . )”) message 4864 is sent to expression-node entity 3714, passing 4862. Parameter 4862 restricts column 3714A, and column 3714B is returned as an expression-id (“ExpressionID”) 4866 value. Next, object 1818 sends a select-category-code (“selectCategoryCode( . . . )”) message 4868 to canned-quiz-subject-category entity 3312. Message 4868 passes a parameter 4870 which restricts column 3312A with 4866. Column 3312B is returned as a category-code (“CategoryCode”) 4872 value. Next, a set-trivia-quiz-answer-node (“setTQANd( . . . )”) method 4874 executes. Method 4874 inserts trivia-quiz-answer node-id 4862, and category-code 4872 into the trivia-quiz-answer-node array.
  • Sequence Diagram—Trivia Quiz Answer Node Initializer—Part 1—FIG. 49
  • FIG. 49 shows part one of the trivia-quiz-answer-node-initializer sequence. Trivia-quiz-answer-node object 1910 receives an initialize-trivia-quiz-answer-node (“initTQANd( . . . )”) message 4950, which passes a node-id (“nodeID”) 4952 parameter. Object 1910 next sends a select-expression (“selectExpression( . . . )”) message 4954 to expression-node entity 3714, passing 4952 which restricts 3714A. Entity 3714 returns an expression-id (“ExpressionID”) 4956 value from 3714B.
  • Object 1910 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4958 to expression entity 3310, passing 4956 which restricts column 3310A. Entity 3310 returns a number-of-words (“NumWords”) 4960 from 3310B. Object 1910 next calls an initialize-answer (“initAnswer( . . . )”) method 4962, passing 4960. Method 4962 initializes an array of size “NumWords” for holding the words of the trivia-quiz-answer expression.
  • A combined loop fragment 4964 iterates “n” times where the upper limit of “n” is the number of words 4960. A select-dictionary-word (“selectDictionaryWord( . . . )”) message 4966 is sent to expression-word-dictionary-word entity 3412. Message 4966, passes parameter 4956 to restrict column 3412A. Also passed is parameter 4966A which restricts column 3412B to the counter representing the word number. A dictionary-word-id (“DictionaryWordID”) 4968 value is returned from column 3412C.
  • Object 1910 next sends a select-word-text (“selectWordTxt( . . . )”) message 4970 to dictionary-word entity 3416. Message 4970 passes 4968, which restricts column 3416A. Column 3416B is returned as a word text (“WordTxt”) 4972 value. Object 1910 next sends a select-caplitalization (“selectCapitalization( . . . )”) message 4974 to expression-word entity 3410. Message 4974 passes 4956, which restricts column 3410A. Message 4974 also passes a parameter 4974A for the counter value, which restricts column 3410B. Column 3410E is returned as an “IsCapitalizedYN?” 4976 value. Object 1910 calls its add-to-answer (“addToAnswer( . . . )”) method 4978, passing 4972 and 4976. Method 4978 adds the word to the array of words for the trivia-quiz-answer expression.
  • Sequence Diagram—Trivia Quiz Answer Node Initializer—Part 2—FIG. 50
  • FIG. 50 shows the second part of the trivia-quiz-answer-node-initializer sequence. Trivia-quiz-answer-node object 1910 calls its convert-to-string (“convertToString( . . . )”) method 5050, passing a completed array of words (“answer”) for the trivia-quiz-answer expression, 5052. Next, it calls its initialize-valid-answers (“initValidAnswers( . . . )”) method 5054, which initializes an array of valid answers and adds a string-answer (“stringAnswer”) 5056 returned from method 5050 at the first index. Additional entities and sequences, not shown, would be used to add additional values to the array of valid answers. It is this array that is checked against a player response to determine whether it is correct.
  • Object 1910 next sends a select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”) message 5058 to node entity 3710. A parameter 5058A restricts column 3710A with node id 4952. Column 3710D is returned as a parent-node-id (“ParentNodeID”) 5060. Object 1910 calls its set-guess-the-phrase-word-node (“setGTPWNd( . . . )”) method 5062, passing 5060. This sets the parent, guess-the-phrase-word-node by its node-id.
  • Object 1910 next sends a select-trivia-quiz-question-node (“selectTQQNd( . . . )”) message 5064 to entity 3710. Message 5064 passes a parameter 5064A that restrict column 3710D with 4952. Column 3710A is returned as a node-id (“NodeID”) 5066 value. Object 1910 calls its set-trivia-quiz-question-node (“setTQQNd( . . . )”) method 5068, passing 5066. This sets the child, trivia-quiz-question-node by its node-id.
  • Sequence Diagram—Trivia Quiz Question Node Initializer—FIG. 51
  • FIG. 51 shows how a trivia-quiz-question-node object is initialized from information in the quiz-generation schema. Trivia-quiz-question-node object 1912 receives an initialize-trivia-quiz-question-node (“initTQQNd( . . . )”) message 5150, which passes a node-id (“nodeID”) 5152 parameter. Object 1912 next sends a select-expression (“selectExpression( . . . )”) message 5154 to canned-quiz-question-node entity 3810, passing 5152 which restricts 3810A. Entity 3810 returns an “ExpressionID_Answ” 5156 value from 3810B.
  • Object 1912 next sends a select-question-text (“selectQuestionTxt( . . . )”) message 5158 to canned-quiz entity 3311, passing 5156 which restricts column 3311A. Entity 3311 returns a question text (“QuestionTxt”) 5160 from column 3311B. Object 1912 next calls its initialize-question (“initQuestion( . . . )”) method 5162, passing 5160 to initialize the question.
  • Object 1912 next sends a select-trivia-quiz-answer-node (“selectTQANd( . . . )”) method 5164 to node entity 3710. A parameter 5164A restricts column 3710A by 5152. Column 3710D is returned from the node entity as a parent-node-id (“ParentNodeID”) 5166. Object 1912 next calls its set-trivia-quiz-answer-node (“setTQANd( . . . )”) method 5168, passing 5166. This sets a reference to a parent, trivia-quiz-answer node, by its node ID.
  • Entity Relationship Diagram—FIG. 52
  • FIG. 52 introduces a round (“Round”) entity 5210 and a match (“AMatch”) entity 5214. Match entity 5214 contains a “MatchID” primary key 5214A. It contains attributes to record match statistics. “TotalPointsAvailable” 5214B is the maximum points available for distribution in a match. “TotalPointsAwarded” 5214C is the points awarded in a match. “PlayerlDMatchAdmin” foreign key 5214D refers to the “PlayerID” primary key 4110A of player entity 4110. It records the player who is the match administrator, if applicable. Flag attributes “IsStartedYN?” 5214E, “IsSuspendedYN?” 5214F, “IsCompletedYN?” 5214G record information about the state of a match.
  • An “AMatch_Player” composite entity 5216 has a primary key 5216P composed of a “MatchID” foreign-key-primary-key column 5216A from 5214A and a “PlayerID” foreign-key-primary-key column 5216B from 4110A. Entity 5216 includes attributes “Score” 5216C, which is the cumulative match score for each player, and “ControlOrder” 5216D, which is a number representing the order of control per player per match.
  • Round entity 5210 has a primary key composed of a “MatchID” foreign-key-primary-key column 5210B referencing primary key 5214A of match entity 5214, and a round number “RoundNum” column 5210C which is the round number within a match. A “TreeID” foreign key 5210A refers to primary key 4010A of tree entity 4010. A “PlayerIDToStartRound” foreign key 5210H refers to primary key 4110A of player entity 4110 and records which player started the round in control. Attribute “TotalPointsAwarded” 5210D summarizes the cumulative points awarded per round. Attribute “MaxAvailPoints” 5210E records the maximum available points available for distribution in a round. Attributes “StartDate” 5210F and “EndDate” 5210G record when a round was started and ended. Flag attributes “IsStartedYN?” 52101, “IsSuspendedYN?” 5210J, and “IsCompletedYN?” 5210K record information about the state of a round.
  • A “Round_Player” composite entity 5212 has a primary key 5212P with foreign-key-primary-key columns “MatchID” 5212A, “RoundNum” 5212B, and “PlayerID” 5212C referencing the primary keys of round entity 5210 and player entity 4110. A “Score” attribute 5212D records the cumulative score per player per round.
  • Sequence Diagram—Initialize Match—FIG. 53
  • FIG. 53 shows how a match is initialized. A game administrator (“GameAdmin <<actor>>”) 5310 sends an initiate-game (“initGame( . . . )”) message 5350 to game object 1816. Message 5350 passes an array of player IDs of size “P” (“playerID[P]”) 5352, a number of rounds (“numRounds”) 5354 in the match, and an array of “R” tree IDs (“TreeID[R])”) 5356, where “R” is the number of rounds. It is assumed that arrays 5352 and 5356 contain pre-existing information and were obtained as part of a pre-game setup process (not shown).
  • Next, game object 1816 calls an initialize-control-sequence (“initControlSeq( . . . )”) method 5358, passing 5352. Next, a loop populates the control sequence with an ordered array of player references, described in combined loop fragment 5360. An initialize-player (“initPlayer( . . . )”) message 5362 is sent from 1816 to a player object (“Player”) 5312, passing a player ID of the counter index “p” value (“playerID(p)”) 5364. Player object 5312 sends a select-player (“selectPlayer(p)”) message 5366 to player entity 4110 to select relevant columns where 4110A is restricted by 5364. A reference 5368 to the player object is returned to 1816. An add-to-control-sequence (“addToControlSeq( . . . )”) method 5370 adds player reference 5368 to the control sequence.
  • Game object 1816 next sends an initialize-match (“initMatch( . . . )”) message 5372 to a match (“Match”) object 5314. Message 5372 passes 5354 and a control sequence (“controlSeq”) 5374 obtained from loop 5360. Match object 5314 sends an insert-match (“insertMatch( )”) message 5376 to match entity 5214. A database sequence generates a “MatchID” in primary key column 5214A, which is returned as 5378. Other methods (not shown), can insert additional values in entity 5214 as well as composite entity 5216, and initialize the match scores of the players. A reference 5380 to the match object is returned to game object 1816.
  • Sequence Diagram—Initialize Round—Part 1—FIG. 54
  • FIG. 54 shows the first part of a round initialization sequence. At the beginning of a new round, game object 1816 calls a next-control-sequence (“nextControlSeq( . . . )”) method 5450, to set the index of the control sequence to the next player. Method 5450 requires parameter “r” 5452 which is the index of the current round. This method ensures that control is set at the beginning of each round according to the control sequence order.
  • Game object 1816 next sends an initialize-round (“initRound( . . . )”) message 5454 to a round (“Round”) object 5410. Message 5454 passes a match ID (“MatchID”) parameter 5456 obtained from a lookup (not shown) of match object 5314. It also passes round index 5452.
  • Round object 5410 sends an insert-round (“insertRound( . . . )”) message 5458 to round entity 5210. Message 5458 passes 5460, a tree ID of the round index (“TreeID(r)”). Message 5468 also passes 5456 and the index of the current round plus one 5462. This presumes the index begins at zero but actual round numbers begin at one. Parameters 5460, 5456, and 5462 populate columns 5210A, 5210B, and 5210C respectively of entity 5210. Once a round is initialized, a round 5464 reference is returned to game object 1816.
  • Game object 1816 next sends a select-top-node (“selectTopNode( . . . )”) message 5466 to node entity 5210. Message 5466 passes 5460, which restricts column 3710F, and a parameter 5468 that restricts column 3710E to “1”. This call returns node ID (“NodeID”) 5470 from column 3710A of entity 3710.
  • Game object 1816 next sends initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650 to object 3012, passing 5470. Once guess-the-phrase-phrase object 3012 is initialized, game object 1816 sends a get-number-of-words (“getNumWordso”) message 5472 to 3012. A number of words (“NumWords”) 4660 in the top-level-phrase is returned. Game object 1816 next calls an initialize-guess-the-phrase-word-GUI-information (“initGTPWGUIInfo( )”) method 5474. This initializes an array of information about the guess-the-phrase words that is to be sent to the user interface.
  • Sequence Diagram—Initialize Round—Part 2—FIG. 55
  • The initialize round sequence continues with FIG. 55. A loop, indicated by a combined loop fragment 5550, executes to capture information about each word in the top-level phrase. A get-nth-guess-the-phrase-word-node (“getGTPWNd(n)”) message 5552 is sent to object 3012. Message 5552 retrieves a node ID (“NodeID”) 5554 for the nth guess-the-phrase word from 3012. Game object 1816 next sends an initialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message 4750 to guess-the-phrase-word instance 1818 for the guess-the-phrase-word node, passing 5554. Game object 1816 gets a reference 5556 to the guess-the-phrase-word node (“GTPWdNd”). It then calls a get-guess-the-phrase-word-node-GUI-information (“getGTPWNdGUIInfo( )”) message 5558 of 1818. Message 5558 returns values 5560. These include a word text (“WordTxt”) 5562 value, an is-quiz-able-word-yes-or-no (“IsQuizzableWdYN?”) 5564 value, and a node state (“nodeState”) 5566 value. Node state 5566 will reflect that the node is available.
  • Game object 1816 next calls a get-word-length (“getWordLength( . . . )”) message 5568, passing 5562 to get the number of characters of the current word. Object 1816 next calls an add-guess-the-phrase-word-GUI-information (“addGTPWGUIInfo( . . . )”) method 5570. Method 5570 takes as arguments 5554, a word length (“wordLength”) 5572 parameter returned from 5568, and 5564 and 5566. Method 5570 adds the information for the current word to the guess-the-phrase-word-GUI-information array.
  • When loop 5550 is finished, game object 1816 sends an initialize-navigation-mode-GUI (“initNavModeGUI( . . . )”) message 5574 to initialize navigation-mode GUI (“NavModeGUI”) object 1810. Message 5574 passes a guess-the-phrase-phrase-node-ID (“GTPPNdID”) 5576, which is set to 5470, the value of the top-level node ID. Message 5574 also passes a guess-the-phrase-word-GUI-information (“GTPWGUIInfo[ ]”) array 5578, obtained from loop 5550. Parameters 5576 and 5578 supply the information necessary to display the masked top-level phrase at the beginning of a round as indicated in FIG. 2. Parameters 5576 and 5578 also provide node IDs to the user interface that are returned to the model with play actions. This assists in coordinating the view with the model.
  • In the present embodiment, method 5574 is part of an indicator means for presenting a word indication. The method provides word length, type and node identification information from the model to the view.
  • Game object 1816 also sends an initialize-control-and-score-GUI (“initCntrl&ScoreGUI( . . . )”) message 5580 to initialize control-and-score-GUI (“Cntrl&ScoreGUI”) object 2310. Message 5580 passes an array of player scores for the round (“round.player.score[ ]”) 5582, an array of player scores for the match (“match.player.score[ ]”) 5584, a control sequence (“controlSeq”) 5586, and an index for the player with control (“cntrlIndex”) 5588.
  • Continuous Difficulty Calibration Enhancement
  • Embodiments could include enhancements that make adjustments to points awarded, or to points deducted as the case may be, based on the relative difficulty of the comprised nested quiz(zes) or top-level quiz. In a client-server, database supported embodiment, difficulty levels could be recalibrated, potentially in real time, based on data received from the player clients. Use of a quiz database allows quizzes to be reused by many different players. A difficulty calibration mechanism based on client feedback would allow future players to benefit from the play of past and current players to create an increasingly accurate scoring system based on relative quiz difficulty.
  • Information for a given quiz, comprised of the individual historic results and/or the accumulated result of all historic guesses attempted on that quiz, would be persisted. In the case of a quiz database based on a relational database system, historic results would be persisted in one or more history relations within the quiz database. Any new result for the given quiz, provided by the game clients to the server, would be added to existing result information for that quiz in the quiz database.
  • Quiz result information could be used to re-calibrate the difficulty measure of the given quiz on an ongoing basis. The difficulty measure(s) would be applied as a factor to the score value for a given quiz for the next or later presentation of the same quiz in the context of a round of play. Ongoing feedback from clients would provide an increasingly accurate difficulty rating and score adjustment for the quizzes.
  • A simple example of how continuous difficulty calibration could be applied is given for a trivia-quiz taken with the trivia-quiz component in a single-player mode of the game. In single-player mode, the score will be maximized when the fewest number of clues are revealed and/or guesses are taken en route to the solution of the top-level quiz. However, it is sensible that a player should be deducted fewer points for missing the solution to a difficult quiz than for missing the solution to a relatively easy quiz.
  • Assuming that prior feedback were collected on a given trivia-quiz and the data indicated that there were a number “c” correct answers for a number “a” attempts on a given quiz, then a difficulty factor of perhaps c/a could be multiplied by some base value “b” to arrive at the point deduction for a failed guess on the next attempt for that quiz. Once a player has submitted a guess, the value of “c” in the quiz database would be updated by one if the guess were successful, and the value of “a” would automatically be updated by one. The next time an attempt were made on the same quiz, the re-calibrated difficulty factor for the quiz would be retrieved or calculated from information in the quiz database. The difficulty factor would again be multiplied by the base value “b” to arrive at the re-calibrated point deduction for a failed guess on the same quiz. Following the submission of the latest guess, the quiz database would again be updated and the difficulty factor would again be re-calibrated for the next player(s) to make use of the given trivia-quiz and so on.
  • A more complicated formula could be used to calibrate the difficulty of phrases. Phrase difficulty calibration is complicated by the fact that different trivia-quizzes may appear from iteration to iteration of the same phrase. This could be due to the addition of trivia-quizzes to the quiz database. This could also be due to the insertion of logic that records player histories and prevents the same individual from receiving the same trivia-quiz between different matches.
  • The continuous difficulty calibration feature could be applied not only to the combined guess-the-phrase and trivia game embodiment of a QNQ but to all possible embodiments of a QNQ.
  • ALTERNATIVE EMBODIMENTS
  • FIGS. 56-95 deal with some alternative forms and enhancements. These figures are representative of many types of enhancements that could be incorporated into the combined guess-the-phrase and trivia game embodiment or an alternative embodiment.
  • FIG. 56 depicts the quiz-and-word-guessing-selector component with an additional menu option for a “drill-down clue”. An additional level of submenus 320 contains a trivia submenu 322 and a drill-down clue submenu 324. Presuming that drill-down clue submenu 324 is selected, FIG. 57 would be presented.
  • FIG. 57 depicts the phrase component in navigation mode with an embedded quiz that is applicable to one of the quiz-able-words in the top-level phrase. Embedded quiz 240 has an unrevealed quiz-able-word 244A1 with attached hyperlink, a solve word button 242A, a label indicating a word-clue section 248, and a quiz-able-word-clue cell 250. Presuming that 244A1 is selected with hand-pointer cursor 95, FIG. 58 would be presented.
  • FIG. 58 depicts the quiz-and-word-guessing-selector component as it might appear for quiz-able-word 244A1 in the embedded quiz. Additional menu items are displayed to support additional features and quiz types.
  • Top-level menus 340 contain a guess-word menu 342, find-a-clue menu 344 and cancel drill-down menu 346. The find-a-clue menu 344 has a flyout menu 350. Flyout menu 350 has a trivia-quiz menu 352, a concealed-picture menu 354, an anagram menu 356, a drill-down-clue menu 357, a sound-clip menu 358 and a video-clip menu 359. Trivia-quiz menu 352 has trivia-quiz submenus 360. Trivia-quiz submenus 360 include a television-quiz-category-menu option 362A, a movies-quiz-category-menu option 362B, a music-quiz-category-menu option 362C, and a sports-quiz-category-menu option 362D.
  • Presuming that music-quiz-category-menu option 362C is selected with arrow cursor 99, FIG. 59 is presented. FIG. 59 depicts a form of the trivia-quiz component adapted for multiple choice input of a trivia-quiz answer. The appearance of this component presumes an embodiment enabled for multiple choice quizzes and that option being selected, if configurable. FIG. 59 introduces multiple choice options section 417 with options 417A through 417D. A quiz-heading 410B corresponds to the selected question. A quiz question 412B1 displays the question. Multiple choice option 417C is shown as selected. Presuming that submit button 420 is selected with hand-pointer cursor 95, FIG. 60 is presented.
  • FIG. 60 shows the phrase component assuming the previous attempt is correct. Revealed quiz-able-word 244A5 is displayed in quiz-able-word-clue cell 250. Since quiz-able-word 244A5 is solved, the embedded quiz is redundant and disappears automatically after a few seconds. After that, the phrase component reduces to FIG. 61, showing a first quiz-able-word's first clue 230G1 in first quiz-able-word-clue cell 230A.
  • Returning to FIG. 58, and presuming that concealed-picture menu 354 is selected, a concealed-picture-puzzle quiz is presented. It is modeled after the trivia-quiz component. FIG. 62 shows a concealed-picture puzzle in progress. The concealed-picture puzzle has a heading-for-concealed-picture puzzle 410C. It has a concealed-picture puzzle 412C and a remove-a-puzzle-piece label 430. A spinner with label 432 is used to select a puzzle piece for removal from concealed-picture puzzle 412C. A submit button 434 verifies removal of a puzzle piece. A pass button 436 is used by a player to pass on selecting a puzzle piece for removal in a multi-player embodiment. A guess-the-picture label 414B labels answer textbox 416. A text-answer attempt 416C is shown. Other features have the same purpose as in the trivia-quiz component.
  • Returning to FIG. 58, and presuming that anagram menu 356 is selected, then an anagram-puzzle quiz is presented. FIG. 63 depicts the phrase component in navigation mode with the embedded quiz. The embedded quiz has unrevealed quiz-able word 244A1 with attached hyperlink. It also has associated anagram clue in its quiz-able-word-clue cell 250.
  • Assuming selection of solve-word button 242A, FIG. 64 is displayed. FIG. 64 shows embedded quiz 240 in a quiz-able-word-guessing mode. A quiz-able-word response 244A4 is in the process of being entered by a player. Submit-guess button 242B, clear-guess button 242C, and pass button 242D are available for selection. Point-deduction warning 246 warns of the penalty for a wrong attempt.
  • FIG. 65 depicts the phrase component in navigation mode in a design variant that displays unsolved quizzes within the phrase component. One clue 252 has been found for the higher-level quiz-able-word, and there are three clues to the embedded quiz. The first is an anagram clue 254, The second is a quiz question 256 corresponding to 412A1 of FIG. 59. In this design, quiz question 256 maintains a hyperlink to the trivia-quiz portrayed in FIG. 59. FIG. 65 presumes that the trivia-quiz was previously selected but not attempted or not answered correctly. Unsolved picture puzzle “clue” 258 maintains a hyperlink to the concealed-picture puzzle introduced in FIG. 62. In FIG. 65, one less piece is removed. FIG. 65 presumes that the concealed-picture puzzle quiz was previously selected but an answer was not attempted or it was not answered correctly.
  • Returning to FIG. 58, and presuming that drill-down-clue menu 357 is selected, a “drill-down” quiz is presented. FIG. 66 depicts the phrase component in navigation mode where embedded quiz 240 itself has an embedded-drill-down quiz. An embedded-embedded-drill-down quiz 260 consists of a single unrevealed quiz-able-word 264A1 with attached hyperlink. It has its own solve word button 262A, a label 266 indicating a word-clue section, and a quiz-able-word-clue cell 268.
  • Assuming selection of quiz-able-word 264A1 with hand-pointer cursor 95, FIG. 67 is displayed. FIG. 67 depicts the quiz-and-word-guessing-selector component as in might appear for quiz-able-word 264A1 in the embedded-embedded drill down quiz. Additional menu items are displayed to support additional features and quiz types.
  • In FIG. 67, top-level menus 370 contain guess-word menu 372, find-a-clue menu 374 and cancel-drill-down menu 376. Find-a-clue menu 374 has a flyout menu 380. Flyout menu 380 leads to trivia-quiz menu 382, concealed-picture menu 384, anagram menu 386, and drill-down-clue menu 388. Trivia-quiz menu 382 leads to trivia-quiz submenus 390. Trivia-quiz submenus 390 include a television-quiz-category-menu option 392A, movies-quiz-category-menu option 392B, a music-quiz-category menu option 392C, and a sports-quiz-category-menu option 392D.
  • FIG. 68 depicts the phrase component in navigation mode with three clues in quiz-able-word-clue cell 268. Clues “Shrek” 270, “The Hobbit” 272 and “Bruce Lee” 274 are for embedded-embedded drill down quiz-able-word 264A1. These clues presume a design variant where the relationship of the clues 270, 272 and 274 to quiz-able-word 264A1 (“dragon” when solved) is not based on word-level relationships. Rather, there is a thematic relationship. At the schema level, this is accomplished with expression-level relationships, including “expressions” of one word.
  • Clues “Shrek” 270 and “The Hobbit” 272 are names of movies that feature a dragon. Clue “Bruce Lee” 274 is a movie actor that is associated with the word “dragon” through a famous movie title. Assuming selection of the solve-word button, FIG. 69 is displayed.
  • FIG. 69 depicts the phrase component in navigation mode in which the embedded-embedded-quiz-able-word 264A5 has been solved. Its solution has become a clue to one-higher embedded quiz-able-word 244A1.
  • FIG. 70 depicts a hypothetical logical structure of the solution path that was partially exposited by FIGS. 66 through 69. In addition to node-levels one through four (110, 112, 114, 116) are shown node-levels 5 118 and six 120. For clarity, the diagram omits node-level 2 112 words except 220A.
  • At node-level six 120 are quiz questions (clues) 7010, 7012, and 7014 for clues “Shrek” 270, “The Hobbit” 272 and “Bruce Lee” 274 respectively. Clues 270, 272, and 274 are clues to quiz-able-word 264 (“dragon”) which is a clue to quiz-able-word 244 (“dragonfly”). This is a clue to first quiz-able-word 220A of sample phrase for top-level quiz 1410.
  • FIG. 71 shows a quiz-and-word-guessing-selector component being used to find a drill-down clue in the category of movies. The menu is similar to the menu of FIG. 56, except with a drill-down-clue-flyout submenu 325 instead of drill-down-clue submenu 324. Drill-down-clue-flyout submenu 325 leads to drill-down clues 393 with a television-quiz-category-menu option 394A, a movies-quiz-category-menu option 394B, a music-quiz-category-menu option 394C, and a sports-quiz-category-menu option 394D. Assuming selection of 394B with arrow cursor 99, FIG. 72 is displayed.
  • FIG. 72 shows a variant of the phrase component with an embedded-drill-down-quiz 280. Embedded-drill-down quiz 280 is expanded in FIG. 73. In FIG. 73, the drill-down quiz is a two-word expression. Phrase section 212 contains unrevealed first and second quiz-able-words 220C1 and 220D1, with hyperlinks. These represent the words “Marty” and “McFly” respectively, which are the first and last names of a movie character from the movie “Back to the Future”. Word-clue section 214 is labeled with a label 222B indicating a word-clue section. Word-clue section 214 contains first and second quiz-able-word- clue cells 230C and 230D. This variant of the phrase component also has a phrase-clue section 282. Phrase-clue section 282 includes a hyperlink to phrase clue(s) 284. Phrase clue cell 286 contains space where one or more phrase-level clues can be displayed. A phrase-level clue is a clue that is useful for solving the entire phrase. A phrase-level clue is distinguished from quizzes on unrevealed quiz-able-words 220C1 and 220D1 which are related to their respective associated word. Presuming selection of hyperlink 284, FIG. 74 is displayed.
  • FIG. 74 depicts a menu of one item for selecting a quiz that applies to the embedded-guess-the-phrase quiz. Presuming selection of movies-quiz-category-menu option 396 with arrow cursor 99, FIG. 75 is displayed.
  • FIG. 75 shows an embedded-embedded-drill-down quiz 290 within embedded-drill-down quiz 280 which was shown in FIGS. 72 and 73. Embedded-embedded drill down quiz 290 is expanded in FIG. 76.
  • FIG. 76 expands embedded-embedded drill down quiz 290 of FIG. 75. FIG. 76 shows unrevealed first and second quiz-able-words 220E1 and 220F1, with attached hyperlinks. Also shown are unrevealed first and second filler-words 218D1 and 218E1, with attached hyperlinks. Also shown are first and second quiz-able-word- clue cells 230E and 230F. A phrase-clue-section 283 shows a slightly modified arrangement from phrase-clue section 282 of FIG. 73. A hyperlink to phrase clue(s) 285 and a phrase clue-clue cell 287 are shown. Presuming selection of hyperlink 285 to the phrase clue(s), FIG. 77 is displayed.
  • FIG. 77 depicts a quiz-selector menu that appears over hyperlink-to-phrase-clue(s) 285. It has menus 397, a concealed-picture menu 398A, a sound-clip menu 398B, a video-clip menu 398C, and a text-clue menu 398D. Presuming selection of video-clip menu 398C with arrow cursor 99, FIG. 78 is displayed.
  • FIG. 78 depicts a “video quiz” component of the user interface. It has a heading for video-clip quiz 610. A video-clip player 620 displays a video-clip clue. In this case the video-clip clue is for the embedded-embedded-drill-down quiz shown in FIG. 76. Its solution is a movie name “Back to the Future”. A video-clip shown in 620 might be a clip from that movie or something associated with it.
  • Selecting a guess button 630 brings to focus the embedded-embedded drill down quiz represented in FIG. 76, except in a phrase-guessing mode. A successful answer would result in the disappearance of the embedded-embedded drill down quiz represented in FIG. 76 (after a few seconds), and its solved phrase would be displayed in phrase clue-clue cell 286 of FIG. 73. An unsuccessful answer would result in answering privilege passing to the next player in sequence (in multi-player mode) and focus returning to the “video quiz” component. Also shown with the “video quiz” component of FIG. 78 are a “pass” button 632 for passing answering privilege to the next player in sequence, a “replay” button 634 for replaying the video clip, a “next clip” button 636 for displaying the next video clip, and a “close” button 638 for closing the “video quiz” component.
  • FIG. 79 depicts a “quiz navigator” component of the user interface. The quiz navigator allows players to view information about a quiz tree and facilitates quiz solution. The quiz navigator borrows the nomenclature for logically describing a QNQ introduced in FIG. 1.
  • The quiz navigator includes a title bar 710, a menu bar 720, and a navigation device 730. Navigation device 730 allows a player to navigate a quiz-tree of any size or complexity by zooming in or out and by moving up and down, left and right. Sample top-level phrase 1410 (“A fly in the ointment”) has only the node for first quiz-able-word 220A (“fly”) shown beneath it. It is presumed that only first quiz-able-word 220A has had information revealed about it. An equally suitable embodiment would show all the second level nodes. Nodes 740, 750, and 752 are presumed to be revealed.
  • The first quiz-able-word's first clue 230A1 “Marty McFly” has first quiz-able-word 220C “Marty” and second quiz-able-word 220D “McFly”. It also has phrase clue 740 “Back to the Future” which is a movie name to which the character “Marty McFly” belongs. The solid circular node at 740 indicates the clue is revealed. A mouse-over event occurs by positioning hand-pointer cursor 95, over clue 740. Then, a text bubble 760A displays. Text bubble 760A displays the content of clue 740 in the quiz navigator. Clues 750 and 752 to the first and second quiz-able-words have solid circular nodes, indicating they are revealed.
  • FIG. 80 shows the quiz navigator with the same quiz-tree in the same state as FIG. 79, but with hand-pointer cursor 95 over clue 750, displaying text bubble 760B. The displayed clue is a sports figure with a name (“Billy Martin”) that bears a similarity to the first quiz-able-word 220C “Marty”. The match of answer “Marty” to clue “Billy Martin” presumes a run time comparison of words in the quiz database or else the existence of relationships that contain a match of “Marty” to the second word “Martin” of clue 750. The match would be established based on a shared character string (“Mart”) in the two words.
  • FIG. 81 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79 and 80, but with hand-pointer cursor 95 over clue 752, displaying text bubble 760C. The match of “McFly” to the second word “McCartney” of clue 752 follows the same description as for the match of quiz “Marty” to clue “Billy Martin” shown in FIG. 80. In this case the words are matched based on their first two characters “Mc”.
  • FIG. 82 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-81, but with hand-pointer cursor 95 over unrevealed clue 220D, displaying text bubble 760D. Because clue 220D is unrevealed in this hypothetical example, only a mask (hiding the word “McFly”) is show in text bubble 760D.
  • FIG. 83 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-82, but with hand-pointer cursor 95, over unrevealed clue 230A1, displaying text bubble 760E. Because clue 230A1 is unrevealed, only a mask (hiding the phrase “Marty McFly”) is shown in text bubble 760E.
  • FIG. 84 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-83. FIG. 84 continues the previous hypothetical sequence. Hand-pointer cursor 95 is placed over text bubble 760E and the mouse button is clicked. This action makes text bubble 760E visible when the hand-pointer cursor 95 is not on top of clue 230A1, as shown in FIG. 85 (clue 230A1 is behind text bubble 760E).
  • In FIG. 85, the convention of FIG. 1 is broken somewhat in that lines are not all connected node-to-node. The line from first quiz-able-word 220C joins to the first masked word 761 of text bubble 760E to indicate that 220C belongs to the first word of 760E. Likewise, the line from second quiz-able-word 220D joins to the second masked word 762 of text bubble 760E. Since phrase clue 740 belongs to the entire phrase masked in text bubble 760E, it is connected to the text bubble border. Color coding could also be used to increase the clarity of the relationships in the quiz navigator window.
  • Also show in FIG. 85 is a quiz navigator cross-hair 765. This is a symbol that indicates which clue or node of the quiz-tree is active at any moment of time. The quiz navigator and the phrase component are shown in a consolidated view in FIG. 95. The quiz navigator and phrase component can be integrated. For example, double-clicking a node in the quiz navigator displays the cross-hair over it, and makes that node active in the phrase component as well. The cross-hair is dropped from the remaining figures in this sequence.
  • FIG. 86 shows the quiz navigator with the same quiz-tree in the same state as FIGS. 79-85. Hand-pointer cursor 95 is over unrevealed clue 220A, displaying a mask (hiding the word “fly”) in text bubble 760F, while text bubble 760E remains visible.
  • FIG. 87 shows the quiz navigator with the same quiz-tree in the same state as FIGS. 79-86. Hand-pointer cursor 95 is over sample top-level phrase 1410, displaying a mask (hiding the phrase “A fly in the ointment”) in text bubble 760G. Text bubble 760G is cut off by the border of the quiz navigator. Text bubble 760E remains visible. Unrevealed clue 220A is temporarily covered up; although the quiz navigator could be designed to display it with a faint outline overlain by text bubble 760G, or by repositioning 760G.
  • FIG. 88 shows an expanded view of menu bar 720 of the quiz navigator. Shown are view (“View”) and option (“Option”) menus 722 and 724 respectively. Under option menu 722 are menu items “Show Selected Clues . . . ” 725 and “Show All Clues . . . ” 726. The discussion of FIGS. 83 and 84 presumes that menu item 725 had been selected. When menu item 726 is selected with arrow cursor 99, FIG. 89 is displayed. FIG. 89 shows the quiz navigator in a slightly expanded window. All the revealed and unrevealed node content from first quiz-able-word 220A and below are shown in their respective text bubbles. Also shown is text bubble 760G for sample top-level phrase 1410. FIG. 89 includes text bubble 760H for first quiz-able-word 220C, which shows the mask for the word “Marty”.
  • FIG. 90 shows an expanded view of menu bar 720 of the quiz navigator. Under view menu 722 are “Branch View . . . ” and “Folder View . . . ” menu items 727 and 728 respectively. FIGS. 79-89 presume that menu item 727 had been selected. Clicking on menu item 728 with arrow cursor 99 changes the quiz navigator from “branch mode” to “folder mode”. Folder mode of the quiz navigator is depicted in FIGS. 91-95. Other embodiments could use a UNIX or DOS path file nomenclature or some other method for displaying the hierarchy.
  • FIGS. 91-93 show the quiz navigator with the same quiz-tree in the same state as FIGS. 79-89 but in folder mode. FIG. 91 shows at the top-level a folder icon and name 770 for sample top-level phrase 1410. One level beneath 770 are folder icons and names 772, 774 and 776 for first, second and third filler- words 218A, 218B and 218C respectively. Also one level beneath 770 are folder icons and names 780 and 790 for first and second quiz-able- words 220A and 220B respectively. A “plus” (“+”) sign 791 indicates that a folder can be expanded to reveal additional quiz information. Clicking a mouse button with arrow cursor 99 over the 791 of 780 expands the folder as shown in FIG. 92.
  • FIG. 92 shows an open folder icon and name 780A for first quiz-able-word 220A. One folder level below is the folder icon and name 782 for first quiz-able-word's first clue 230A1. Clicking a mouse button with arrow cursor 99 over 791 of 782 expands the folder as shown in FIG. 93.
  • FIG. 93 shows an open folder icon and name 782A for first quiz-able-word's first clue 230A1. One folder-level below is a folder icon and name 784 for phrase clue 740, a folder icon and name 786 for first quiz-able-word 220C, and a folder icon and name 788 for second quiz-able-word 220D.
  • FIG. 94 shows an open folder icon and name 786A for first quiz-able-word 220C. One folder level below is a folder icon and name 787 for clue to first quiz-able-word 750. Open folder icon and name 788A for second quiz-able-word 220D has below it folder icon and name 789 for clue to second quiz-able-word 752.
  • FIG. 95 depicts components of the user interface as they appear in an integrated display. The integrated display includes the phrase component 9512 with a title bar 9510, the quiz navigator component 9540 (shown if FIG. 85), a score-and-control component 9530, and a match-parameters-display component 9550. Other display components are minimized and available for selection by selecting a corresponding button.
  • A “Pause/Quit Match” component (not shown) can be displayed with a “Pause/Quit Match” button 9560. A “Score and Control” component button 9562, shown as grayed to indicate it has been selected, displays score-and-control component 9530. A “Match Parameters” component button 9564, shown as grayed to indicate it has been selected, displays match-parameters-display component 9550. A quiz navigator component button 9566, shown as grayed to indicate it has been selected, displays quiz navigator component 9540. A “Match History” component button 9568, shown as grayed to indicate it has been selected, displays a “Match History” component (not shown). A phrase component button 9570, shown as grayed to indicate it has been selected, displays phrase component 9512. A “My Player Console” button 9572 displays a “My Player Console” (not shown). A “Chat” button 9574 displays a chat component (not shown).
  • ADVANTAGES
  • From the description above, a number of advantages of some embodiments presented become evident:
      • a. A novel user interface is devised for playing quiz games with multiple logical-levels of quiz-solving. This novelty also applies to alternative embodiments where the answer to a lower clue/answer pair is not necessarily equivalent to or necessarily related to a clue to an upper clue/answer pair that is revealed by the solution of the lower answer.
      • b. These embodiments are intellectually stimulating and entertaining to play. They provide participants with a new recreational activity.
      • c. A tree-formulator means is devised for associating raw quiz data into quiz structures that can be persisted and played by many different players at many different times. This supports embodiments that can maintain a high degree of novelty. It also encourages embodiments that are both highly ubiquitous and accessible.
      • d. A framework is devised for facilitating the creation of quiz structures, specifically described as quiz-trees. This framework can include varying degrees of automation. This allows novelty to be constantly infused into the game by the addition of new quiz-trees.
      • e. A framework for customizing quiz structures based on numerous parameters is devised. These parameters will include such things as quiz-tree depth, the number of clues allowed or required under a related answer, difficulty, and category. Enhancements include the updating of a quiz database with player data to update quiz-tree and sub-quiz difficulty ratings.
      • f. Customization can include personalization, such that players can create their own quiz structures and insert their own phrases and quizzes, further increasing novelty.
      • g. A frameword that facilitates customization of quiz structures also facilitates the creation of quiz structures suited to predictable approximate match durations. Popular quest-type games in the prior art may lead to futility by not having a demarcated beginning and end. However, the quiz structures are generally discreet and highly customized. This lends to embodiments that will maintain their novelty and yet fit within a balanced lifestyle shared by a broad community of players.
      • h. When embodiments with alternative quiz-data sources, quiz-types, and media types are considered, the potential for sustained novelty becomes even greater.
      • i. The multi-player embodiments in particular lend to a rapidly expanding demand for social networking and community-based games and applications. Embodiments facilitate friends interacting online in a healthy, socially-positive manner.
      • j. A runtime means is devised to allow players to play the embodiments with electronic gaming devices over the Internet to provide a high degree of accessibility.
      • k. A distributed architecture permits a high degree of scalability, accessibility and ubiquity to provide the game to a vast number of players with worldwide distribution. At the same time, there is potential for very low latency in the development, distribution, and enhancement of quiz structures.
      • l. The embodiments are inherently educational. Playing the embodiments can increase the knowledge and associative ability of participants. Quiz and category selection can be adapted for different subjects, ages, and grade or course levels. A high-degree of customizability allows for the development of quiz structures that support highly custom curricula. Specific text book data and other curricula can provide the raw quiz data. The features that promote sustained novelty further enhance a learning context for the embodiments by making learning fun.
      • m. Many classical non-computer games have been adapted into computer and Internet games in the prior art. In some cases, the historical games have been modified and combined with one another. In contrast, the present embodiments take advantage of advances in computer hardware, software, programming technologies, and the Internet along with high-speed access to it, to devise an entirely new type of game. The present and future embodiments can take full advantage of these technological advances. This approach lends to a game that is highly feature-rich, accessible and ubiquitous. These embodiments also hold promise for a sustained, high degree of novelty.
    CONCLUSION, RAMIFICATIONS, AND SCOPE
  • As can be seen from the present embodiments, A QNQ may:
      • a. offer player control over which sub-quizzes are selected and the order of their selection;
      • b. contain different quiz types in the same puzzle;
      • c. contain different media types in the same puzzle;
      • d. be offered in single-user and multi-player embodiments;
      • e. include special rules for answering quizzes and for determining and passing control in multi-player embodiments;
      • f. include a scoring system.
  • A QNQ is supported by a system that can be used to manage:
      • a. persistent storage of quiz-structures, including node and associated data, unless an embodiment creates the structures exclusively at runtime;
      • b. runtime program structures, methods and states of quiz-trees and their nodes;
      • c. connectivity between distributed components;
      • d. the presentation of the user interface in single-user and multi-user modes and embodiments;
      • e. the presentation of quiz, score, player, game state and other data to the user interface in single-user and multi-user embodiments;
      • f. match control and answering rules.
  • A QNQ system can also include functionality to:
      • a. input, store and manage expressions that facilitate the creation of quiz-trees;
      • b. create, update and customize quiz-trees;
      • c. establish a match by inviting players and setting match parameters;
      • d. administer a match in progress;
      • e. define different roles within the system and assign persons to roles;
      • f. allow players to customize their player accounts;
      • g. manage history and difficulty information about quizzes and quiz-trees;
      • h. incorporate statistical history and difficulty information into new matches;
      • i. support integration with communication tools and community-ware;
      • j. support integration with payment, advertising and marketing infrastructures;
      • k. support massive multiplayer online gaming for many simultaneous matches in progress;
      • l. distribute access to certain system functionality to various roles or persons, including the participants.
  • While my above description contains many specificities, these should not be construed as limitations on the scope of the invention, but rather as an exemplification of the embodiments thereof. A myriad of variations are possible. Selection means could be provided to eliminate character input. In the detailed embodiment, node-level four could be removed and the trivia-quiz answers could occupy the lowest clue level. Multiple-choice-trivia quizzes could be used in the main embodiment. Alternate user interface components, architectures, quiz and media types, and player forums are possible. Media types include video, pictures and audio. Alternate data structures, data sources, and means for relating and organizing quiz data are possible. Data for quiz structures could be taken from news and journal feeds and other online and offline sources. Linear quiz-chains could be used as opposed to trees.
  • Many enhancements for creating quiz-trees or other logical structures are possible. For example, node-levels devised or possible in the logical quiz structure could be skipped over in the interface to create another type of challenge. Other embodiments might not require persistent storage of quiz structures and nodes; rather, quiz structures could be assembled at runtime. Quiz structures might be assembled just prior to the initiation of play. They might also be defined and redefined during play. In such cases, their data might be persistent only in the context of the current iteration or not at all. Indiscreet embodiments without defined end-nodes are possible. Embodiments that integrate with other applications, such as community ware are possible. Other modes of play, such as having a simulated opponent, are possible. Television or Internet broadcast game show formats are possible. A studio broadcast combined with interactive play by non-studio participants is possible. Audio embodiments are possible where the focus is to present clues in music. Speech recognition selection and other alternative input means are possible. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their legal equivalents.

Claims (22)

1. A quiz game played by one or by one or more players, comprising:
(a) a plurality of clues;
(b) a plurality of answers;
(c) a plurality of clue/answer pairs, each comprising:
i. one of said clues, and
ii. one of said answers;
(d) a system means, which system means will:
i. reveal a clue comprised by a specific clue/answer pair, termed a lower clue/answer pair, to said player(s);
ii. allow a player from among said player(s) to provide a guess at said answer comprised by said lower clue/answer pair;
iii. accept said guess at said answer comprised by said lower clue/answer pair;
iv. validate said guess at said answer comprised by said lower clue/answer pair to determine a validation result;
v. depending on said validation result, reveal a clue comprised by a specific clue/answer pair, termed the upper clue/answer pair, to said player(s),
whereby a guess at said answer comprised by said lower clue/answer pair may yield a clue to said upper answer comprised by said upper clue/answer pair.
2. The quiz game of claim 1, wherein said answer comprised by said lower clue/answer pair, and said clue comprised by said upper clue/answer pair are related.
3. The quiz game of claim 1, wherein said answer comprised by said lower clue/answer pair, and said clue comprised by said upper clue/answer pair are equivalent.
4. The quiz game of claim 1, wherein said system means will further:
(a) provide an indication of said answer comprised by said upper clue/answer pair to said player(s);
(b) provide a selector means to allow said player(s) to select said clue comprised by said lower clue/answer pair;
(c) attach said selector means to said indication of said answer comprised by said upper clue/answer pair,
whereby said player(s) may use said selector means attached to said indication of said answer comprised by said upper clue/answer pair to select said clue comprised by said lower clue/answer pair.
5. The quiz game of claim 4, wherein said system means includes one or more electronic gaming devices.
6. The quiz game of claim 5, wherein said system means further comprises a computer program means to associate said answer comprised by said lower clue/answer pair with said clue comprised by said upper clue/answer pair.
7. The quiz game of claim 1, wherein said system means includes one or more electronic gaming devices.
8. The quiz game of claim 1, wherein said system means includes one or more computers.
9. The quiz game of claim 1, wherein said system means further comprises a persistent computer storage means to associate said answer comprised by said lower clue/answer pair with said clue comprised by said upper clue/answer pair, and to associate one of said clues with one of said answers for each of said plurality of clue/answer pairs.
10. The quiz game of claim 1, wherein said system means further comprises a runtime computer program means to associate said answer comprised by said lower clue/answer pair with said clue comprised by said upper clue/answer pair, and to associate one of said clues with one of said answers for each of said plurality of clue/answer pairs.
11. A method for providing a quiz with linked quiz levels, played for learning and/or entertainment by one or by one or more players, comprising:
(a) providing a quiz structure and supporting system means, comprising:
i. providing a plurality of information fragments, and
ii. providing a plurality of nodes, which comprises assigning a unique identifier to an information fragment for a multiplicity of information fragments from among said plurality of information fragments, using an identification means, and
iii. associating three or more of said nodes into a node chain, wherein a first node is associated to a second node by an association means and said second node is associated to a third node by an association means, and
(b) providing a user interface and supporting system means, which will:
i. provide a first exposure means for exposing said information fragment comprised by said third node to said player(s), and
ii. provide a second exposure means for exposing said information fragment comprised by said second node to said player(s), and
iii. provide a first guessing means by which said player(s) can provide a second-node guess at said information fragment comprised by said second node, and
iv. provide a first validation means for validating said second-node guess, which yields a second-node validation result, and
v. depending on said second-node validation result, use said second exposure means to expose said second node,
whereby at least three node levels are related to provide at least two linked quiz levels.
12. The method of claim 11, wherein said user interface and supporting system means will further:
i. provide a third exposure means for exposing said information fragment comprised by said first node to said player(s), and
ii. provide a second guessing means by which said player(s) can provide a first-node guess at said information fragment comprised by said first node, and
iii. provide a second validation means for validating said first-node guess, which yields a first-node validation result, and
iv. depending on said first-node validation result, use said third exposure means to expose said first node.
13. The method of claim 12, wherein said user interface and supporting system means will further:
i. provide an indicator means for providing an indication of said first node to said player(s), and
ii. provide a selector means for allowing said player(s) to expose said third node using said first exposure means, and
iii. provide an attachment means for attaching said selector means to said indication of said first node,
whereby said player(s) may use said selector means attached to said indication of said first node to expose said third node.
14. The method of claim 13, wherein said user interface and supporting system means further comprises one or more electronic gaming devices.
15. The method of claim 12, wherein said quiz structure and supporting system means further comprises a persistent computer storage means.
16. The method of claim 12, wherein said quiz structure and supporting system means further comprises a runtime computer program means.
17. The method of claim 12, wherein said user interface and supporting system means further comprises one or more electronic gaming devices.
18. A quiz game, played by one or more players, for providing entertainment, and/or for testing knowledge, and/or for enhancing the general knowledge and associative ability of a player, said quiz game comprising:
(a) a plurality of quizzes, each comprising:
i. one or more clues, each of said clues having a content comprising data, and
ii. a corollary answer to said clue or clues, said answer having a content comprising data, and
(b) an upper quiz from among said plurality of quizzes, and
(c) a lower quiz from among said plurality of quizzes, and
(d) an association means for associating said upper quiz and said lower quiz, wherein the content of said corollary answer of said lower quiz is equivalent to the content of a specific clue belonging to said upper quiz,
whereby said quiz game includes two related quizzes comprising two quiz levels.
19. The quiz game of claim 18, wherein said association means further includes a computer program means.
20. The quiz game of claim 18, further comprising one or more electronic gaming devices.
21. The quiz game of claim 18, further comprising a third quiz from among said plurality of quizzes, wherein said association means further includes a means for associating said upper quiz with said third quiz, wherein the content of said corollary answer of said upper quiz is equivalent to the content of a specific clue belonging to said third quiz,
whereby said quiz game includes three related quizzes comprising three quiz levels.
22. The quiz game of claim 18, wherein said association means comprises a recursive association means, said recursive association means being able to associate an indefinite number of additional quizzes, wherein said upper quiz exists as a lower quiz in respect to an additional quiz, which additional quiz exists as an upper quiz in respect to it,
whereby said quiz game includes an indefinite number of related quizzes comprising an indefinite number of quiz levels.
US12/285,212 2007-10-03 2008-09-30 Quiz-nested quiz game and system therefore Abandoned US20090091087A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/285,212 US20090091087A1 (en) 2007-10-03 2008-09-30 Quiz-nested quiz game and system therefore
US13/426,591 US10058784B2 (en) 2007-10-03 2012-03-21 Game systems with interoperating or both interoperating and interrelated quizzes and/or puzzles

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US96053207P 2007-10-03 2007-10-03
US12/285,212 US20090091087A1 (en) 2007-10-03 2008-09-30 Quiz-nested quiz game and system therefore

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/426,591 Continuation-In-Part US10058784B2 (en) 2007-10-03 2012-03-21 Game systems with interoperating or both interoperating and interrelated quizzes and/or puzzles

Publications (1)

Publication Number Publication Date
US20090091087A1 true US20090091087A1 (en) 2009-04-09

Family

ID=40522600

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/285,212 Abandoned US20090091087A1 (en) 2007-10-03 2008-09-30 Quiz-nested quiz game and system therefore

Country Status (4)

Country Link
US (1) US20090091087A1 (en)
AU (1) AU2008307105A1 (en)
CA (1) CA2701658A1 (en)
WO (1) WO2009043153A1 (en)

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319896A1 (en) * 2008-06-03 2009-12-24 The Directv Group, Inc. Visual indicators associated with a media presentation system
US20090325693A1 (en) * 2007-01-30 2009-12-31 Samuel Ron Methods for playing computer games without a display
US20100113152A1 (en) * 2007-01-30 2010-05-06 Ron Shmuel Computer games based on mental imagery
US20100146253A1 (en) * 2008-12-04 2010-06-10 Nintendo Co., Ltd. Program for providing interactive application adapted for use by multiple users and information processing device
US20100257019A1 (en) * 2009-04-02 2010-10-07 Microsoft Corporation Associating user-defined descriptions with objects
US20100289216A1 (en) * 2009-05-18 2010-11-18 Charney Fred Educational kit and method for teaching academic and vocational subjects
US20110016153A1 (en) * 2009-07-17 2011-01-20 Ibm Corporation System and Method for Parallel Processing
WO2011100573A1 (en) * 2010-02-12 2011-08-18 Google Inc. Compound splitting
US20110283236A1 (en) * 2010-01-26 2011-11-17 Francois Beaumier Digital jukebox device with improved user interfaces, and associated methods
US20110320019A1 (en) * 2010-04-22 2011-12-29 Ebay Inc. Data mining system
US20130097180A1 (en) * 2011-10-18 2013-04-18 Erick Tseng Ranking Objects by Social Relevance
WO2013061118A1 (en) * 2011-10-27 2013-05-02 Mohammed Ameen Knowledge based social gaming system with appropriate rewards
US20130204667A1 (en) * 2011-08-05 2013-08-08 Disney Enterprises, Inc. Social networks games configured to elicit market research data as part of game play
US8684807B1 (en) * 2011-02-04 2014-04-01 Richard Crici System, method and computer program product for providing an interactive trivia game on an electronic device
WO2014124311A1 (en) * 2013-02-07 2014-08-14 Wolf Alexandra H Educational game
US20140315635A1 (en) * 2013-04-19 2014-10-23 Upfront Anayltics Ltd. Method and apparatus to elicit market research using game play
US9015286B2 (en) 2002-09-16 2015-04-21 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9041784B2 (en) 2007-09-24 2015-05-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9076155B2 (en) 2009-03-18 2015-07-07 Touchtunes Music Corporation Jukebox with connection to external social networking services and associated systems and methods
US9100676B2 (en) 1998-07-22 2015-08-04 Touchtunes Music Corporation Audiovisual reproduction system
US20150217187A1 (en) * 2014-02-03 2015-08-06 Timeplay Inc. Methods and systems for algorithmically selected trivia gaming content
US9129328B2 (en) 2000-02-23 2015-09-08 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9152633B2 (en) 2000-05-10 2015-10-06 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproduction systems
US9149727B2 (en) 2000-06-29 2015-10-06 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
WO2015156908A1 (en) * 2014-04-12 2015-10-15 Myres Sierra A Method and system for a gaming mobile software application driven by user content
US9165322B2 (en) 2002-09-16 2015-10-20 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9197914B2 (en) 2000-06-20 2015-11-24 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
US9288529B2 (en) 1999-07-16 2016-03-15 Touchtunes Music Corporation Remote management system for at least one audiovisual information reproduction device
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US9313574B2 (en) 1997-09-26 2016-04-12 Touchtunes Music Corporation Wireless digital transmission system for loudspeakers
US9348903B2 (en) 2013-02-08 2016-05-24 John Moran Methods, devices and computer readable mediums for a music recognition game
US9451203B2 (en) 2000-02-16 2016-09-20 Touchtunes Music Corporation Downloading file reception process
US9545578B2 (en) 2000-09-15 2017-01-17 Touchtunes Music Corporation Jukebox entertainment system having multiple choice games relating to music
US20170072300A1 (en) * 2014-06-03 2017-03-16 Kseek Co., Ltd Quiz game providing system using user creating quiz game set and method thereof
US9608583B2 (en) 2000-02-16 2017-03-28 Touchtunes Music Corporation Process for adjusting the sound volume of a digital sound recording
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US20170182411A1 (en) * 2015-06-08 2017-06-29 Kseek Co., Ltd. Goal achievement online speed quiz game providing method and system
US9769566B2 (en) 1998-07-22 2017-09-19 Touchtunes Music Corporation Sound control circuit for a digital audiovisual reproduction system
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9953341B2 (en) 2008-01-10 2018-04-24 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10089613B2 (en) 2002-09-16 2018-10-02 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
CN108875044A (en) * 2018-06-27 2018-11-23 北京三快在线科技有限公司 Contact person's searching method, device, storage medium and electronic equipment
US10169773B2 (en) 2008-07-09 2019-01-01 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
USD838288S1 (en) * 2009-02-24 2019-01-15 Tixtrack, Inc. Display screen or portion of a display screen with a computer generated venue map and a pop-up window appearing in response to an electronic pointer
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US10304445B2 (en) * 2016-10-13 2019-05-28 Viesoft, Inc. Wearable device for speech training
US20190171671A1 (en) * 2016-10-13 2019-06-06 Viesoft, Inc. Data processing for continuous monitoring of sound data and advanced life arc presentation analysis
US10318027B2 (en) 2009-03-18 2019-06-11 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10372301B2 (en) 2002-09-16 2019-08-06 Touch Tunes Music Corporation Jukebox with customizable avatar
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US20200078676A1 (en) * 2016-06-29 2020-03-12 Razer (Asia-Pacific) Pte. Ltd. Data providing methods, data providing systems, and computer-readable media
US10656739B2 (en) 2014-03-25 2020-05-19 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CN111563037A (en) * 2020-04-26 2020-08-21 顾海蝶 Test optimization method and device based on test questions, storage medium and terminal
US11029826B2 (en) * 2014-07-17 2021-06-08 Barnes & Noble College Booksellers, Llc Digital flash cards including links to digital content
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US11126346B2 (en) 2013-12-31 2021-09-21 Barnes & Noble College Booksellers, Llc Digital flash card techniques
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
CN114492465A (en) * 2022-02-14 2022-05-13 平安科技(深圳)有限公司 Dialogue generation model training method and device, dialogue generation method and electronic equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017165440A1 (en) 2016-03-21 2017-09-28 Mayo Foundation For Medical Education And Research Methods for reducing toxicity of a chemotherapeutic drug

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5221094A (en) * 1992-07-27 1993-06-22 Mark Hanson Cover up puzzle game
US5679075A (en) * 1995-11-06 1997-10-21 Beanstalk Entertainment Enterprises Interactive multi-media game system and method
US5860653A (en) * 1995-05-15 1999-01-19 Jacobs; Robert Method and apparatus for playing a word game
US6308954B1 (en) * 1999-07-01 2001-10-30 George L Breeler Integrated crossword and circle-a-word puzzle
US6318722B1 (en) * 1999-11-22 2001-11-20 Timothy S. Shafer Word puzzles and games
US20020042293A1 (en) * 2000-10-09 2002-04-11 Ubale Ajay Ganesh Net related interactive quiz game
US20020117802A1 (en) * 2001-02-20 2002-08-29 Seaberg Gordon Eric CrossWordSearch puzzle game
US20040014524A1 (en) * 2002-03-18 2004-01-22 Pearlman Mark B. Trivia and memory game using multimedia clips
US6935945B2 (en) * 2000-05-16 2005-08-30 Zeki Orak Internet game show in which visual clue is progressively exposed to contestants
US20050196730A1 (en) * 2001-12-14 2005-09-08 Kellman Philip J. System and method for adaptive learning
US20050218593A1 (en) * 2004-04-05 2005-10-06 Scott Petry Crossword puzzle/word search combination
US20060175756A1 (en) * 2005-02-04 2006-08-10 Riley Watson Word puzzle
US20060281510A1 (en) * 2005-05-27 2006-12-14 Roland Moreno Computer-implemented question and answer game
US7275746B2 (en) * 2004-07-30 2007-10-02 Jensen Richard L Crossword puzzle board game
US20080054571A1 (en) * 2006-09-06 2008-03-06 Gregory Davidzon Trivia game and method of play

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5221094A (en) * 1992-07-27 1993-06-22 Mark Hanson Cover up puzzle game
US5860653A (en) * 1995-05-15 1999-01-19 Jacobs; Robert Method and apparatus for playing a word game
US5679075A (en) * 1995-11-06 1997-10-21 Beanstalk Entertainment Enterprises Interactive multi-media game system and method
US6308954B1 (en) * 1999-07-01 2001-10-30 George L Breeler Integrated crossword and circle-a-word puzzle
US6318722B1 (en) * 1999-11-22 2001-11-20 Timothy S. Shafer Word puzzles and games
US6935945B2 (en) * 2000-05-16 2005-08-30 Zeki Orak Internet game show in which visual clue is progressively exposed to contestants
US20020042293A1 (en) * 2000-10-09 2002-04-11 Ubale Ajay Ganesh Net related interactive quiz game
US20020117802A1 (en) * 2001-02-20 2002-08-29 Seaberg Gordon Eric CrossWordSearch puzzle game
US20050196730A1 (en) * 2001-12-14 2005-09-08 Kellman Philip J. System and method for adaptive learning
US20040014524A1 (en) * 2002-03-18 2004-01-22 Pearlman Mark B. Trivia and memory game using multimedia clips
US20050218593A1 (en) * 2004-04-05 2005-10-06 Scott Petry Crossword puzzle/word search combination
US7275746B2 (en) * 2004-07-30 2007-10-02 Jensen Richard L Crossword puzzle board game
US20060175756A1 (en) * 2005-02-04 2006-08-10 Riley Watson Word puzzle
US20060281510A1 (en) * 2005-05-27 2006-12-14 Roland Moreno Computer-implemented question and answer game
US20080054571A1 (en) * 2006-09-06 2008-03-06 Gregory Davidzon Trivia game and method of play

Cited By (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313574B2 (en) 1997-09-26 2016-04-12 Touchtunes Music Corporation Wireless digital transmission system for loudspeakers
US9100676B2 (en) 1998-07-22 2015-08-04 Touchtunes Music Corporation Audiovisual reproduction system
US9148681B2 (en) 1998-07-22 2015-09-29 Touchtunes Music Corporation Audiovisual reproduction system
US9769566B2 (en) 1998-07-22 2017-09-19 Touchtunes Music Corporation Sound control circuit for a digital audiovisual reproduction system
US10104410B2 (en) 1998-07-22 2018-10-16 Touchtunes Music Corporation Audiovisual reproduction system
US9288529B2 (en) 1999-07-16 2016-03-15 Touchtunes Music Corporation Remote management system for at least one audiovisual information reproduction device
US10846770B2 (en) 2000-02-03 2020-11-24 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9451203B2 (en) 2000-02-16 2016-09-20 Touchtunes Music Corporation Downloading file reception process
US9608583B2 (en) 2000-02-16 2017-03-28 Touchtunes Music Corporation Process for adjusting the sound volume of a digital sound recording
US10068279B2 (en) 2000-02-23 2018-09-04 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9129328B2 (en) 2000-02-23 2015-09-08 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9536257B2 (en) 2000-05-10 2017-01-03 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproduction systems
US9152633B2 (en) 2000-05-10 2015-10-06 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproduction systems
US10007687B2 (en) 2000-05-10 2018-06-26 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproductions systems
US9197914B2 (en) 2000-06-20 2015-11-24 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
US9539515B2 (en) 2000-06-29 2017-01-10 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US9591340B2 (en) 2000-06-29 2017-03-07 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
US9292999B2 (en) 2000-06-29 2016-03-22 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US9149727B2 (en) 2000-06-29 2015-10-06 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US9545578B2 (en) 2000-09-15 2017-01-17 Touchtunes Music Corporation Jukebox entertainment system having multiple choice games relating to music
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US11847882B2 (en) 2002-09-16 2023-12-19 Touchtunes Music Company, Llc Digital downloading jukebox with enhanced communication features
US9015287B2 (en) 2002-09-16 2015-04-21 Touch Tunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11468418B2 (en) 2002-09-16 2022-10-11 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US10452237B2 (en) 2002-09-16 2019-10-22 Touchtunes Music Corporation Jukebox with customizable avatar
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US9436356B2 (en) 2002-09-16 2016-09-06 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10372301B2 (en) 2002-09-16 2019-08-06 Touch Tunes Music Corporation Jukebox with customizable avatar
US10373142B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US10783738B2 (en) 2002-09-16 2020-09-22 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US9430797B2 (en) 2002-09-16 2016-08-30 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10089613B2 (en) 2002-09-16 2018-10-02 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US9513774B2 (en) 2002-09-16 2016-12-06 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9164661B2 (en) 2002-09-16 2015-10-20 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9165322B2 (en) 2002-09-16 2015-10-20 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11567641B2 (en) 2002-09-16 2023-01-31 Touchtunes Music Company, Llc Jukebox with customizable avatar
US11049083B2 (en) 2002-09-16 2021-06-29 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers and payment-triggered game devices update capability
US9202209B2 (en) 2002-09-16 2015-12-01 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9015286B2 (en) 2002-09-16 2015-04-21 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11314390B2 (en) 2002-09-16 2022-04-26 Touchtunes Music Corporation Jukebox with customizable avatar
US11663569B2 (en) 2002-09-16 2023-05-30 Touchtunes Music Company, Llc Digital downloading jukebox system with central and local music server
US10249139B2 (en) 2007-01-17 2019-04-02 Touchtunes Music Corporation Coin operated entertainment system
US11756380B2 (en) 2007-01-17 2023-09-12 Touchtunes Music Company, Llc Coin operated entertainment system
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US10970963B2 (en) 2007-01-17 2021-04-06 Touchtunes Music Corporation Coin operated entertainment system
US20100113152A1 (en) * 2007-01-30 2010-05-06 Ron Shmuel Computer games based on mental imagery
US20090325693A1 (en) * 2007-01-30 2009-12-31 Samuel Ron Methods for playing computer games without a display
US9324064B2 (en) 2007-09-24 2016-04-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10057613B2 (en) 2007-09-24 2018-08-21 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9041784B2 (en) 2007-09-24 2015-05-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10228897B2 (en) 2007-09-24 2019-03-12 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10032149B2 (en) 2007-09-24 2018-07-24 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10613819B2 (en) 2007-09-24 2020-04-07 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9990615B2 (en) 2007-09-24 2018-06-05 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10776820B2 (en) 2008-01-10 2020-09-15 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US11501333B2 (en) 2008-01-10 2022-11-15 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US9953341B2 (en) 2008-01-10 2018-04-24 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US20090319896A1 (en) * 2008-06-03 2009-12-24 The Directv Group, Inc. Visual indicators associated with a media presentation system
US10169773B2 (en) 2008-07-09 2019-01-01 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US11144946B2 (en) 2008-07-09 2021-10-12 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US11074593B2 (en) 2008-08-15 2021-07-27 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US11645662B2 (en) 2008-08-15 2023-05-09 Touchtunes Music Company, Llc Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US20100146253A1 (en) * 2008-12-04 2010-06-10 Nintendo Co., Ltd. Program for providing interactive application adapted for use by multiple users and information processing device
US9889377B2 (en) * 2008-12-04 2018-02-13 Nintendo Co., Ltd. Program for providing interactive application adapted for use by multiple users and information processing device
USD838288S1 (en) * 2009-02-24 2019-01-15 Tixtrack, Inc. Display screen or portion of a display screen with a computer generated venue map and a pop-up window appearing in response to an electronic pointer
US11520559B2 (en) 2009-03-18 2022-12-06 Touchtunes Music Company, Llc Entertainment server and associated social networking services
US10423250B2 (en) 2009-03-18 2019-09-24 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10963132B2 (en) 2009-03-18 2021-03-30 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US9774906B2 (en) 2009-03-18 2017-09-26 Touchtunes Music Corporation Entertainment server and associated social networking services
US11775146B2 (en) 2009-03-18 2023-10-03 Touchtunes Music Company, Llc Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10579329B2 (en) 2009-03-18 2020-03-03 Touchtunes Music Corporation Entertainment server and associated social networking services
US10977295B2 (en) 2009-03-18 2021-04-13 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10789285B2 (en) 2009-03-18 2020-09-29 Touchtones Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10228900B2 (en) 2009-03-18 2019-03-12 Touchtunes Music Corporation Entertainment server and associated social networking services
US9076155B2 (en) 2009-03-18 2015-07-07 Touchtunes Music Corporation Jukebox with connection to external social networking services and associated systems and methods
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9959012B2 (en) 2009-03-18 2018-05-01 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10782853B2 (en) 2009-03-18 2020-09-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11093211B2 (en) 2009-03-18 2021-08-17 Touchtunes Music Corporation Entertainment server and associated social networking services
US11537270B2 (en) 2009-03-18 2022-12-27 Touchtunes Music Company, Llc Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10318027B2 (en) 2009-03-18 2019-06-11 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US20100257019A1 (en) * 2009-04-02 2010-10-07 Microsoft Corporation Associating user-defined descriptions with objects
US8056901B2 (en) 2009-05-18 2011-11-15 Charney Fred Educational kit and method for teaching academic and vocational subjects
WO2010135328A1 (en) * 2009-05-18 2010-11-25 Fred Charney Educational kit and method for teaching academic and vocational subjects
US20100289216A1 (en) * 2009-05-18 2010-11-18 Charney Fred Educational kit and method for teaching academic and vocational subjects
US8370394B2 (en) * 2009-07-17 2013-02-05 International Business Machines Corporation Parallel processing of data organized in a tree structure
US20110016153A1 (en) * 2009-07-17 2011-01-20 Ibm Corporation System and Method for Parallel Processing
US9521375B2 (en) * 2010-01-26 2016-12-13 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10768891B2 (en) 2010-01-26 2020-09-08 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11864285B2 (en) 2010-01-26 2024-01-02 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US20110283236A1 (en) * 2010-01-26 2011-11-17 Francois Beaumier Digital jukebox device with improved user interfaces, and associated methods
US11291091B2 (en) 2010-01-26 2022-03-29 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11259376B2 (en) * 2010-01-26 2022-02-22 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11252797B2 (en) 2010-01-26 2022-02-15 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10901686B2 (en) 2010-01-26 2021-01-26 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11700680B2 (en) 2010-01-26 2023-07-11 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US10503463B2 (en) * 2010-01-26 2019-12-10 TouchTune Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11576239B2 (en) 2010-01-26 2023-02-07 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11570862B2 (en) 2010-01-26 2023-01-31 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
WO2011100573A1 (en) * 2010-02-12 2011-08-18 Google Inc. Compound splitting
US20110202330A1 (en) * 2010-02-12 2011-08-18 Google Inc. Compound Splitting
US9075792B2 (en) * 2010-02-12 2015-07-07 Google Inc. Compound splitting
US10769650B2 (en) 2010-04-22 2020-09-08 Ebay Inc. Data mining system
US20110320019A1 (en) * 2010-04-22 2011-12-29 Ebay Inc. Data mining system
US9600823B2 (en) * 2010-04-22 2017-03-21 Ebay Inc. Data mining system
US8684807B1 (en) * 2011-02-04 2014-04-01 Richard Crici System, method and computer program product for providing an interactive trivia game on an electronic device
US20130204667A1 (en) * 2011-08-05 2013-08-08 Disney Enterprises, Inc. Social networks games configured to elicit market research data as part of game play
US10880591B2 (en) 2011-09-18 2020-12-29 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10582239B2 (en) 2011-09-18 2020-03-03 TouchTune Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11395023B2 (en) 2011-09-18 2022-07-19 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US20130097180A1 (en) * 2011-10-18 2013-04-18 Erick Tseng Ranking Objects by Social Relevance
US8977611B2 (en) * 2011-10-18 2015-03-10 Facebook, Inc. Ranking objects by social relevance
WO2013061118A1 (en) * 2011-10-27 2013-05-02 Mohammed Ameen Knowledge based social gaming system with appropriate rewards
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
WO2014124311A1 (en) * 2013-02-07 2014-08-14 Wolf Alexandra H Educational game
US9348903B2 (en) 2013-02-08 2016-05-24 John Moran Methods, devices and computer readable mediums for a music recognition game
US20140315635A1 (en) * 2013-04-19 2014-10-23 Upfront Anayltics Ltd. Method and apparatus to elicit market research using game play
US9610495B2 (en) * 2013-04-19 2017-04-04 Upfront Analytics Inc. Method and apparatus to elicit market research using game play
US11714528B2 (en) 2013-11-07 2023-08-01 Touchtunes Music Company, Llc Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US11409413B2 (en) 2013-11-07 2022-08-09 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US11126346B2 (en) 2013-12-31 2021-09-21 Barnes & Noble College Booksellers, Llc Digital flash card techniques
EP3102299A4 (en) * 2014-02-03 2017-10-25 Timeplay Inc. Methods and systems for algorithmically selected trivia gaming content
WO2015113146A1 (en) * 2014-02-03 2015-08-06 Timeplay Inc. Methods and systems for algorithmically selected trivia gaming content
US20150217187A1 (en) * 2014-02-03 2015-08-06 Timeplay Inc. Methods and systems for algorithmically selected trivia gaming content
US11353973B2 (en) 2014-03-25 2022-06-07 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10949006B2 (en) 2014-03-25 2021-03-16 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11327588B2 (en) 2014-03-25 2022-05-10 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11782538B2 (en) 2014-03-25 2023-10-10 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11874980B2 (en) 2014-03-25 2024-01-16 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US10656739B2 (en) 2014-03-25 2020-05-19 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11513619B2 (en) 2014-03-25 2022-11-29 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11137844B2 (en) 2014-03-25 2021-10-05 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11625113B2 (en) 2014-03-25 2023-04-11 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11556192B2 (en) 2014-03-25 2023-01-17 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US10901540B2 (en) 2014-03-25 2021-01-26 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
WO2015156908A1 (en) * 2014-04-12 2015-10-15 Myres Sierra A Method and system for a gaming mobile software application driven by user content
US20170072300A1 (en) * 2014-06-03 2017-03-16 Kseek Co., Ltd Quiz game providing system using user creating quiz game set and method thereof
US10124245B2 (en) * 2014-06-03 2018-11-13 Kseek Co., Ltd. Quiz game providing system using user creating quiz game set and method thereof
US11768589B2 (en) 2014-07-17 2023-09-26 Barnes & Noble College Booksellers, Llc Digital flash cards including links to digital content
US11029826B2 (en) * 2014-07-17 2021-06-08 Barnes & Noble College Booksellers, Llc Digital flash cards including links to digital content
US20170182411A1 (en) * 2015-06-08 2017-06-29 Kseek Co., Ltd. Goal achievement online speed quiz game providing method and system
TWI765883B (en) * 2016-06-29 2022-06-01 新加坡商雷蛇(亞太)私人有限公司 Methods for facilitating game play, systems providing artificial intelligence game mentor for facilitating game play, and computer-readable media
US11148049B2 (en) * 2016-06-29 2021-10-19 Razer (Asia-Pacific) Pte. Ltd. Data providing methods, data providing systems, and computer-readable media
US20200078676A1 (en) * 2016-06-29 2020-03-12 Razer (Asia-Pacific) Pte. Ltd. Data providing methods, data providing systems, and computer-readable media
US10650055B2 (en) * 2016-10-13 2020-05-12 Viesoft, Inc. Data processing for continuous monitoring of sound data and advanced life arc presentation analysis
US10304445B2 (en) * 2016-10-13 2019-05-28 Viesoft, Inc. Wearable device for speech training
US20190171671A1 (en) * 2016-10-13 2019-06-06 Viesoft, Inc. Data processing for continuous monitoring of sound data and advanced life arc presentation analysis
CN108875044A (en) * 2018-06-27 2018-11-23 北京三快在线科技有限公司 Contact person's searching method, device, storage medium and electronic equipment
CN111563037A (en) * 2020-04-26 2020-08-21 顾海蝶 Test optimization method and device based on test questions, storage medium and terminal
CN114492465A (en) * 2022-02-14 2022-05-13 平安科技(深圳)有限公司 Dialogue generation model training method and device, dialogue generation method and electronic equipment

Also Published As

Publication number Publication date
AU2008307105A1 (en) 2009-04-09
WO2009043153A1 (en) 2009-04-09
WO2009043153A4 (en) 2009-06-18
CA2701658A1 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
US20090091087A1 (en) Quiz-nested quiz game and system therefore
Phillips Gamer trouble: Feminist confrontations in digital culture
Zubek Elements of game design
US10058784B2 (en) Game systems with interoperating or both interoperating and interrelated quizzes and/or puzzles
Kirkpatrick Computer games and the social imaginary
US10150036B2 (en) Apparatus and method for providing a computer implemented game
Young Understanding online gaming addiction and treatment issues for adolescents
US8465355B1 (en) Multiplayer electronic word game
Jakobsson The achievement machine: Understanding Xbox 360 achievements in gaming practices
Bateman Implicit game aesthetics
Pizzo et al. Esports scholarship review: Synthesis, contributions, and future research
US9937418B2 (en) Computing device, game, and methods therefor
US20080167102A1 (en) Video game for tagging photos
Stenros et al. Social interaction in games
JP2010104695A (en) Game system and game control method
Szablewicz From addicts to athletes: Participation in the discursive construction of digital games in urban China
JP2003529397A6 (en) Interactive game play system and method scheduled based on actual events
Chen Leet Noobs: Expertise and Collaboration in a “World of Warcraft” Player Group as Distributed Sociomaterial Practice
Arlt et al. Gamification of Life and the Gaming Society: The Ludic Century
Thompson I'm Better Than You, and I Can Prove it: Games, Expertise, and the Culture of Competition
Koyama PC Game (1): Establishing the 8-Bit Trinities
Richter Beginning iOS social games
Arlt et al. The Computer as Game, Toy, and Player
Blignaut et al. Collating researchable issues of African digital games
Gazaway Introduction to Game Systems Design

Legal Events

Date Code Title Description
AS Assignment

Owner name: 785291314, INC.,CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WASMUND, ROBERT A;REEL/FRAME:024047/0619

Effective date: 20100303

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION