1. Field of the Invention
The present invention relates to a machine-implemented method of handling hand tiles/cards of a virtual player during a tile/card game and a gaming apparatus for performing the machine-implemented method, more particularly to a machine-implemented method of handling hand tiles/cards of a virtual player according to preferences of the virtual player during a tile/card game and a gaming apparatus for performing the machine-implemented method.
2. Description of the Related Art
Mahjong is a game originated from China and is very popular in Asia. Four players are required to play Mahjong, and people cannot play Mahjong (or other multiplayer tile/card games) as they wish due to shortage of players sometimes.
Therefore, there is a conventional gaming method of playing Mahjong, and people can play Mahjong with virtual players using a gaming apparatus capable of performing the conventional gaming method. However, artificial intelligence of the virtual players in the conventional gaming method is designed to merely pursue winning and lacks human personality. Moreover, not only skills of the player himself but also awareness of other players' usual practices and personal preference are important for winning a game of Mahjong. The conventional gaming method fails to simulate the usual practices and personal preferences of virtual players during a game of Mahjong. Thus, playing Mahjong with the virtual players through the conventional gaming method is relatively uninteresting since the virtual players merely pursue winning without human personality.
Therefore, an object of the present invention is to provide a method capable of handling a plurality of hand tiles/cards of a virtual player according to preset preferences of a virtual player during a tile/card game.
Accordingly, a machine-implemented method of this invention is provided for handling a plurality of hand tiles/cards of a virtual player during a tile/card game. The tile/card game is to be played using a plurality of virtual playing tiles/cards from which the hand tiles/cards are drawn. The machine-implemented method is to be performed by a gaming apparatus, and comprises the steps of:
a) configuring the gaming apparatus to store a preference parameter set associated with the virtual player, the preference parameter set including tile/card points of the respective virtual playing tiles/cards used in the tile/card game and combination points of various permissible combinations of the virtual playing tiles/cards;
b) during a turn of the virtual player, configuring the gaming apparatus to compute priority points of the respective hand tiles/cards of the virtual player according to the preference parameter set associated with the virtual player; and
c) configuring the gaming apparatus to make the virtual player discard one of the hand tiles/cards that is selected according to the priority points when a game winning condition is yet to be met.
According to another aspect, a gaming apparatus of this invention is operable to allow a user to play a tile/card game with at least one virtual player using a plurality of virtual playing tiles/cards. The gaming apparatus comprises a storage unit and a control unit.
The storage unit stores a preference parameter set associated with the virtual player and program instructions for performing a machine-implemented method of handling a plurality of hand tiles/cards of the virtual player during the tile/card game. The preference parameter set includes tile/card points of the respective virtual playing tiles/cards used in the tile/card game and combination points of various permissible combinations of the virtual playing tiles/cards.
The control unit is operable to execute the program instructions stored in the storage unit to implement the machine-implemented method that includes the steps of:
i) during a turn of the virtual player, computing priority points of the respective hand tiles/cards of the virtual player according to the preference parameter set associated with the virtual player; and
ii) making the virtual player discard one of the hand tiles/cards that is selected according to the priority points when a game winning condition is yet to be met.
Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiments with reference to the accompanying drawings, of which;
Referring to
The input unit 12 includes an input controller 120 and an operation interface including a mouse 121 and a keyboard 122 in this embodiment. The user of the gaming apparatus 1 may input commands and data using the mouse 121 and the keyboard 122, and the commands and the data are sent to the control unit 13 though the input controller 120. It should be noted that the operation interface may be a touch pad in other embodiments, and is not limited to the mouse 121 and the keyboard 122 disclosed in this embodiment.
The control unit 13 is coupled to the storage unit 11, the input unit 12, the output unit 14 and the communication unit 16, and is configured to receive the commands from the input unit 12. The control unit 13 is operable to control and coordinate operation of the output unit 14 and the communication unit 16 in response to the commands from the input unit 12, and to generate audio signals and video signals related to sound effects and gaming images 21 of the tile/card game. Further, a gaming program 3 for playing the tile/card game is installed in the control unit 13, and has program instructions which when executed cause the control unit 13 to access the data stored in the storage unit 11 and to perform a gaming method for playing the tile/card game.
The output unit 14 includes an output controller 140, a speaker 141, a display interface 142, and a display device 2 electrically connected to the display interface 142. The output controller 140 is operable to output the audio signals received from the control unit 3 to the speaker 141 for generating the sound effects associated with the tile/card game, and to output the video signals received from the control unit 3 to the display device 2 through the display interface 142 for generating the gaming images 21 of the tile/card game.
The communication unit 16 is, for example, a wired/wireless network communication interface configured for connection with a communication network to thereby allow the user to play an online tile/card game with other players through the communication network 5.
Referring to
It should be noted that the tile/card points and the combination points of the preference parameter set 30 associated with a corresponding one of the virtual players may differ from those points of another preference parameter set 30 associated with another one of the virtual players. For each of the virtual players, the control unit 13 is operable to set the preference parameter set 30 stored in the gaming database 111 in response to the commands from the input unit 12, and to determine priority to discard hand tiles/cards of the virtual player according to the preference parameter set 30.
In this embodiment, the tile/card game is Mahjong played by four players. Commonly, a match of Mahjong consists of four rounds, and at least four playing hands are played in each of the four rounds. The virtual playing tiles of Mahjong are split into three simple suits (i.e., Characters, Dots and Bamboos) and two honor suits (i.e., Winds and Dragons), and are concealed and stacked to form a square wall at the beginning of each of the playing hands. Each of the simple suits includes thirty six playing tiles numbered 1 to 9, and there are four matching playing tiles for each value, i.e., there are four Dots with the number 2 for example. The honor suit of the Winds includes four matching playing tiles of East Wind, four matching playing tiles of West Wind, four matching playing tiles of South Wind, and four matching playing tiles of North Wind. The honor suit of the Dragons includes four matching playing tiles of Red Dragon, four matching playing tiles of Green Dragon, and four matching playing tiles of White Dragon.
The permissible combinations of the virtual playing tiles of Mahjong include a pang that is a set of identical three of the virtual playing tiles, a chow that is a set of sequential three of the virtual playing tiles in one of the simple suits, an eye that is a pair of identical two of the virtual playing tiles, a sequence pair of sequential two of the virtual playing tiles in one of the simple suits, and a hole-sequence pair of two out of three of the virtual playing tiles in a chow. In particular, the sequence pair has two end holes each of which corresponds to a respective one of the virtual playing tiles in the same simple suit for composing the chow. For example, the sequence pair of the Dots with numbers 2 and 3 has two end holes corresponding to the Dots with numbers 1 and 4 for composing the chow, respectively. The hole-sequence pair has only one of an end hole and a middle hole each of which corresponds to a respective one of the virtual playing tiles in the same simple suit for composing the chow. For example, the hole-sequence pair of the Dots with numbers 5 and 7 has the middle hole corresponding to the Dot with the number 6 for composing the chow, and the hole-sequence pair of the Dots with numbers 1 and 2 has the end hole corresponding to the Dot with the number 3 for composing the chow.
One of the players wins the current playing hand when the hand tiles thereof meet a game winning condition in that the hand tiles can be split into a plurality of melds (i.e., the pongs or the chows) and an eye. Each of the players can meld a discarded playing tile from another player for completing a meld (pong or chow), and has to expose the meld completed by melding.
Referring to the preference parameter set 30 of the preference table shown in
The gaming program 3 for playing Mahjong has a primary control module 35, a setting module 31, a dealing module 32, a discarding module 33, an input module 341, and an output module 342.
The primary control module 35 is configured to receive, from the input module 341, the commands obtained by the input module 341 from the mouse 121 and the keyboard 122 of the input unit 12, and is operable to generate and output the audio signals and the video signals to the output unit 14 through the output module 342 for generating the sound effect and the gaming images 21 of Mahjong. The primary control module 35 is further operable to access the data of the gaming database 111 stored in the storage unit 11 for performing the gaming method for playing Mahjong.
The setting module 31 is operable to set the preference parameter set 30 associated with each virtual player in response to the user commands from the input unit 12. Alternatively, the setting module 31 may be configured to automatically set the preference parameter set 30 without the user commands. The dealing module 32 is operable to deal a plurality of hand tiles from the virtual playing tiles to each player (including the user of the gaming apparatus 1 and the virtual players) when a playing hand is started. The discarding module 33 is operable to determine which one of the hand tiles of the virtual player is to be discarded, and includes a first sub-module 331, a second sub-module 332, and a third sub-module 333.
During a turn of the virtual player to discard one of the hand tiles thereof into a center of the square wall formed by the concealed virtual playing tiles, the first sub-module 331 is operable to compute priority points of the respective hand tiles of the virtual player according to the preference parameter set 30 of the preference table (as shown in
Before implementing the gaming method for playing Mahjong, the gaming apparatus 1 is operable to allow the user thereof to decide to play Mahjong with the virtual players or to play an online Mahjong game. When the user decides to play Mahjong with the virtual players, the gaming apparatus 1 is operable to allow the user to select three virtual players or is operable to randomly select three virtual players so as to allow the user to play Mahjong with the selected three virtual players. On the other hand, when the user decides to play the online Mahjong game, the gaming apparatus 1 is operable to allow the user to create a new match or to join a to-be-started match that was created by another user and that has not started yet. If there are four users joining the match of the online Mahjong game, the gaming apparatus 1 is operable to start this match of the online Mahjong game. If there are less than four users joining the match of the online Mahjong game after a predetermined waiting time from creation of the match, the gaming apparatus 1 is operable to automatically select at least one virtual player to join the match such that this match has the required four players.
Referring to
During a turn of the virtual player, the first sub-module 331 is operable to determine a possible arrangement of the hand tiles of the virtual player in step 501. The possible arrangement has at least one of the permissible combinations composed by a part of the hand tiles. Taking the hand tiles of the virtual player (A) shown in the gaming image 21 of
For each of the hand tiles, the first sub-module 331 is operable to implement steps 502 to 515 for computing the priority point of each of the hand tiles.
In step 502, the first sub-module 331 is operable to determine whether the hand tile belongs to the honor suits (i.e., Winds and Dragons). In the hand tiles of the virtual player (A), there are three of the hand tiles belonging to Wind, that is, one West Wind and two East Winds .
Then, in step 503, the first sub-module 331 is operable to add the preset point corresponding to said one of the honor suits to the priority point of the hand tile when it is determined in step 502 that the hand tile belongs to one of the honor suits. When it is determined in step 502 that the hand tile does not belong to one of the honor suits, i.e., the hand tile belongs to one of the simple suites, the first sub-module 331 is operable, in step 504, to add the preset point corresponding to one of the simple suits, to which the hand tile belongs, and the configurable point corresponding to order of the hand tile in said one of the simple suits to the priority point of the hand tile.
In step 505, the first sub-module 331 is operable to determine whether the hand tile can be used for composing a chow in the possible arrangement. Then, the first sub-module 331 is operable to add the combination point of the chow to the priority point of the hand tile in step 506 when the determination made in step 505 is affirmative, and to implement step 507 when otherwise.
In step 507, the first sub-module 331 is operable to determine whether the hand tile can be used for composing a pong in the possible arrangement. Then, the first sub-module 331 is operable to add the combination point of the pong to the priority point of the hand tile in step 508 when the determination made in step 507 is affirmative, and to implement step 509 when otherwise.
Since the game winning condition can only consist of the eye and a plurality of the chows and/or the pongs, the combination points of the chow and the pong are relatively greater. For example, the values of the combination points of the chow and the pong in the preference parameter set 30 of the preference table shown in
In step 509, the first sub-module 331 is operable to add a non-meld point that is less than the combination points of the chow and the pong to the priority point of the hand tile. Namely, the hand tile cannot be used for composing a meld (the chow or the pong) in the possible arrangement. In this embodiment, the non-meld point has a negative value such as −50 in the preference parameter set 30 of the reference table shown in
In step 510, the first sub-module 331 is operable to determine whether the hand tile can be used for composing a sequence pair in the possible arrangement. For example, the Character with number 4 can be used for composing a sequence pair in the possible arrangement shown in
In step 512, the first sub-module 331 is operable to determine whether the hand tile can be used for composing a hole-sequence pair in the possible arrangement. For example, the Character with number 1 can be used for composing a hole-sequence pair in the possible arrangement shown in
In step 514, the first sub-module 331 is operable to determine whether the hand tile can be used for composing an eye in the possible arrangement. For example, the two East Winds can be used for composing an eye in the possible arrangement of the hand tiles of the virtual player (A) shown in the gaming image 21 of
It should be noted that steps 502 to 515 may be performed in a different order in other embodiments. For instance, steps 502 to 503 may be performed after step 506, and/or steps 507 and 508 may be implemented before steps 505 and 506.
In step 516, the first sub-module 331 is operable to determine whether the priority points of all of the hand tiles have been computed. The first sub-module 331 is operable to perform step 517 when the determination made in step 516 is affirmative, and to repeat steps 502 to 515 for computing the priority point of said another one of the hand tiles when otherwise.
In step 517, the first sub-module 331 is operable to determine whether there is another possible arrangement of the hand tiles of the virtual player. When it is determined that there is another possible arrangement of the hand tiles, the flow goes back to step 501 with said another possible arrangement. When it is determined that there is no more possible arrangement of the hand tiles, the first sub-module 331 is operable, in step 510, to compute a score, e.g., an average of the priority points, of each of the hand tiles with respect to the respective possible arrangements.
Taking the hand tiles of the virtual player (A) shown in the gaming image 21 of
For the first five Characters with numbers 1 to 3 (i.e., there are two possible arrangements, a first one of which includes the chow and the eye and a second one of which includes the pong and the hole-sequence pair
Regarding the Character with number 1 in the first one of the possible arrangements, a first priority point thereof is equal to 110 as a sum of the preset point (10), the configurable point (0), and the combination point of the chow (100). In the second one of the possible arrangements, a second priority point of the Character with number 1 is equal to −30 as a sum of the preset point (10), the configurable point (0), the non-meld point (−50), and the combination point of the hole-sequence pair (10). Accordingly, the average priority point of the Character with number 1 is equal to 40 as an average of the first priority point (110) and the second priority point (−30). Similarly, the Character with number 2 has the average priority point equal to 45.
Regarding the Characters with number 3 in the first one of the possible arrangements, a first priority point of a first one of the Characters with number 3 is equal to 120 as a sum of the preset point (10), the configurable point (10) and the combination point of the chow (100). For the other two of the Characters with number 3 a first priority point thereof is equal to 0 as a sum of the preset point (10), the configurable point (10), the non-meld point (−50), and the combination point of the eye (30). In the second one of the possible arrangements, a second priority point of each of the Characters with number 3 is equal to 120 as a sum of the preset point (10), the configurable point (10), and the combination point of the pong (100). Accordingly, the average priority point of the first one of the Characters with number 3 is equal to 120 as an average of the first priority point (120) and the second priority point (120), and the average priority point of the other two of the Characters with number 3 is equal to 60 as an average of the first priority point (0) and the second priority point (120).
Thus, the average priority point of West Wind is equal to 10+0−50=−40 and is less than the average priority point of any one of other hand tiles of the virtual player (A). Therefore, the virtual player (A) will discard West Wind accordingly.
Referring to
When it is determined in step 510 that the hand tile can be used for composing a sequence pair in the possible arrangement, the second sub-module 332 is operable, in step 601, to determine whether there is still at least one of the virtual playing tiles that can be used for composing the chow with the sequence pair including the hand tile and that remains concealed. It should be noted that one of the virtual playing tiles is unconcealed if said one of the virtual playing tiles is discarded into the center of the square wall or is used for composing the exposed meld completed by melding. The flow goes to step 602 when it is determined that there is still said at least one of the virtual playing tiles, and goes to step 512 when otherwise.
In step 602, the second sub-module 332 is operable to determine a number of said at least one of the virtual playing tiles that can be used for completing the chow with the sequence pair having the hand tile and that remains concealed, and to add a ratio of the combination point of the sequence pair to the hand tile according to the number of said at least one of the virtual playing tiles that remains concealed.
When it is determined in step 512 that the hand tile can be used for composing a hole-sequence pair in the possible arrangement, the second sub-module 332 is operable, in step 603, to determine whether there is still at least one of the virtual playing tiles that can be used for composing the chow with the hole-sequence pair including the hand tile and that remains concealed. The flow goes to step 604 when it is determined that there is still said at least one of the virtual playing tiles, and goes to step 514 when otherwise.
In step 604, the second sub-module 332 is operable to determine a number of said at least one of the virtual playing tiles that can be used for completing the chow with the hole-sequence pair having the hand tile and that remains concealed, and to add a ratio of the combination point of the hole-sequence pair to the hand tile according to the number of said at least one of the virtual playing tiles that remains concealed.
When it is determined in step 514 that the hand tile can be used for composing an eye in the possible arrangement, the second sub-module 332 is operable, in step 605, to determine whether there is still at least one of the virtual playing tiles that can be used for composing the pong with the eye including the hand tile and that remains concealed. The flow goes to step 606 when it is determined that there is still said at least one of the virtual playing tiles, and goes to step 516 when otherwise.
In step 606, the second sub-module 332 is operable to determine a number of said at least one of the virtual playing tiles that can be used for completing the pong with the eye having the hand tile and that remains concealed, and to add a ratio of the combination point of the eye to the hand tile according to the number of said at least one of the virtual playing tiles that remains concealed.
For example, when it is determined in step 510 that the Character with the number 4 in the possible arrangement shown in
to the priority point of the Character with the number 4 If all of the Characters with number 2 or 5 have been exposed or unconcealed, the second sub-module 332 will not add the combination point of the sequence to the priority point of the Character with the number 4 since it is no longer possible to complete the chow with the sequence pair In this way, the virtual player may achieve the game winning condition relatively fast without waiting for the virtual playing tiles, all of which have been exposed or unconcealed, for composing the meld.
Taking the Character with the number 1 in the possible arrangement shown in
to the priority point of the Character with the number 1 .
Referring to
In step 701, the third sub-module 333 is operable to determine whether the last player with respect to the virtual player has discarded one of the virtual playing tiles that is identical or adjacent to the hand tile in terms of numerical sequence. The third sub-module 333 is operable to implement step 702 of adding an additional positive point to the priority point of the hand tile when the determination made in step 701 is affirmative, and to implement step 703 when otherwise.
In step 703, the third sub-module 333 is operable to determine whether the next player with respect to the virtual player has discarded one of the virtual playing tiles that is identical or adjacent to the hand tile in terms of numerical sequence. The third sub-module 333 is operable to implement step 704 when the determination made in step 703 is affirmative, and to complete the watching/following procedure when otherwise.
In step 704, the third sub-module 333 is operable to add an additional negative point to the priority point of the hand tile.
It should be noted that, when it is determined in step 701 that the last player has discarded the virtual playing tiles identical or adjacent to the hand tile, it means that the last player does not need these virtual playing tiles, and the virtual player may have a relatively greater chance to meld the virtual playing tiles discarded by the last player for completing the chow or the pong with the hand tile. Therefore, the third sub-module 333 is operable, in step 702, to add the additional positive point to the priority point of the hand tile so as to make the virtual player keep the hand tile. When it is determined in step 703 that the next player has discarded the virtual playing tiles identical or adjacent to the hand tile, it means that the next player has a relatively lower chance to meld the hand tile if the virtual player discards it. Therefore, the third sub-module 333 is operable, in step 704, to add the additional negative point to the priority point of the hand tile so as to make the virtual player discard the hand tile. In this way, the virtual player is capable of watching the next player to prevent the next player from achieving the game winning condition, and of following the last player to have a relatively greater chance to complete the chow or the pong.
In addition, the preference parameter set 30 of the each of the virtual players may further include a chow threshold value and pong threshold value. The control unit 13 is further operable to compute a total point of the hand tiles of the virtual player as a sum of the respective priority points of the hand tiles. When there is a chance to meld a discarded playing tile from another player for completing the chow or the pong, the control unit 13 is operable to compute an assumed point of the hand tiles after melding and compare the assumed point with the total point. Then, the control unit 13 is operable to make the virtual player meld the discarded playing tile when the assumed point is greater than the total point with the chow threshold value or the pong threshold value.
For example, Table 1 indicates a first preference parameter set associated with a first virtual player who prefers not to meld the discarded playing card from another player, and a second preference parameter set associated with a second virtual player who prefers to meld the discarded playing tile for completing the chow or the pang.
Referring to
In the case of the first virtual player, the assumed point (−5) is greater than the total point (−120) with a value of 115, which is less than the chow threshold value (200) and the pong threshold value (200) of the first preference parameter set associated therewith. Thus, the control unit 13 is operable to make the first virtual player not to meld the Character with the number 2 Accordingly, the first virtual player has a relatively greater chance to achieve the game winning condition without melding for obtaining relatively more scores of a gaming winning hand in the current playing hand.
In the case of the second virtual player, the assumed point (−5) is greater than the total point (−120) with the chow threshold value (20) and the pong threshold value (20) of the second preference parameter set associated therewith. Thus, the control unit 13 is operable to make the second virtual player to meld the Character with the number 2 for completing the Chow with the Characters with number 1 and 3 Accordingly, the second virtual player may achieve the game winning condition relatively fast by melding.
Table 2 exemplarily provides a third preference parameter set associated with a third virtual player who prefers to compose the pong for achieving the pong hand (only having the pongs and an eye), and a fourth preference parameter set associated with a fourth virtual player who prefers to compose the chow for achieving a game winning condition only having chows and an eye in the simple suit. In the third preference parameter set, the combination points of the chow, the pong, the eye, the sequence pair and the hole-sequence pair are 50, 200, 50, 10 and 10, respectively. In the fourth preference parameter set, the combination points of the chow, the pang, the eye, the sequence pair and the hole-sequence pair are 200, 50, 30, 50 and 30, respectively.
Referring to
In Table 3, a fifth preference parameter set is associated with a fifth virtual player who prefers to keep the virtual playing tiles in the honor suits (i.e., Winds and Dragons) for additional scores of the pang of the Dragons or particular Winds. In the fifth preference parameter set, the preset points of tile points corresponding to the simple suits (i.e., Characters, Dots and Bamboos) are −10, compared to 30 for the honor suits,
Referring to
In particular, there is a special game winning condition having an extremely high score, named Clean Hand in which only the honor suits and one of the simple suits are used. Table 4 gives an example of a sixth preference parameter set associated with a sixth virtual player who prefers to achieve the Clean Hand. In the sixth preference parameter set, the preset points of tile points corresponding to the simple suits (i.e., Characters, Dots and Bamboos) are −50. The sixth preference parameter set further includes a most-suit point that is equal to 100. The most-suit point will be used to replace the preset point of each of the hand tiles in one of the simple suits when a number of the hand tiles in said one of the simple suits is greater than a number of the hand tiles in any one of the other two of the simple suits.
Referring to
In summary, since the preference parameter sets of various virtual players are different, each of the virtual players may prefer to achieve a different kind of the game winning condition. Thus, the gaming apparatus 1 of this invention is capable of simulating the virtual player with its own preference and personality by executing the machine-implemented method of handling the hand tiles/cards of the virtual player.
While the present invention has been described in connection with what are considered the most practical and preferred embodiments, it is understood that this invention is not limited to the disclosed embodiments but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.