PROCEDE ET APPAREIL DE JEU DE BRIDGE ELECTRONIQUE ELECTRONIC BRIDGE GAME METHOD AND APPARATUS
L'invention concerne un procédé et un appareil de jeu de bridge électronique.The invention relates to an electronic bridge game method and apparatus.
Les succès qu'ont connu les jeux d'échecs électroniques ont incité des fabricants à réaliser des jeux de bridge électroniques, mais l'entreprise s'est révélée beaucoup plus difficile que dans le cas des échecs car l'appareil de jeu de bridge doit être capable de jouer avec un, deux, trois ou quatre joueurs présents et ne peut se contenter, quand il joue, de déterminer la meilleure intervention sur quatre ou cinq coups d'avance.The successes of electronic chess games have prompted manufacturers to make electronic bridge games, but the business has proven to be much more difficult than in the case of chess because the bridge game device has to be able to play with one, two, three or four players present and cannot be content, when playing, to determine the best intervention four or five strokes ahead.
Les appareils de jeu de bridge qui ont été proposés jusqu'à présent n'ont pas donné satisfaction, pour un grand nombre de raisons :The bridge game machines that have been proposed so far have not been satisfactory, for a large number of reasons:
- il s'agissait de machines dans lesquelles les cartes à jouer étaient remplacées par des symboles lumineux, ce qui en diminuait l'attrait,- these were machines in which playing cards were replaced by luminous symbols, which reduced their attractiveness,
- ils ne permettaient pas à quatre personnes présentes de jouer ensemble,- they did not allow four people present to play together,
- ils étaient incapables de donner une explication ou d'afficher un commentaire, même bref, sur une phase de jeu essentielle.- they were unable to give an explanation or post a comment, even a brief one, on an essential game phase.
En outre, les machines connues jusqu'à présent sont capables de faire des enchères relativement correctes dans la plupart des cas, mais se sont révélées d'un niveau extrêmement bas et particulièrement insuffisant dans le jeu de la carte.
L'invention a pour objet un procédé et un appareil de jeu de bridge, qui permettent de pallier les inconvénients des appareils connus actuellement. En particulier, l'invention a pour objet un procédé et un appareil de jeu de bridge, permettant à trois ou quatre personnes présentes de jouer des donnes prêenregistrées en mémoire, l'appareil selon l ' invention ayant alors le rôle d'un professeur de bridge. L'invention a également pour objet un procédé et un jeu de bridge électronique permettant à une, deux, trois ou quatre personnes présentes de jouer soit sur des donnes enregistrées, soit sur des donnes distribuées au hasard, avec ou sans l'assistance de l'appareil au niveau des enchères, de l'entame et du jeu de la carte. L'invention a encore pour objet un procédé et un appareil de jeu de bridge permettant à une ou plusieurs personnes présentes de jouer au bridge avec l'assistance de l'appareil au niveau le plus élevé de la compétition. L'invention propose donc un procédé de jeu de bridge, au moyen d'un système informatique comprenant un microprocesseur, des mémoires et des unités d'entrée-sortie telles qu'au moins un écran d'affichage, un clavier à touches alphanumériques et un lecteur de cartes de jeu, caractérisé en ce qu'il consiste à gérer au moyen du microprocesseur les différentes unités d'entrée-sortie pour :In addition, the machines known so far are capable of making relatively correct bids in most cases, but have proven to be of an extremely low level and particularly insufficient in the playing of the card. The subject of the invention is a method and an apparatus for playing a bridge game, which make it possible to overcome the drawbacks of the apparatuses currently known. In particular, the subject of the invention is a method and an apparatus for playing a bridge game, allowing three or four people present to play data prerecorded in memory, the apparatus according to the invention then having the role of a professor of bridge. The invention also relates to a method and a game of electronic bridge allowing one, two, three or four people present to play either on recorded deals, or on deals randomly distributed, with or without the assistance of the device at the level of the auctions, the opening and the playing of the card. The subject of the invention is also a method and an apparatus for playing a bridge game allowing one or more persons present to play bridge with the assistance of the apparatus at the highest level of the competition. The invention therefore provides a method of playing a bridge game, by means of a computer system comprising a microprocessor, memories and input-output units such as at least one display screen, a keyboard with alphanumeric keys and a card reader, characterized in that it consists in managing by means of the microprocessor the various input-output units for:
- enregistrer le nombre de joueurs présents et leurs places ;- record the number of players present and their places;
- sélectionner une donne dans une mémoire contenant un nombre prédéterminé de donnes enregistrées ;
- reconstituer la donne sélectionnée par lecture des cartes de jeu lors de la distribution des cartes et affichage de la place du joueur devant recevoir une carte lue ;- select a deal in a memory containing a predetermined number of recorded deals; - reconstruct the selected deal by reading the playing cards during the distribution of the cards and displaying the place of the player to receive a card read;
- et saisir chaque annonce de chaque joueur présent, la comparer à l'annonce correspondante préenregistrée en mémoire et la corriger si nécessaire, puis afficher le contrat final et des commentaires préenregistrés, et tenir le score. Ce procédé selon l'invention permet donc à trois ou quatre personne présentes de jouer au bridge sur des donnes préenregistrées en mémoire, avec l'assistance du système au moins en ce qui concerne les enchères et de jouer à chaque fois un contrat optimal.- and enter each announcement of each player present, compare it to the corresponding announcement prerecorded in memory and correct it if necessary, then display the final contract and prerecorded comments, and keep the score. This method according to the invention therefore allows three or four people present to play bridge on pre-recorded deals in memory, with the assistance of the system at least with regard to the auctions and to play each time an optimal contract.
Les personnes ont de plus l'agrément de jouer avec des cartes de bridge, qui sont lues par un lecteur de type approprié dont le système est équipé.People also have the pleasure of playing with bridge cards, which are read by a reader of the appropriate type with which the system is equipped.
Selon une autre caractéristique de l'invention, le procédé consiste également à afficher l'annonce faite par un joueur lorsqu'elle est identique à celle enregistrée en mémoire et, dans le cas contraire, à demander une autre annonce au même joueur, puis à afficher l'annonce correcte enregistrée en mémoire.According to another characteristic of the invention, the method also consists in displaying the announcement made by a player when it is identical to that recorded in memory and, if not, in requesting another announcement from the same player, then in display the correct announcement saved in memory.
Selon des variantes de réalisation, ce procédé consiste encore, après le jeu de la carte par les joueurs présents, à afficher les phases essentielles du jeu préenregistrées en mémoire avec un commentaire approprié, ou bien à rejouer, à l'attention des joueurs présents et à titre de démonstration, le jeu complet de la carte, avec affichage de commentaires signalant les phases de jeu les plus importants.
L'invention propose également un procédé de jeu de bridge au moyen d'un système informatique comprenant un microprocesseur, des mémoires et des unités d'entrée-sortie telles qu'au moins un écran d'affichage, un clavier à touches alphanumériques et un lecteur de cartes de jeu, caractérisé en ce qu'il consisteAccording to variant embodiments, this method also consists, after the card has been played by the players present, of displaying the essential phases of the game prerecorded in memory with an appropriate comment, or else of replaying, for the attention of the players present and as a demonstration, the complete game of the card, with display of comments indicating the most important phases of play. The invention also provides a method of playing a bridge game using a computer system comprising a microprocessor, memories and input-output units such as at least one display screen, a keyboard with alphanumeric keys and a game card reader, characterized in that it consists
- à gérer lesdites unités d' entrée-sortie au moyen du microprocesseur ;- to manage said input-output units by means of the microprocessor;
- et à analyser les phases essentielles du jeu (enchères, entame, jeu de la carte) sur une donne quelconque en prenant la place d'au moins un joueur, au moyen d'un second système informatique à microprocesseurs et à mémoires dans lesquelles ont été enregistrées des bases de connaissances comprenant les règles de jeu (enchères, entame et jeu de la carte), des bases de faits comprenant l'ensemble des informations accessiblés au joueur remplacé, et des moteurs d'inference destinés à appliquer lesdites règles des bases de connaissances aux informations des bases de faits, à enregistrer les résultats significatifs et à en enrichir les bases de faits, pour déterminer chaque intervention du joueur remplacé par le second système informatique.- and to analyze the essential phases of the game (auction, start, card game) on any deal taking the place of at least one player, by means of a second computer system with microprocessors and memories in which have knowledge bases including the rules of the game (auctions, start and card play), fact bases comprising all of the information accessible to the replaced player, and inference engines intended to apply the said rules have been recorded knowledge of facts base information, recording significant results and enriching the facts bases, to determine each intervention of the player replaced by the second computer system.
Ce procédé permet donc à une, deux, trois ou quatre personnes présentes de jouer au bridge avec l'assistance du système sur une donne prédéterminée ou sur une donne distribuée au hasard, le système étant capable de remplacer un, deux, trois ou même quatre joueurs et étant équipé de moyens informatiques suffisamment puissants pour lui permettre de jouer au niveau le plus élevé. Selon une autre caractéristique de l'invention, ce procédé
consiste, pour les enchères, à sélectionner en mémoire une première banque de connaissances contenant des règles de production des enchères et une deuxième banque de connaissances contenant des règles de décodage des enchères faites par les autres joueurs, cinq banques de faits contenant respectivement des informations sur les cartes du joueur remplacé, sur les cartes supposées de son partenaire, sur l'ensemble des cartes du joueur remplacé et des cartes supposées de son partenaire, des informations déduites des enchères faites par le joueur remplacé, et des informations déduites des enchères des aversaires, puis à appliquer successivement les règles des banques de connaissances aux informations des banques de faits pour déterminer la meilleure enchère.This process therefore allows one, two, three or four people present to play bridge with the assistance of the system on a predetermined deal or on a deal distributed at random, the system being capable of replacing one, two, three or even four. players and being equipped with sufficiently powerful computer means to allow him to play at the highest level. According to another characteristic of the invention, this method consists in selecting in memory a first knowledge bank containing rules for producing auctions and a second knowledge bank containing rules for decoding auctions made by other players, five fact banks containing information on the cards of the replaced player, on the cards supposed of his partner, on all the cards of the replaced player and the cards supposed of his partner, information deduced from the bids made by the replaced player, and information deduced from the bidding of opponents then apply successively the knowledge bank rules to the facts bank information to determine the best bid.
Cette détermination se fait en trois temps, qui consistent d'abord à décoder l'enchère faite par le partenaire du joueur remplacé et à enregistrer l'information correspondante, puis à produire l'enchère du joueur remplacé et à enregistrer l'information correspondante et enfin à décoder cette enchère au moyen des règles de la deuxième banque de connaissances, et à enregistrer l'information correspondante.This determination is made in three stages, which consist first of decoding the auction made by the partner of the replaced player and recording the corresponding information, then producing the auction of the replaced player and recording the corresponding information and finally to decode this auction using the rules of the second knowledge bank, and to record the corresponding information.
Les enchères éventuelles faites par les adversaires du joueur remplacé sont décodées et les résultats sont enregistrés dans une banque de faits.Any bids made by opponents of the replaced player are decoded and the results are recorded in a fact bank.
Selon encore une autre caractéristique de l'invention, ce procédé consiste, pour l'entame, à sélectionner deux banques de connaissances contenant les règles de choix d'une couleur et les règles de choix d'une carte, et quatre banques de faits contenant les informations correspondant respectivement aux
cartes du joueur remplacé, à ses enchères, aux enchères de son partenaire et aux enchères de ses adversaires, puis à déterminer le choix d'une couleur par application des règles correspondantes aux banques de faits et à déterminer ensuite de façon semblable le choix d'une carte dans la couleur retenue. Ce procédé consiste par ailleurs, pour le jeu de la carte, à ne pas sélectionner les banques de faits contenant les cartes des adversaires du joueur remplacé lorsque celui-ci est le déclarant, et à les sélectionner pour les utiliser quand le joueur remplacé est un adversaire du déclarant.According to yet another characteristic of the invention, this method consists, for the start, in selecting two knowledge banks containing the rules for choosing a color and the rules for choosing a card, and four fact banks containing the information corresponding respectively to cards of the replaced player, at his auctions, at his partner's auction and at his opponents' auction, then to determine the choice of a color by applying the corresponding rules to fact banks and then to determine similarly the choice of a card in the selected color. This method also consists, for playing the card, of not selecting the fact banks containing the cards of the opponents of the replaced player when the latter is the declarer, and of selecting them for use when the replaced player is a declarant's opponent.
Le jeu de la carte fait par le système est donc tout à fait régulier et conforme à celui d'une personne physique lorsque le joueur remplacé par le système est le déclarant, tandis qu'il est d'un niveau toujours excellent lorsque le système . remplace un adversaire du déclarant, ce qui permet au déclarant de jouer à un niveau aussi élevé qu'il en est capable. Plus précisément, pour chaque carte à jouer, le procédé consiste à déterminer d'abord les cartes à ne pas jouer, puis à réaliser des simulations de jeu avec les cartes restantes, en procédant par :The playing of the card made by the system is therefore completely regular and conforms to that of a natural person when the player replaced by the system is the declarer, while it is of an always excellent level when the system. replaces an opponent of the declarer, which allows the declarer to play at a level as high as he can. More precisely, for each playing card, the method consists in first determining the cards not to play, then in carrying out game simulations with the remaining cards, by proceeding by:
- analyse dynamique du contexte de jeu et constitution d'une base de faits dynamiques,- dynamic analysis of the game context and creation of a dynamic fact base,
- analyse tactique du jeu couleur par couleur, avec simulation partielle du jeu, - puis analyse stratégique du jeu avec simulation complète utilisant toutes les couleurs.- tactical analysis of the game color by color, with partial simulation of the game, - then strategic analysis of the game with full simulation using all the colors.
Le procédé consiste encore à vérifier en permanence les faits contenus dans la base de faits dynamiques, à les modifier si
nécessaire à chaque nouvelle information acquise, et à refaire toutes les simulations à chaque acquisition d'une information inconnue ou non prévue auparavant.The method also consists in permanently checking the facts contained in the dynamic fact base, in modifying them if necessary for each new information acquired, and to repeat all the simulations with each acquisition of information unknown or not provided for before.
Les informations qui sont enregistrées dans la base de faits dynamiques sont d'une part des informations telles que les répartitions des cartes dans les différentes couleurs, les possibilités de reprise de main chez le déclarant et chez le mort, les couleurs à couper, à affranchir, à défausser et d'autre part des fonctions à optimiser consistant par exemple à reprendre la main, la donner à son partenaire, éviter de la donner à tel ou tel adversaire, tenter une impasse sur une carte, etc ....The information which is recorded in the dynamic facts base is on the one hand information such as the distributions of the cards in the various colors, the possibilities of recovery of hand at the declarant and at the dead person, the colors to cut, to frank , to discard and on the other hand functions to optimize consisting for example of taking back the hand, giving it to his partner, avoiding giving it to such and such an opponent, trying a dead end on a card, etc ...
L'invention propose également un appareil de jeu de bridge, comprenant un microprocesseur, des mémoires et des unités d'entrée-sortie telles qu'au moins un clavier alphanumérique, un écran d'affichage et un lecteur de cartes de jeu, caractérisé en ce que le microprocesseur précité est destiné essentiellement à gérer lesdites unités d'entrée-sortie et est connectable à au moins l'un des deux éléments suivants : - un module de donnes prédistribuées et préenregistrées, comprenant une mémoire dans laquelle sont enregistrées des donnes, et des moyens de connexion au microprocesseur précité, des moyens étant prévus pour sélectionner une donne enregistrée, reconstituer la donne par distribution des cartes aux joueurs, saisir les annonces des joueurs, les comparer à celles enregistrées en mémoire, les corriger s'il y a lieu, et afficher le contrat final optimal, ainsi que des commentaires préenregistrés,
- un module de jeu intelligent, comprenant un ensemble de microprocesseurs associés à des mémoires contenant des banques de connaissances correspondant aux règles de bridge pour les enchères, l'entame et le jeu de la carte, et des moyens de connexion de ce module au microprocesseur précité, des moyens étant prévus pour analyser les différentes phases de jeu sur une donne quelconque à la place d'au moins un joueur et pour déterminer dans chaque phase de jeu la meilleure intervention du joueur remplacé. L'appareil selon l'invention a donc l'avantage de permettre un choix de mode de jeu et de matériel : trois ou quatre joueurs présents peuvent jouer sur des donnes préenregistrées en mémoire, en utilisant uniquement le module de donnes préenregistrées. S'ils disposent du module de jeu intelligent, un, deux, trois ou quatre joueurs présents peuvent jouer avec l'assistance du système, soit sur une donne distribuée dans des conditions normales (sans utilisation du module de donnes préenregistrées), soit sur une donne préenregistrée sélectionnée dans la mémoire du module de donnes. Avantageusement, les modules de donnes préenregistrées et de jeu intelligent sont amovibles et connectables à volonté sur le microprocesseur précité gérant les unités d'entrée-sortie. Le module de jeu intelligent comprend un microprocesseur maître associé à une mémoire morte et à une mémoire de travail, et des microprocesseurs esclaves associés à des mémoires mortes et à des mémoires de travail et capables d'exécuter simultanément des tâches indépendantes sous l'autorité du microprocesseur maître.
Le microprocesseur de gestion des unités d'entrée-sortie est, de façon classique, logé dans un plateau qui, selon l'invention, comprend quatre écrans d'affichage, quatre claviers de saisie et quatre lecteurs de cartes, chaque écran étant associé avec un clavier et un lecteur à là place d'un joueur.The invention also provides a bridge game apparatus, comprising a microprocessor, memories and input-output units such as at least one alphanumeric keyboard, a display screen and a game card reader, characterized in that the aforementioned microprocessor is essentially intended to manage said input-output units and is connectable to at least one of the following two elements: - a pre-distributed and prerecorded data module, comprising a memory in which data are recorded, and means for connection to the aforementioned microprocessor, means being provided for selecting a recorded deal, reconstructing the deal by distributing cards to the players, entering the players' announcements, comparing them with those recorded in memory, correcting them if there is location, and display the optimal final contract, as well as prerecorded comments, - an intelligent game module, comprising a set of microprocessors associated with memories containing knowledge banks corresponding to the bridge rules for auctions, initiation and playing of the card, and means of connection of this module to the microprocessor aforementioned, means being provided for analyzing the different phases of play on any deal in place of at least one player and for determining in each phase of play the best intervention of the replaced player. The apparatus according to the invention therefore has the advantage of allowing a choice of game mode and material: three or four players present can play on prerecorded deals in memory, using only the prerecorded deals module. If they have the intelligent game module, one, two, three or four players present can play with the assistance of the system, either on a deal distributed under normal conditions (without using the prerecorded deal module), or on a pre-recorded data selected in the memory of the data module. Advantageously, the prerecorded data and intelligent game modules are removable and connectable at will on the aforementioned microprocessor managing the input-output units. The intelligent game module comprises a master microprocessor associated with a read only memory and with a working memory, and slave microprocessors associated with read only memories and with working memories and capable of simultaneously performing independent tasks under the authority of the master microprocessor. The microprocessor for managing the input-output units is conventionally housed in a tray which, according to the invention, includes four display screens, four input keyboards and four card readers, each screen being associated with a keyboard and a player in place of a player.
En variante, le plateau peut comprendre un écran central d'affichage, placé entre deux des écrans précités pour constituer avec ces derniers un écran de grande dimension.As a variant, the tray may include a central display screen, placed between two of the aforementioned screens to constitute with these a large screen.
Le plateau comprend en outre, le long de ses côtés, des moyens, tels que des voyants lumineux, de signalisation des emplacements des cartes de jeu distribuées à au moins un joueur. L'appareil selon l'invention comprend encore un boîtier indépendant comportant un lecteur de cartes de jeu, un clavier à touches alphanumériques, et des moyens de liaison, par conducteurs électriques, par rayons infra-rouges ou par ultrasons, au microprocesseur de gestion logé dans le plateau. Ce boîtier est utile notamment pour la lecture des cartes de jeu lors de la distribution d'une donne, la saisie des informations de commande telles que le nombre de joueurs présents, le mode de jeu choisi, l'état vulnérable ou non vulnéable des joueurs, etc..., ainsi que pour la saisie des annonces faites par les différents joueurs et la saisie des cartes jouées. L'invention sera mieux comprise et d'autres caractéristiques, détails et avantages à celle-ci apparaîtront plus clairement à la lecture de la description qui suit, faite à titre d'exemple en référence aux dessins annexés dans lesquels : - la figure 1 représente schématiquement le plateau et le boîtier de l'appareil selon l'invention ;
- la figure 2 représente schéraatiquement la structure des systèmes informatiques faisant partie de cet appareil ;The board also comprises, along its sides, means, such as indicator lights, for signaling the locations of the playing cards distributed to at least one player. The device according to the invention also comprises an independent box comprising a game card reader, a keyboard with alphanumeric keys, and means of connection, by electrical conductors, by infrared rays or by ultrasound, to the housed management microprocessor. in the tray. This box is useful in particular for reading game cards when distributing a deal, entering control information such as the number of players present, the game mode chosen, the vulnerable or non-vulnerable state of the players. , etc ..., as well as for entering the announcements made by the different players and entering the cards played. The invention will be better understood and other characteristics, details and advantages thereof will appear more clearly on reading the description which follows, given by way of example with reference to the appended drawings in which: - Figure 1 shows schematically the plate and the housing of the apparatus according to the invention; - Figure 2 shows schematically the structure of the computer systems forming part of this device;
- la figure 3 est un organigramme des différentes phases de Jeu d'un appareil équipé seulement d'un module de donnes enre- gistrées ;- Figure 3 is a flowchart of the different phases of the game of a device equipped only with a recorded data module;
- la figure 4 est un organigramme illustrant schématiquement le fonctionnement du système informatique pour la production des enchères ;- Figure 4 is a flow diagram schematically illustrating the operation of the computer system for the production of auctions;
- la figure 5 est une vue semblable illustrant le fonctionnement du système pour l'entame ;- Figure 5 is a similar view illustrating the operation of the system for the start;
- la figure 6 est une vue semblable illustrant le fonctionnement du système lors du jeu de la carte.- Figure 6 is a similar view illustrating the operation of the system when playing the card.
L'appareil représenté en figure 1 comprend essentiellement un plateau 10, de forme carrée, et au moins un boîtier 12 de commande et de saisie d'informations.The apparatus shown in FIG. 1 essentially comprises a plate 10, of square shape, and at least one box 12 for controlling and entering information.
Le plateau 10 comprend quatre écrans latéraux 14 qui sont disposés le long de ses côtés pour être chacun lisible par un joueur déterminé. A chaque côté du plateau est associé un clavier 16 à touches alphanumériques, équipé d'un moyen 18 de lecture de cartes de jeu, avantageusement un moyen de lecture optique dans lequel il suffit de faire passer chaque carte pour qu'elle puisse être lue et identifiée par un système informatique logé dans le plateau 10. Ce plateau comprend encore un ou deux voyants lumineux 20 places à côté de chaque écran latéral 1.4 et permettant, par allumage, de signaler la place du Joueur qui doit recevoir une carte ou fournir une enchère, etc.... D'autres voyants lumineux 22, au nombre de 13, sont placés le long de chacun des
côtés du plateau 10 pour repérer les emplacements des cartes de jeu 24 distribuées aux joueurs.The board 10 includes four side screens 14 which are arranged along its sides so that each can be read by a determined player. On each side of the board is associated a keyboard 16 with alphanumeric keys, equipped with a means 18 for reading playing cards, advantageously an optical reading means in which it suffices to pass each card so that it can be read and identified by a computer system housed in tray 10. This tray also includes one or two indicator lights 20 places next to each side screen 1.4 and allowing, by lighting, to signal the place of the Player who must receive a card or provide a bid , etc .... Other indicator lights 22, 13 in number, are placed along each of the sides of the board 10 to locate the locations of the game cards 24 distributed to the players.
Le boîtier de commande et de saisie 12 comprend, sur une de ses faces, un moyen de lecture des cartes de jeu, de même type que les lecteurs 18 des claviers 16, et sur une autre de ses faces un clavier 26 à touches alphanumériques permettant, d'une part, de saisir les informations de contrôle du système, le nombre de joueurs présents, le mode de jeu choisi, l'état vulnérable ou non vulnérable des joueurs, et d'autre part, de saisir les annonces faites par les différents joueurs et les différentes cartes jouées.The control and input box 12 comprises, on one of its faces, a means of reading game cards, of the same type as the readers 18 of the keyboards 16, and on another of its faces a keyboard 26 with alphanumeric keys allowing on the one hand, to enter the system control information, the number of players present, the game mode chosen, the vulnerable or non-vulnerable state of the players, and on the other hand, to enter the announcements made by the different players and the different cards played.
Ce boîtier 12 est relié au système informatique logé dans le plateau 10, soit par des conducteurs électriques de type classique, soit par rayons infra-rouges, soit encore par ultrasons.This box 12 is connected to the computer system housed in the tray 10, either by conventional electrical conductors, or by infrared rays, or even by ultrasound.
La figure 2 représente schématiquement la structure des systèmes inf ormat i ques d ' un appare i l se l on l ' invent i on . On retrouve dans cette figure le plateau 10 qui contient un microprocesseur 28 associé à une mémoire programme 30, une mémoire de travail 32 et des circuits de commande des unités d'entréesortie, comprenant notamment un circuit 34 de réception des informations fournies par les claviers, un circuit 36 de réception des informations fournies par les lecteurs de cartes, un circuit 38 de commande des écrans d'affichage 14 et un circuit 40 de commande des divers voyants lumineux 20, 22 et éventuellement d'un haut parleur produisant des signaux sonores de tonalités différentes pour les différents joueurs. Un module 42 de donnes préenregistrées est associable au système
informatique du plateau 10 et comprend essentiellement une mémoire 44 dans laquelle sont enregistrées un nombre déterminé de donnes, par exemple de l'ordre de 320 ainsi que les enchères correspondantes, au moins les phases essentielles du jeu de la carte, et des commentaires. Ces donnes peuvent poser aux joueurs des problèmes de bridge de difficulté croissante, et il peut exister par exemple quatre modules de donnes de niveaux différents : initiation, perfectionnement, compétition et haute compétition. Le module de donnes 42 est donc du type amovible et comprend des moyens classiques de connexion au microprocesseur 28 du plateau 10.FIG. 2 schematically represents the structure of the inf ormatic systems of an apparatus if it is invented there. We find in this figure the plate 10 which contains a microprocessor 28 associated with a program memory 30, a working memory 32 and control circuits of the output input units, comprising in particular a circuit 34 for receiving information supplied by the keyboards, a circuit 36 for receiving information supplied by the card readers, a circuit 38 for controlling the display screens 14 and a circuit 40 for controlling the various indicator lights 20, 22 and possibly a loudspeaker producing audible signals from different tones for different players. A module 42 of prerecorded data can be associated with the system computer platform 10 and essentially comprises a memory 44 in which are recorded a determined number of deals, for example of the order of 320 as well as the corresponding auctions, at least the essential phases of the card game, and comments. These deals can pose problems of increasing difficulty to players, and there can be, for example, four deals of different levels: initiation, advanced, competition and high competition. The data module 42 is therefore of the removable type and comprises conventional means of connection to the microprocessor 28 of the plate 10.
Le plateau 10 peut également être associé à un module 46 de jeu intelligent, qui comprend un second système informatique et des moyens de connexion au système informatique du plateau 10. Essentiellement, le module de jeu intelligent 46 comprend un microprocesseur maître 48 associé à une mémoire programme 50 et une mémoire de travail 52, et de préférence des microprocesseurs esclaves 54 associés chacun à une mémoire programme et une mémoire de travail 56 et reliés en parallèle au microprocesseur maître 48 et à sa mémoire programme 50, de façon à pouvoir exécuter simultanément des tâches indépendantes sous commande du microprocesseur maître 48.The board 10 can also be associated with a smart game module 46, which includes a second computer system and means for connection to the computer system of the board 10. Essentially, the smart game module 46 includes a master microprocessor 48 associated with a memory program 50 and a working memory 52, and preferably slave microprocessors 54 each associated with a program memory and a working memory 56 and connected in parallel to the master microprocessor 48 and to its program memory 50, so as to be able to execute simultaneously independent tasks under control of the master microprocessor 48.
L'appareil selon l'invention peut être utilisé soit avec le module 42 de donnes enregistrées, soit avec le module 46 de jeu intelligent, soit avec les deux modules 42 et 46. On va d'abord décrire son fonctionnement en référence à la figure 3 dans le cas où il est utilisé uniquement avec le module 42 de donnes enregistrées.
Les joueurs présents sont alors au nombre de trois ou quatre. L'un des joueurs tient en main le boîtier 12 et, par actionne- ment des touches correspondantes du clavier 26, transmet au système informatique du plateau 10 des informations de contrôle et de jeu, comprenant le nombre de. joueurs présents, leur place, l'état vulnérable ou non vulnérable des joueurs, le mode de jeu choisi, et éventuellement d'autres informations telles que les conventions de jeu choisies par les joueurs. Ensuite, le joueur, par actionnement d'une touche du clavier, demande au système de sélectionner une des donnes enregistrées dans le module 42. Cette sélection peut être réalisée de façon aléatoire ou arbitraire (c'est le cas pour les modules de donnes des niveaux perfectionnement, compétition et haute compétition), ou bien elle peut obéir à un ordre logique impόse (cas du module de donnes du niveau initiation où il est préférable que les joueurs abordent les problèmes de bridge dans un ordre logique et de difficulté croissante). Le joueur qui tient le boîtier 12 saisit ensuite le paquet de 52 cartes de jeu et le place dans un logement de ce boîtier, puis prend la première carte du paquet et ce faisant, la fait passer sur le lecteur dont est équipée une face du boîtier 12. Le système informatique indique au joueur donneur la position du joueur qui doit recevoir la carte lue, par allumage d'un voyant 20 correspondant à la place de ce joueur et/ou par émission d'un signal sonore de tonalité déterminé. Les cartes sont ainsi distribuées les unes après les autres en suivant strictement les indications données par l'appareil. Lorsqu'une carte n'a pu être lue correctement, l'appareil le signale
par allumage d'un voyant lumineux et/ou émission d'un signal sonore de tonalité particulière. Le joueur donneur doit alors repasser la carte sur le lecteur du boîtier 12. Après distribution des cartes, les enchères se déroulent en fonction du mode de jeu choisi au départ (mode assisté, mode assisté et corrigé, mode de jeu en tournoi).The device according to the invention can be used either with the module 42 of recorded data, or with the module 46 of intelligent game, or with the two modules 42 and 46. We will first describe its operation with reference to the figure 3 in the case where it is used only with the module 42 of recorded data. There are three or four players present. One of the players holds in hand the box 12 and, by pressing the corresponding keys of the keyboard 26, transmits to the computer system of the board 10 control and game information, comprising the number of. players present, their place, the vulnerable or not vulnerable state of the players, the mode of play chosen, and possibly other information such as the conventions of play chosen by the players. Then, the player, by pressing a key on the keyboard, asks the system to select one of the deals recorded in the module 42. This selection can be made randomly or arbitrarily (this is the case for the deals modules improvement, competition and high competition levels), or else it can obey an imposed logical order (case of the initiation level data module where it is preferable that players approach bridge problems in a logical order and of increasing difficulty). The player holding the box 12 then grasps the pack of 52 playing cards and places it in a slot in this box, then takes the first card from the pack and, in doing so, passes it over the reader which is fitted on one side of the box. 12. The computer system indicates to the donor player the position of the player who must receive the card read, by lighting of an indicator 20 corresponding to the place of this player and / or by emission of a sound signal of determined tone. The cards are thus distributed one after the other, strictly following the instructions given by the device. When a card could not be read correctly, the device reports it by lighting up of an indicator light and / or emission of an audible signal with a particular tone. The donor player must then iron the card on the reader of box 12. After distribution of the cards, the auctions take place according to the game mode chosen at the start (assisted mode, assisted and corrected mode, tournament play mode).
Dans le mode assisté, chaque joueur qui fait une annonce la fait à haute voix et la saisit à l'aide du clavier du boîtier 12. L'annonce saisie est affichée sur les écrans 14 et est comparée à l'annonce correspondante préenregistrée en mémoire. Si l'annonce faite par le joueur est correcte, c'est-à-dire si elle est identique à l'annonce préenregistrée, l'appareil l'accepte et signale au joueur suivant qu'il doit faire une annonce. Si la première annonce n'est pas identique à celle enregistrée en mémoire, l'appareil le signale au joueur et lui demande de refaire une annonce. Si cette deuxième annonce est correcte, elle est acceptée et l'appareil passe au joueur suivant, sinon elle est refusée, l'annonce correcte est affichée et l'appareil passe au joueur suivant, et cela jusqu'à conclusion du contrat final qui est nécessairement identique au contrat final préenregistré en mémoire pour la donne sélectionnée.In the assisted mode, each player who makes an announcement makes it aloud and enters it using the keyboard of the box 12. The entered announcement is displayed on the screens 14 and is compared with the corresponding announcement prerecorded in memory. . If the announcement made by the player is correct, that is to say if it is identical to the prerecorded announcement, the device accepts it and signals to the next player that he must make an announcement. If the first announcement is not identical to the one recorded in memory, the device signals this to the player and asks him to repeat an announcement. If this second announcement is correct, it is accepted and the device passes to the next player, otherwise it is refused, the correct announcement is displayed and the device passes to the next player, until the conclusion of the final contract which is necessarily identical to the final contract prerecorded in memory for the selected deal.
Dans le cas du mode assisté corrigé, le joueur qui doit faire une annonce ne la fait pas à haute voix, mais la saisit uni- quement au moyen de son clavier 16 ou du clavier du boîtier 12 Que cette annonce soit identique ou non à celle préenregistrée en mémoire, l'appareil affiche sur les écrans 14 l'annonce enregistrée en mémoire et passe au joueur suivant. Lorsque
l'annonce faite par le joueur n'est pas identique à celle enregistrée en mémoire, l'appareil attribue au joueur des points de pénalisation, dont le compte sera fait à la fin de la partie. Dans le mode de jeu en tournoi, l'appareil ne fournit aucune assistance aux joueurs au cours des enchères. Le contrat conclu est saisi et comparé au contrat préenregistré en mémoire. En fonction du résultat de cette comparaison, la machine affiche le contrat préenregistré avec un commentaire approprié. Ce dernier mode de jeu suppose quatre joueurs présents. Dans ce cas, on peut fixer un handicap à chaque paire de joueurs, et le faire saisir par l'appareil. Dans le cas où le nombre de joueurs présents est de trois, le mode de jeu choisi doit être le mode assisté ou le mode assisté corrigé, et l'appareil peut remplacer le quatrième joueur pour les enchères. Toutefois, pour le jeu de la carte, l'appareil doit occuper la place du mort, ce qui peut obliger un joueur à changer de camp. Les cartes sont jouées par les joueurs présents, le contrat réalisé est saisi et affiché, ainsi que le nombre de points marqués. L'appareil affiche ensuite un commentaire simple du jeu de la carte, ce commentaire ayant été préenregistré en mémoire avec la donne sélectionnée et correspondant à un résumé des phases essentielles du jeu avec des arrêts sur les levées critiques et affichage d'un commentaire bref approprié. On peut également prévoir que le module 42 de donnes enregistrées contienne en mémoire le jeu complet de la carte pour chaque donne, notamment lorsqu'il s'agit du module du niveau initiation. Dans ce cas, à la fin du jeu de la carte par les
joueurs présents, l'appareil affichera sur les écrans le jeu de la carte complet tel qu'il a été enregistré en mémoire, avec signalisation et explication des points importants. L'appareil selon l'invention, quand il est utilisé avec uniquement un module de donnes enregistrées, présente l'avantage, d'une part, de faire jouer les joueurs présents sur le contrat enregistré en mémoire avec la donne sélectionnée, qui est en principe le meilleur contrat possible et, d'autre part, d'assister les joueurs présents exactement comme le ferait un professeur de bridge.In the case of corrected assisted mode, the player who must make an announcement does not make it aloud, but only enters it using his keyboard 16 or the keyboard of the box 12 Whether this announcement is identical or not to that prerecorded in memory, the device displays on the screens 14 the advertisement recorded in memory and goes to the next player. When the announcement made by the player is not identical to that recorded in memory, the device allocates to the player penalty points, the account of which will be made at the end of the game. In tournament play mode, the device does not provide assistance to players during auctions. The contract concluded is entered and compared to the contract prerecorded in memory. Depending on the result of this comparison, the machine displays the prerecorded contract with an appropriate comment. This last game mode assumes four players present. In this case, you can set a handicap for each pair of players, and have it grabbed by the device. If the number of players present is three, the game mode chosen must be assisted mode or corrected assisted mode, and the device can replace the fourth player for the auction. However, for card play, the device must occupy the place of the dead, which may require a player to change sides. The cards are played by the players present, the completed contract is entered and displayed, as well as the number of points scored. The device then displays a simple comment on the game of the card, this comment having been pre-recorded in memory with the selected deal and corresponding to a summary of the essential phases of the game with stops on the critical lifts and display of an appropriate brief comment . It can also be provided that the module 42 of recorded data contains in memory the complete set of the card for each data, in particular when it is the module of the initiation level. In this case, at the end of the card game by the players present, the device will display on the screens the game of the complete card as it was recorded in memory, with signaling and explanation of the important points. The apparatus according to the invention, when used with only a module of recorded deals, has the advantage, on the one hand, of playing the players present on the contract recorded in memory with the selected deal, which is in principle the best possible contract and, on the other hand, to assist the players present exactly as a bridge teacher would.
Dans ce type d'utilisation, le microprocesseur 28 n'est utilisé que pour la gestion des différentes unités d'entrée-sortie ; le programme correspondant enregistré dans la mémoire 30 ne pose aucune difficulté à un homme du métier et ne demande pas de connaissances particulières du jeu de bridge.In this type of use, the microprocessor 28 is only used for the management of the various input-output units; the corresponding program recorded in the memory 30 does not pose any difficulty to a person skilled in the art and does not require any particular knowledge of the game of bridge.
L'appareil selon l'invention peut également être utilisé avec le module 46 de jeu intelligent, en étant associé ou non à un module 42 de donnes enregistrées. Dans ce cas, l'appareil peut remplacer un, deux, trois ou même quatre joueurs, en jouant de la même façon et sensiblement dans les mêmes conditions qu'une personne, pour les enchères, l'entame et le jeu de la carte.The device according to the invention can also be used with the intelligent game module 46, whether or not associated with a module 42 of recorded data. In this case, the device can replace one, two, three or even four players, playing in the same way and substantially under the same conditions as a person, for bidding, starting and playing the card.
La distribution des cartes d'une donne est faite de façon classique lorsque le module 42 n'est pas utilisé, c'est-à-di- re que le joueur donneur distribue les cartes une à une en tournant dans les sens des aiguilles d'une montre. Chaque carte donnée à un joueur remplacé par l'appareil est lue par le lecteur du boîtier 12 et placée à l'endroit indiqué par l'al
lumage d'un voyant lumineux 22 du plateau 10.The distribution of the cards of a deal is done in a conventional manner when the module 42 is not used, that is to say that the donor player distributes the cards one by one by turning clockwise. 'a watch. Each card given to a player replaced by the device is read by the reader of the box 12 and placed in the place indicated by the al lighting of an indicator light 22 of the plate 10.
Lorsque le module 42 de donnes préenregistrées est utilisé, la distribution de cartes se fait de la façon déjà indiquée dans le cas où l'appareil est-utilisé sans le module de jeu intelligent.When the prerecorded data module 42 is used, the distribution of cards is done in the manner already indicated in the case where the device is used without the intelligent game module.
Les informations correspondant aux cartes constituant la main d'un joueur remplacé par l'appareil sont enregistrées dans une banque de données ou banque de faits à laquelle le système n'a accès que lorsqu'il occupe la place de ce joueur. Les trois phases du jeu (enchères, entame, jeu de la carte) sont traitées par des programmes différents. L'organigramme du programme d'enchères est représenté schématiquement en figure 4.The information corresponding to the cards constituting the hand of a player replaced by the apparatus is recorded in a database or fact bank to which the system has access only when it occupies the place of this player. The three phases of the game (auction, start, card game) are handled by different programs. The organization chart of the auction program is shown schematically in Figure 4.
Le système comprend alors deux banques de connaissances 60, 62 respectivement, cinq banques de faits 64, et des moteurs d'inference permettant d'appliquer les connaissances des banques 60, 62 aux faits des banques 64 pour en déduire de nouveaux faits qui sont ajoutés à ceux enregistrés dans les banques 64, et ainsi de suite. La banque de connaissances 60 comprend des informations correspondant exactement aux règles de décodage des enchères ou annonces entendues par le joueur remplacé par l'appareil. La banque de connaissances 62 contient des informations correspondant aux règles de production d'enchères ou d'annonces. Les cinq banques de faits 64 contiennent les informations suivantes :The system then comprises two knowledge banks 60, 62 respectively, five fact banks 64, and inference engines making it possible to apply the knowledge of banks 60, 62 to the facts of banks 64 in order to deduce new facts which are added thereto. to those saved in banks 64, and so on. The knowledge bank 60 includes information corresponding exactly to the decoding rules for auctions or announcements heard by the player replaced by the device. Knowledge bank 62 contains information corresponding to the rules for producing auctions or announcements. The five fact banks 64 contain the following information:
- des informations correspondant aux cartes détenues par le joueur remplacé par l'appareil,
- des informations correspondant aux cartes qui selon l'appareil sont censées être détenues par son partenaire,- information corresponding to the cards held by the player replaced by the device, - information corresponding to the cards which, according to the device, are supposed to be held by his partner,
- des informations correspondant à l'ensemble des cartes détenues par le joueur remplacé et son partenaire, - des informations correspondant aux cartes qui sont détenues par le joueur remplacé par l'appareil, déduites de ses propres enchères,- information corresponding to all the cards held by the replaced player and his partner, - information corresponding to the cards which are held by the player replaced by the device, deducted from his own auctions,
- des informations déduites des enchères éventuelles des adversaires. Le procédé de production d'une enchère par l'appareil comprend trois phases essentielles :- information deduced from any auctions of opponents. The process of producing an auction by the device comprises three essential phases:
- décodage, au moyen des règles de la banque 60, des enchères faites par le partenaire du joueur remplacé,- decoding, using the rules of bank 60, of the bids made by the partner of the replaced player,
- production d'une enchère, au moyen des règles de la banque 62,- production of an auction, using bank rules 62,
- décodage, au moyen des règles de la banque 60, de l'enchère faite par l'appareil, chacune de ces phases se traduisant donc par l'application des règles aux faits correspondants, l'obtention de nouveaux faits et leur enregistrement dans la banque de faits appropriée. De même, les enchères faites par les adversaires du joueur remplacé par l'appareil sont décodées pour fournir de nouvelles informations qui sont enregistrées dans les banques de faits correspondantes. Au moment des enchères, l'appareil qui remplace un joueur neconnaît réellement que les cartes de ce joueur, et non celles de son partenaire et des ses adversaires. Il en est de même pour la détermination de la carte d'entame,
dont l'organigramme correspondant est représenté schématiquement en figure 5. Le programme de détermination de la carte d'entame par l'appareil comprend deux banques de connaissances 66 et 68 respectivement, et quatre banques de faits 70. La banque de connaissances 66 comprend toutes les règles de détermination d'une couleur pour l'entame et la banque 68 contient toutes les règles de détermination d'une carte d'entame dans une couleur déterminée. Les banques de faits 70 contiennent respectivement des informations correspondant aux cartes du joueur remplacé par l'appareil, aux enchères de ce joueur, aux enchères de son partenaire et aux enchères de ses adversaires. Le programme de détermination de la carte d'entame comprend deux phases essentielles : - détermination d'une couleur, - détermination d'une carte dans la couleur.- decoding, by means of the rules of bank 60, of the auction made by the apparatus, each of these phases therefore being translated by the application of the rules to the corresponding facts, the obtaining of new facts and their recording in the appropriate fact bank. Likewise, bids made by opponents of the player replaced by the device are decoded to provide new information which is recorded in the corresponding fact banks. At the time of the auction, the device which replaces a player really only recognizes the cards of that player, and not those of his partner and his opponents. The same is true for determining the opening card, the corresponding flowchart of which is shown schematically in FIG. 5. The program for determining the starting card by the apparatus comprises two knowledge banks 66 and 68 respectively, and four fact banks 70. The knowledge bank 66 includes all the rules for determining a color for the start and the bank 68 contains all the rules for determining a start card in a given color. The fact banks 70 respectively contain information corresponding to the cards of the player replaced by the device, the auctions of this player, the auctions of his partner and the auctions of his opponents. The program for determining the opening card comprises two essential phases: - determining a color, - determining a card in the color.
Des moteurs d'inference permettent d'appliquer les règles des banques de connaissances aux informations contenues dans les banques de faits correspondantes et d'enrichir les banques de faits par les informations ainsi obtenues. Lorsque deux couleurs d'entame sont possibles, le programme tient compte de la qualité de ces couleurs et affecte un poids à chaque couleur et à chaque carte retenue dans la couleur. Ensuite, on fait la somme des poids de la couleur et de la carte retenue, et on compare les sommes de ces poids pour les deux couleurs. La somme la plus faible est retenue. Ces poids peuvent être enregistrés au préalable dans les bases de connaissances 66, 68 ou bien être calculés à partir de poids enregistrés dans ces bases.
Pour le jeu de la carte, l'appareil connaît 26 cartes quand il remplace le déclarant (les cartes du déclarant et celles du mort). Par contre, lorsque l'appareil remplace un adversaire du déclarant, il est préférable qu'il connaisse, après l'entame, les cartes de tous les joueurs. Ainsi, lorsque l'appareil joue contre le déclarant, il peut jouer au meilleur niveau, ce qui ne serait pas le cas s'il avait uniquement connaissance des cartes de sa main et de celle du mort. Le programme de jeu de la carte par l'appareil comprend un programme 72 d'analyse dynamique du contexte de jeu, alimenté par une banque de connaissances 74 pour constituer une base 76 de faits dynamiques, un programme 78 d'analyse tactique du jeu, couleur par couleur avec une simulation partielle du jeu, et un programme 80 d'analyse stratégique avec une simulation complète du jeu utilisant toutes les couleurs.Inference engines make it possible to apply the rules of knowledge banks to the information contained in the corresponding fact banks and to enrich the fact banks with the information thus obtained. When two start colors are possible, the program takes into account the quality of these colors and assigns a weight to each color and to each card selected in the color. Then, we add up the weights of the color and the chosen card, and compare the sums of these weights for the two colors. The lowest sum is retained. These weights can be recorded beforehand in knowledge bases 66, 68 or else can be calculated from weights recorded in these bases. For card play, the device knows 26 cards when it replaces the declarant (the declarant's and the deceased's cards). On the other hand, when the device replaces an opponent of the declarant, it is preferable that he knows, after the start, the cards of all the players. Thus, when the device plays against the declarer, it can play at the best level, which would not be the case if it only knew the cards in his hand and that of the dead man. The card game program by the apparatus comprises a program 72 for dynamic analysis of the game context, fed by a knowledge bank 74 to constitute a base 76 of dynamic facts, a program 78 for tactical analysis of the game, color by color with a partial simulation of the game, and a strategic analysis program 80 with a complete simulation of the game using all the colors.
Les informations enregistrées dans la base 76 de faits dynamiques correspondent à :The information recorded in the dynamic fact base 76 corresponds to:
- l'existence ou la non existence de flancs dangereux, de mains manquant de reprises au mort ou chez le déclarant, de couleurs de communication, de couleurs bloquantes, de couleurs à couper, à affranchir, à défausser, etc...,- the existence or non-existence of dangerous flanks, of hands missing from death or declarant's home, of communication colors, of blocking colors, of colors to cut, to frank, to discard, etc ...,
- les fonctions à optimiser (reprendre la main au mort ou chez le déclarant, éviter de la donner à tel ou tel adversaire, réaliser une impasse sur une carte donnée...), - les distributions adverses contre lesquelles il faut jouer,- the functions to be optimized (reclaiming the hand from the dead or from the declarant, avoiding giving it to such and such an adversary, making a dead end on a given card ...), - the adversary distributions against which it is necessary to play,
- les principes de placement nécessaires ou pessimistes des honneurs cachés et des distributions adverses,- the necessary or pessimistic investment principles of hidden honors and adverse distributions,
- la ou les lignes de jeu possibles,
- les critères de sélection à utiliser lors des simulations. Tous les faits dynamiques de la base 76 sont remis en cause au cours du jeu, et les simulations sont refaites chaque fois qu'une information non prévue 82 est constatée. L'optimisation des fonctions enregistrées dans la base de faits dynamiques 76 est réalisée en fonction des objectifs visés, qui constituent également des faits dynamiques puisqu'ils tiennent compte des initiatives de l'adversaire, et de l'échec ou de la réussite des manoeuvres tentées. Cette structure particulière du programme de jeu de la carte présente de grands avantages. En effet, le temps qui serait nécessaire pour réaliser une analyse stratégique avec une simulation complète du jeu sur toutes les couleurs dès le début du jeu de la carte, serait beaucoup trop long pour que cette simulation totale soit réalisable en pratique. Le programme d'analyse tactique du jeu permet de déterminer les fonctions à optimiser et de réduire largement l'espace de recherche du programme d'analyse stratégique. La simulation globale du jeu sur toutes les couleurs est alors réalisée en tenant compte des optima précédemment déterminés pour chaque joueur, et en supposant que chaque joueur jouera au mieux, c'est-à-dire de façon correspondant aux optima déterminés pour lui par le système. Dans ces conditions, la simulation totale du jeu de la carte est réalisée dans un espace restreint et devient possibie en pratique.- the possible line (s) of play, - the selection criteria to be used during the simulations. All the dynamic facts of the base 76 are called into question during the game, and the simulations are repeated each time that unforeseen information 82 is noted. The optimization of the functions recorded in the dynamic facts base 76 is carried out as a function of the objectives targeted, which also constitute dynamic facts since they take into account the initiatives of the adversary, and the failure or the success of the maneuvers. tempted. This particular structure of the card game program has great advantages. Indeed, the time which would be necessary to carry out a strategic analysis with a complete simulation of the game on all colors from the start of the card game, would be far too long for this total simulation to be achievable in practice. The game's tactical analysis program makes it possible to determine the functions to be optimized and to greatly reduce the search space of the strategic analysis program. The overall simulation of the game on all colors is then carried out taking into account the optima previously determined for each player, and assuming that each player will play at best, that is to say in a manner corresponding to the optima determined for him by the system. Under these conditions, the total simulation of the card game is carried out in a limited space and becomes possible in practice.
Par exemple, si le système joue à la place du déclarant, l'analyse tactique va consister entre autres, à déterminer le nombre de levées sûres dans chaque couleur, à compter le nom
bre de reprises de main au mort, à vérifier si ce nombre est suffisant et, sinon, à considérer les moyens permettant d'optimiser cette fonction particulière.For example, if the system plays in place of the declarer, the tactical analysis will consist, among other things, in determining the number of safe tricks in each color, counting the name number of dead hands, to check if this number is sufficient and, if not, to consider the means allowing to optimize this particular function.
Aussi bien au cours de l'analyse tactique que de l'analyse stratégique, le système va considérer pour chaque levée les différentes possibilités de jeu de chaque joueur et déterminer, pour cette levée, l'optimum de jeu du joueur, en commençant- par le joueur jouant en dernier pour cette levée. Lorsque le jeu optimum de ce joueur est déterminé pour cette le- vée, le système détermine ensuite l'optimum de jeu du joueur précédent pour la levée, et ainsi de suite.As well during the tactical analysis as the strategic analysis, the system will consider for each trick the different possibilities of play of each player and determine, for this trick, the optimum play of the player, starting with- the player playing last for this trick. When the optimum play of this player is determined for this lift, the system then determines the optimum play of the previous player for the lift, and so on.
En procédant de cette façon, le système peut, dans un temps relativement bref, déterminer le jeu complet de la carte pour réussir un contrat donné en étant capable, s'il le faut, de jouer à un niveau correspondant à celui de la haute compétition.By proceeding in this way, the system can, in a relatively short time, determine the complete play of the card to succeed in a given contract by being able, if necessary, to play at a level corresponding to that of high competition. .
L'exemple suivant montre comment le système peut réagir de diverses façons dans une situation donnée. Soit la donne suivante : NORD Pique : As-4-3The following example shows how the system can react in various ways in a given situation. Consider the following: NORTH Spades: As-4-3
(le mort) Coeur : 8-5(the dead) Heart: 8-5
Carreau : Roi-10-8-5-3Tile: King-10-8-5-3
Trèfle : 9-5-4Clover: 9-5-4
SUD Pique : Roi-Dame-7SOUTH Spades: Roi-Dame-7
(le déclarant) Coeur : As-Roi-Valet-10(declaring it) Heart: As-Roi-Valet-10
Carreau : Dame-9Tile: Dame-9
Trèfle : As-Valet-7-3
OUEST entame du valet de pique. Si le contrat conclu est de deux sans atoutClover: As-Valet-7-3 WEST starts valet. If the contract concluded is two without assets
Le système fait le compte des levées gagnantes de sa main et de celle du mort, et constate que le contrat est rempli dans tous les cas de figure (trois levées gagnantes à pique, trois levées gagnantes à coeur, une levée gagnante à carreau, une levée gagnante à trèfle). En conséquence, le système prend l'entame du valet de pique avec le roi de pique, puis joue la dame de carreau à la seconde levée, pour faire la levée ou pour faire tomber l'as de carreau.The system counts the winning tricks of his hand and that of the dead man, and notes that the contract is fulfilled in all cases (three winning tricks with spades, three winning tricks at heart, a winning tricks with diamonds, a winning clover lift). Consequently, the system takes the jack of spades with the king of spades, then plays the queen of diamonds on the second trick, to make the trick or to drop the ace of diamonds.
Si le contrat conclu est trois sans atout :If the contract concluded is three without asset:
Pour le réaliser, le système doit faire une levée gagnante supplémentaire à carreau. Comme le mort manque de reprise de main et qu'une répartition défavorable des carreaux est possible, avec l'as, le valet et deux petites cartes se trouvant chez EST, le système prend l'entame du valet de pique avec le roi de pique, puis joue le 9 de carreau. EST devra alors laisser la levée au système, ou bien la prendre avec le valet de carreau. Au tour suivant à carreau, EST devra utiliser son as ou laisser la levée à la dame de carreau du déclarant. Si le contrat conclu est quatre sans atout :To achieve this, the system must make an additional winning trick. As the dead man loses control and an unfavorable distribution of the tiles is possible, with the ace, the jack and two small cards being at EST, the system takes the start of the jack of spades with the king of spades , then play the 9 of diamonds. EST will then have to leave the lifting to the system, or take it with the jack of diamonds. On the next round with diamonds, EST must use his ace or leave the raising to the declarer's queen of diamonds. If the contract concluded is four without assets:
Le système constate qu'il ne peut gagner que si la répartition adverse à carreau est favorable. En conséquence, sur l'entame du valet de pique, il prend la main avec le roi de pique, puis joue la dame de carreau à la seconde levée.The system finds that it can only win if the opponent's square distribution is favorable. Consequently, at the start of the jack of spades, he takes the hand with the king of spades, then plays the queen of diamonds at the second lift.
Les différences de mode de jeu du système dans cette donne particulière viennent précisément de l'optimisation de certaines fonctions tenant compte du contrat à réussir.
Deux extraits de programme sont joints à titre d'exemple à la description : le premier extrait concerne les règles d'enchères, le deuxième extrait concerne une optimisation de fonctions, utilisable aussi bien dans l'analyse tactique que dans l'analyse stratégique du jeu de la carte.The differences in the game mode of the system in this particular deal come precisely from the optimization of certain functions taking into account the contract to be successful. Two program extracts are attached as an example to the description: the first extract concerns the auction rules, the second extract concerns an optimization of functions, usable both in tactical analysis and in strategic analysis of the game from the menu.
On voit par exemple dans le premier extrait de programme la règle d'ouverture à quatre sans atout. Il faut pour cela avoir une main bicolore dans les couleurs mineures, avoir au moins six cartes dans la deuxième couleur, avoir au moins trois levées perdantes au total, et pas plus de trois levées perdantes à trèfle et trois levées perdantes à carreau. La règle suivante de ce premier extrait de programme concerne l'ouverture de trois à la couleur en mineure.. Le deuxième extrait de programme comprend les phases suivantes :We see for example in the first extract of program the rule of opening to four without advantage. This requires having a two-color hand in the minor colors, having at least six cards in the second color, having at least three losing tricks in total, and no more than three losing tricks with clover and three losing tricks with diamonds. The following rule in this first program extract concerns the opening of three to the minor color. The second program extract includes the following phases:
- A : déclaration de routines externes ;- A: declaration of external routines;
- B : remise à zéro ;- B: reset;
- B-C : calcul de différence entre deux possibilités de jeu,- B-C: calculation of difference between two game possibilities,
- C-D : sauvegarde d'informations, - D-E : détermination du joueur ayant l'intiative provoquant la différence précitée,- C-D: saving of information, - D-E: determination of the player having the initiative causing the aforementioned difference,
- E-F : appel de fonctions d'optimisation,- E-F: call of optimization functions,
- F : départ dans une autre routine BX si aucune des fonctions d'optimisation étudiées ne présente de différence dans le cas envisagé.
- F: start in another BX routine if none of the optimization functions studied presents any difference in the case considered.
procédure OUVRE(var NUMERO:byte); varOPEN procedure (var NUMBER: byte); var
C_C : t_NOM_COULEUR; begin case NUMERO of 1 : {=========================================== si BIC = mineure et LNG2CL >= 6 et PERD >= 300 et PERD_t <= 300 et PERD_k <= 300C_C: t_NAME_COLOR; begin case NUMBER of 1: {============================================ if BIC = minor and LNG2CL> = 6 and PERD> = 300 and PERD_t <= 300 and PERD_k <= 300
Alors ouvrir de 4 SANS ATOUT. ===========================================} beginThen open with 4 WITHOUT ASSETS. ============================================} begin
COUL := SANS_ATOUT; with JOUEURCJ_C] do if (bicolore=MIN) and (lng2cl >= 6) and (perdantes >= 300 ) andCOLOR: = SANS_ATOUT; with JOUEURCJ_C] do if (two-color = MIN) and (lng2cl> = 6) and (losers> = 300) and
(COULEURCTREFLE].perdantes <= 300) and(COLORCTREFLE]. Losing <= 300) and
(COULEURCCARREHUI. perdantes < = 300) then NIV := 4; end: 2: {=============================================================================(COLORCCARREHUI. Losers <= 300) then VIN: = 4; end: 2: {============================================== =================================
Regles d'ouverture des BARRAGES M I NEURS =============================================================================} {=========================================== si LNGCL = 7 et TYCL = mi neur e et (TY2CL = mineure ou TY2CL inexistante) (donc pique et coeur) et LNG2CL < 5 et CTL < 4 et PHSA = 9.7 et non vulnérable et LVGT in [600..700] et QHCL > 31 et ( POSITION <> 3 ++++ supprime ; alors ouvrir de 3 TYCL (couleur longue). ============================================} begin with JOUEUR[J_C] do if (lngcl = 7) andOpening rules for mid-dams =========================================== ====================================} {============== ============================== if LNGCL = 7 and TYCL = mi neur e and (TY2CL = minor or TY2CL non-existent) ( therefore spades and heart) and LNG2CL <5 and CTL <4 and PHSA = 9.7 and not vulnerable and LVGT in [600..700] and QHCL> 31 and (POSITION <> 3 ++++ deletes; then open with 3 TYCL (long color) =============================================} begin with PLAYER [J_C] do if (lngcl = 7) and
MINEURE(tycl) and MINEURE(ty2cl) or (Lng2cl < 4) ) andMINOR (tycl) and MINOR (ty2cl) or (Lng2cl <4)) and
(lnq2cl < 5) and(lnq2cl <5) and
(Ctl < 4) and(Ctl <4) and
(phsa < = 9.7; and not (VULNERABLE) and(phsa <= 9.7; and not (VULNERABLE) and
(lvgt <= 700) and(lvgt <= 700) and
(lvgt >= 600) and(lvgt> = 600) and
(qhcl 31) then begin NIV := 3;COUL := tvcl;end end;
{=========================================== si LNBCL = 7 et TYCL = mineure et (TY2CL = mineure ou TY2CL inexistante) (donc <> pique et <> coeur) et LNG2CL < 5 et CTL < 4 et PHSA <= 9.7 et vulnerable et LVGT in [650..700] et QHCL > 31 et ( POSITION <> 3 +++++ supprime ) alors ouvrir de 3 TYCL (couleur longue). =========================================== } begin with JOUEUR[J_C] do if (lngcl = 7) and(qhcl 31) then begin NIV: = 3; COUL: = tvcl; end end; {============================================ if LNBCL = 7 and TYCL = minor and (TY2CL = minor or TY2CL non-existent) (therefore <> spades and <> heart) and LNG2CL <5 and CTL <4 and PHSA <= 9.7 and vulnerable and LVGT in [650..700] and QHCL> 31 and (POSITION <> 3 +++++ removes) then open 3 TYCL (long color). ===========================================} begin with PLAYER [J_C] do if (lngcl = 7) and
MINEURE (tycl) andMINOR (tycl) and
( MINEURE (ty2cl) or (lng2cl < 4) ) and(MINOR (ty2cl) or (lng2cl <4)) and
(lng2cl < 5) and(lng2cl <5) and
(ctl < 4) and(ctl <4) and
(phsa <= 9.7) and(phsa <= 9.7) and
VULNERABLE andVULNERABLE and
(lvqt >= 650) and(lvqt> = 650) and
(lvgt <= 700; and(lvgt <= 700; and
(qhcl > 31) then begin NIV := 3;COUL := tycl;end; end; 4: {============================================ si LNGCL = 7 et TYCL = mineure et (TY2CL = mineure ou TY2CL inexistante) (donc <> pique et <> coeur) et LNG2CL < 5 et CTL < 4 et PHSA <= 9.7 et vulnerable favorable et LVGT in [600..700] et QHCL > 23 et POSITION = 3 alors ouvrir de 3 TYCL (couleur longue). ===========================================} begin with JOUEUR[J_C] do if(qhcl> 31) then begin NIV: = 3; COUL: = tycl; end; end; 4: {============================================= if LNGCL = 7 and TYCL = minor and (TY2CL = minor or TY2CL non-existent) (therefore <> spades and <> heart) and LNG2CL <5 and CTL <4 and PHSA <= 9.7 and vulnerable favorable and LVGT in [600..700] and QHCL> 23 and POSITION = 3 then open with 3 TYCL (long color). ===========================================} begin with PLAYER [J_C] do if
(lngcl = 7) and(lngcl = 7) and
MINEURE(tycl) andMINOR (tycl) and
( MINEURE (ty2cl) or (lng2cl < 4) ) and(MINOR (ty2cl) or (lng2cl <4)) and
(lng2cl < 5) and(lng2cl <5) and
(ctl < 4) and(ctl <4) and
(phsa <= 9.7) and (VULMERABILITE=EST_OUEST) and (lvqt <= 700) and(phsa <= 9.7) and (VULMERABILITY = EST_OUEST) and (lvqt <= 700) and
(lvqt >= 600) and(lvqt> = 600) and
(qhcl > 23) and (position=3 ) then begin NIV := 3; COUL := tycl:end; end; 5: {=========================================== si LNGCL >= G et TYCL = mineure et CTY2CL = mineure au TY2CL inexistante) (donc <> pique et <> coeur) et LMG2CL < 5 et NON VULNERABLE et LVGT <= 799 et LVGT > 600 et CTL < 4 et PHSA <= 9.7 alors ouvrir de 4 TYCL (couleur longue).
do if(qhcl> 23) and (position = 3) then begin NIV: = 3; COUL: = tycl: end; end; 5: {============================================ if LNGCL> = G and TYCL = minor and CTY2CL = minor to non-existent TY2CL) (therefore <> spades and <> heart) and LMG2CL <5 and NOT VULNERABLE and LVGT <= 799 and LVGT> 600 and CTL <4 and PHSA <= 9.7 then open of 4 TYCL (long color). do if
(Ingcl >= 8) and(Ingcl> = 8) and
MINEURE (tycl) andMINOR (tycl) and
( MINEURE (ty2cl) or ( l ng2cl < 4) ) and not (VULNERABLE) and(MINOR (ty2cl) or (l ng2cl <4)) and not (VULNERABLE) and
(lng2cl < 5) and(lng2cl <5) and
(ctl < 4) and(ctl <4) and
(lvgt >= 600) and(lvgt> = 600) and
(lvgt < 799) and(lvgt <799) and
(phsa <= 9.7) then begin NIV := 4; COUL := tycl; end end;(phsa <= 9.7) then begin VIN: = 4; COLOR: = tycl; end end;
6: {=========================================== si LNGCL >= 8 et TYCL = mineure et (TY2CL = mineure ou TY2CL inexistante) (donc <> pique et coeur) et LNG2CL < 5 et VULNERABLE et LVGT <= 799 et LVGT > 650 et CTL < 4 et PHSA <= 9. 7 alors ouvrir de 4 TYCL (couleur lonque). ============================================} begin with JOUEUR[J_C] do if6: {============================================ if LNGCL> = 8 and TYCL = minor and (TY2CL = minor or TY2CL non-existent) (therefore <> spades and heart) and LNG2CL <5 and VULNERABLE and LVGT <= 799 and LVGT> 650 and CTL <4 and PHSA <= 9. 7 then open of 4 TYCL (long color). ============================================} begin with PLAYER [J_C ] do if
(lngcl >= 8) and(lngcl> = 8) and
MINEURE (tycl) and ( MINEURE(ty2cl) or (lng2cl < 4) ) and (VULNERABLE) andMINOR (tycl) and (MINOR (ty2cl) or (lng2cl <4)) and (VULNERABLE) and
(lng2cl 5) and (ctl < 4) and(lng2cl 5) and (ctl <4) and
(lvgt >= 650) and(lvgt> = 650) and
(lvqt < 799) and(lvqt <799) and
(phsa <= 9.7; tnen begin NIV := 4;COUL := tycl;end end;(phsa <= 9.7; tnen begin NIV: = 4; COUL: = tycl; end end;
7: {===========================================7: {============================================
Si TYCL = mineure si LNGCL = 7 et MBCMI 10 et non vulnerable et PHSA < = 11 et CTL < 4 et LVGT >= 700 et LVGCL >= 500 alors ouvrir de 4 TYCL (couleur longue). ============================================ begin with JOUEUR[J _C] do ifIf TYCL = minor if LNGCL = 7 and MBCMI 10 and not vulnerable and PHSA <= 11 and CTL <4 and LVGT> = 700 and LVGCL> = 500 then open 4 TYCL (long color). ============================================= begin with PLAYER [J _C ] do if
MINEURE(t vcl) and (lngcl = 7 ) and (phsa <= 11) anα (ctl < 4) and (nbcmi > 10) and not (VULNERABLE) and (lvgt >= 700) and ilvqcl >= 500) then begin NIV := 4:COUL := tvcl:end; end ;
8: {===========================================MINOR (t vcl) and (lngcl = 7) and (phsa <= 11) anα (ctl <4) and (nbcmi> 10) and not (VULNERABLE) and (lvgt> = 700) and ilvqcl> = 500) then begin VIN: = 4: COLOR: = tvcl: end; end; 8: {============================================
Si TYCL = mineure si LNGCL = 7 et NBCMI > 10 et vulnérable et PHSA <= 11 et CTL < 4 et LVGT >= 800 et LVGCL >= 600 alors ouvrir de 4 TYCL (couleur lonque). ============================================ begin with JOUEUR[J_C] do ifIf TYCL = minor if LNGCL = 7 and NBCMI> 10 and vulnerable and PHSA <= 11 and CTL <4 and LVGT> = 800 and LVGCL> = 600 then open 4 TYCLs (long color). ============================================= begin with PLAYER [J_C] do if
MINEURE(tycl) andMINOR (tycl) and
(lngcl = 7) and(lngcl = 7) and
(nbcmi > 10) and(nbcmi> 10) and
VULNERABLE andVULNERABLE and
(phsa <= 11) and(phsa <= 11) and
(Ivgt >= 800) and(Ivgt> = 800) and
(ctl < 4) and(ctl <4) and
(lvgcl >= 600) then begin NIV := 4; COUL := tycl;end; end; 9: {=========================================== si LNGCL >= 8 et TYCL mineure et PHSA <= 13 et CTL < 4 et LVGCL >=650 et LVGT >= 800 alors ouvrir de 5 TYCL (couleur lonque) . =========================================} begin with JOUEUR[J_C] do if(lvgcl> = 600) then begin VIN: = 4; COUL: = tycl; end; end; 9: {============================================ if LNGCL> = 8 and TYCL minor and PHSA <= 13 and CTL <4 and LVGCL> = 650 and LVGT> = 800 then open with 5 TYCL (long color). =========================================} begin with PLAYER [J_C] do if
(lngcl >= 8) and(lngcl> = 8) and
MINEURE(tycl) andMINOR (tycl) and
(phsa <= 13) and(phsa <= 13) and
Clvgcl >= 650) andClvgcl> = 650) and
(ctl < 4) and(ctl <4) and
(lvgt >= 800) then begin NIV := 5:COUL := tycl;end; end;(lvgt> = 800) then begin VIN: = 5: COUL: = tycl; end; end;
10: {=========================================== si LNGCL = 6 et TYCL = mineure et (TY2CL = mineure ou TY2CL inexistante) et LNG2CL < 5 et vulnerabilite = non R/V et CTL < 4 et H <= 11 et PHCL >= 7 (ADV) +++++ mieux Perd <= 100 et position = 3 alors ouvrir de 3 TYCL. =========================================== begin with JOUEUR[J_ C] do if10: {============================================ if LNGCL = 6 and TYCL = minor and (TY2CL = minor or TY2CL non-existent) and LNG2CL <5 and vulnerability = no R / V and CTL <4 and H <= 11 and PHCL> = 7 (ADV) +++++ better Lose <= 100 and position = 3 then open 3 TYCLs. ============================================ begin with PLAYER [J_ C] do if
(Inqcl = 6) and MINEURE'.tycl) and MINEURE (tγ2cl) or (Inq2cl < 4) ) and(Inqcl = 6) and MINEURE'.tycl) and MINEURE (tγ2cl) or (Inq2cl <4)) and
(lng2cl < 5) and (VULNERABILITE <> NORD_SUD) and (ctl < 4) and (point_h < 12) and (COULEUR[tycl].perdantes <= 100) and (position = 3) then begin NIV := 3;COUL := tycl;end;
(lng2cl <5) and (VULNERABILITE <> NORD_SUD) and (ctl <4) and (point_h <12) and (COLOR [tycl] .perdantes <= 100) and (position = 3) then begin NIV: = 3; COUL : = tycl; end;
DATA SEGMENT CQMMON ' DATA' INCLUDE C:XDATA.LIB INCLUDE C:YDATA. LIBDATA SEGMENT CQMMON 'DATA' INCLUDE C: XDATA.LIB INCLUDE C: YDATA. LIB
DATA ENDSDATA ENDS
EXTRN ORA:FAR EXTRN INF: FAR EXTRN DUMP:FAR EXTRN DIV6:FAR EXTRN TETE: FAR EXTRN POSHL:FAR EXTRN CARTGI:FAR EXTRN GYAPB:FAR EXTRN YAATFX:FAR EXTRN DIRHL.-FAR EXTRN PTDC:FAR EXTRN GTDC1:FAR EXTRN DIFFF:FAR EXTRN POSJW:FAR EXTRN PLI:FAR EXTRN GTDTX:FAR EXTRN ATT:FAR EXTRN GTDC:FAR EXTRN PBFIMM.FAR EXTRN GTDX:FAREXTRN ORA: FAR EXTRN INF: FAR EXTRN DUMP: FAR EXTRN DIV6: FAR EXTRN HEAD: FAR EXTRN POSHL: FAR EXTRN CARTGI: FAR EXTRN GYAPB: FAR EXTRN YAATFX: FAR EXTRN DIRHL.-FAR EXTRN PTDC: FAR EXTRN PTDC DIFFF: FAR EXTRN POSJW: FAR EXTRN PLI: FAR EXTRN GTDTX: FAR EXTRN ATT: FAR EXTRN GTDC: FAR EXTRN PBFIMM.FAR EXTRN GTDX: FAR
SCODE SEGMENT PUBLIC 'SCODE' ASSUME CS: SCODE, DS: DATA, ES: DATASCODE PUBLIC SEGMENT 'SCODE' ASSUMED CS: SCODE, DS: DATA, ES: DATA
XYZT PRQC FAR Ⓐ ; ; ; ;XYZT PRQC FAR Ⓐ; ; ; ;
PUBLIC CHOIX ;PUBLIC CHOICES;
PAGEPAGE
NOMOVE:NOMOVE:
MOV SI, WORD PTR ZONE+28MOV SI, WORD PTR ZONE + 28
MOV BH,BYTE PTR [SI+1]MOV BH, BYTE PTR [SI + 1]
MOV AL,BHMOV AL, BH
CMP AL,OCMP AL, O
JNΣ LABOJNΣ LABO
RET LABO:RET LABO:
MOV BL,BYTE PTR [SI]MOV BL, BYTE PTR [SI]
PUSHFPUSHF
INC BXINC BX
POPFPOPF
PUSHFPUSHF
INC BXINC BX
POPFPOPF
MOV BYTE PTR [BX],OFFHMOV BYTE PTR [BX], OFFH
MOV BYTE PTR [SI+l-],OMOV BYTE PTR [SI + l -], O
MOV BYTE PTR [S1-1,OMOV BYTE PTR [S1-1, O
RET
MOVE:RET MOVE:
MOV SI, WORD PTR ZONE+28MOV SI, WORD PTR ZONE + 28
MOV BL,BYTE PTR [SI-2]MOV BL, BYTE PTR [SI-2]
MOV BH,BYTE PTR [SI-1]MOV BH, BYTE PTR [SI-1]
MOV AL,BHMOV AL, BH
CMP AL,OCMP AL, O
JZ NOLIBJZ NOLIB
PUSHFPUSHF
INC BXINC BX
POPFPOPF
PUSHFPUSHF
INC BXINC BX
POPFPOPF
MOV BYTE PTR [BX],OFFH ;MOV BYTE PTR [BX], OFFH;
NOLIB:NOLIB:
MOV BL,BYTE PTR [SI] MOV BH,BYTE PTR [SI+1] MOV BYTE PTR [SI-2],BL MOV BYTE PTR [SI-1],BH MOV BYTE PTR [SI+1],0 MOV BYTE PTR [SI],0 RET PAGEMOV BL, BYTE PTR [SI] MOV BH, BYTE PTR [SI + 1] MOV BYTE PTR [SI-2], BL MOV BYTE PTR [SI-1], BH MOV BYTE PTR [SI + 1], 0 MOV BYTE PTR [IF], 0 RET PAGE
-CHOIX:-CHOICE:
MOV BYTE PTR ZONE+30,AL MOV WORD PTR [ZONE+2B],SI SUB AL,AL MOV BYTE PTR ZONE+52,AL MOV BYTE PTR ZONE+54,AL MOV BYTE PTR ZONE+66,AL MOV AL,BH CMP AL,0 JNZ LAB1 JMP MOVEMOV BYTE PTR ZONE + 30, AL MOV WORD PTR [ZONE + 2B], SI SUB AL, AL MOV BYTE PTR ZONE + 52, AL MOV BYTE PTR ZONE + 54, AL MOV BYTE PTR ZONE + 66, AL MOV AL, BH CMP AL, 0 JNZ LAB1 JMP MOVE
LAB1;LAB1;
MOV AL.DH CMP AL,0 JNZ LAB2 JMP NOMOVEMOV AL.DH CMP AL, 0 JNZ LAB2 JMP NOMOVE
LAB2: CHOIXO:LAB2: CHOIXO:
MOV WORD PTR --ZQNE+283.3IMOV WORD PTR --ZQNE + 283.3I
SUB AL, ALSUB AL, AL
MOV BYTE PTR Z0NE+52,ALMOV BYTE PTR Z0NE + 52, AL
MOV BYTE PTR Z0NE+54,ALMOV BYTE PTR Z0NE + 54, AL
MOV BYTE PTR Z0NE+66, ALMOV BYTE PTR Z0NE + 66, AL
MOV BYTE PTR COUPUR.ALMOV BYTE PTR COUPUR.AL
PUSH BXPUSH BX
POP SIPOP IF
MOV WORD PTR --Z0NE+i753,BXMOV WORD PTR --Z0NE + i753, BX
MOV AL, BYTE PTR CS1+23MOV AL, BYTE PTR CS1 + 23
CMP AL.OFFHCMP AL.OFFH
JNZ LAB3JNZ LAB3
JMP MOVEJMP MOVE
LABT:LABT:
CMP AL.O JNZ LAB4 JMP MOVECMP AL.O JNZ LAB4 JMP MOVE
LAB4:LAB4:
AND AL.OFHAND AL.OFH
MOV CH.ALMOV CH.AL
PUSH DXPUSH DX
POP SIPOP IF
MOV WORD PTR [ZONE+177].DXMOV WORD PTR [ZONE + 177] .DX
MOV AL,BYTE PTR [SI+2]
LAG5 :MOV AL, BYTE PTR [SI + 2] LAG5:
CMP AL,O JNZ LAB6 JMP NOMOVECMP AL, O JNZ LAB6 JMP NOMOVE
LAB6:LAB6:
AND AL,OFH CMP AL,CH JC JAIMV MOV AL,CHAND AL, OFH CMP AL, CH JC JAIMV MOV AL, CH
JAIMV:JAIMV:
MOV BYTE PTR Z0NE+69,AL ; LD BC, (ZONE+4)MOV BYTE PTR Z0NE + 69, AL; LD BC, (ZONE + 4)
MOV CX,12MOV CX, 12
MOV AL,1MOV AL, 1
MOV BYTE PTR ZONE+14S,ALMOV BYTE PTR ZONE + 14S, AL
SUB AL,ALSUB AL, AL
MOV BYTE PTR ZONE+26,ALMOV BYTE PTR ZONE + 26, AL
MOV BYTE PTR ZONE+27,ALMOV BYTE PTR ZONE + 27, AL
ADD SI,CXADD SI, CX
IXO:IXO:
MOV AL , BYTE PTR CS I 3MOV AL, BYTE PTR CS I 3
CMP AL,0CMP AL, 0
JNZ IXOOJNZ IXOO
PUSHFPUSHF
INC SIINC IF
POPFPOPF
JMP IXOJMP IXO
IXOO:IXOO:
PUSH SIPUSH IF
POP DXPOP DX
ADD BX.CXADD BX.CX
HLO :HLO:
MOV AL,BYTE PTR [BX]MOV AL, BYTE PTR [BX]
CMP AL,OCMP AL, O
JNZ HLOOJNZ HLOO
PUSHFPUSHF
INC BXINC BX
POPFPOPF
JMP HLOJMP HLO
HLOO :HLOO:
MOV WORD PTR [ZONE+52],BXMOV WORD PTR [ZONE + 52], BX
MOV WORD PTR [ZONE+54],DXMOV WORD PTR [ZONE + 54], DX
MOV CX,WORD PTR ZONE+70MOV CX, WORD PTR ZONE + 70
PUSHFPUSHF
DEC CXDEC CX
POPF ;POPF;
MOV AL,BYTE PTR INFO+18 CMP AL,OFFH JNZ LAB7 JMP DIFFFMOV AL, BYTE PTR INFO + 18 CMP AL, OFFH JNZ LAB7 JMP DIFFF
LAB7:LAB7:
PAGE GETDIF:GETDIF PAGE:
PUSH SIPUSH IF
MOV SI.DXMOV SI.DX
MOV AL.BYTE PTR [SI]MOV AL.BYTE PTR [SI]
POP SIPOP IF
CMP AL.[BX]CMP AL. [BX]
JNZ Y ADIFJNZ Y ADIF
GETDIO:GETDIO:
PUSHFPUSHF
INC DXINC DX
POPFPOPF
PUSHFPUSHF
INC BXINC BX
POPFPOPF
DEC CL JNZ SETDIF JMP NOMOVE
YADIF:DEC CL JNZ SETDIF JMP NOMOVE YADIF:
MOV AL,CLMOV AL, CL
CMP AL,O ⒸCMP AL, O Ⓒ
JNZ LAB8JNZ LAB8
CALL FAR PTR DUMPCALL FAR PTR DUMP
LAB8:LAB8:
MOV SI,OFFSET ZONE+70MOV SI, OFFSET ZONE + 70
CMP AL,[SI]CMP AL, [SI]
JC LAB9JC LAB9
CALL FAR PTR DUMPCALL FAR PTR DUMP
LAB9:LAB9:
PUSH CX CALL FAR PTR DIV6PUSH CX CALL FAR PTR DIV6
POP CXPOP CX
CMP AL, 4CMP AL, 4
JΣ GETDIOJΣ GETDIO
CMP AL, 5CMP AL, 5
JNZ LABIOJNZ LABIO
JMP DIFENTJMP DIFENT
LAB10:LAB10:
MOV CL,ALMOV CL, AL
MOV AL,3MOV AL, 3
SUB AL,CLSUB AL, CL
JNC LAB11JNC LAB11
CALL FAR PTR :DUMPCALL FAR PTR: DUMP
LAB11:LAB11:
MOV CL,ALMOV CL, AL
INC ALINC AL
MOV BYTE PTR ZONE+66,ALMOV BYTE PTR ZONE + 66, AL
DEC ALDEC AL
MOV CH,0MOV CH, 0
CALL F AR PTR ORACALL F AR PTR ORA
SUB BX,CXSUB BX, CX
XCHG DX,BXXCHG DX, BX
CALL F AR PTR ORACALL F AR PTR ORA
SUB BX,CXSUB BX, CX
XCHB DX,BXXCHB DX, BX
PAGEPAGE
PUSH BXPUSH BX
POP SIPOP IF
PUSH DXPUSH DX
POP DIPOP DI
PUSHFPUSHF
DEC SIDEC IF
POPFPOPF
PUSHFPUSHF
DEC SIDEC IF
POPFPOPF
PUSHF .PUSHF.
DEC DIDEC DI
POPFPOPF
PUSHFPUSHF
DEC DIDEC DI
POPFPOPF
MOV WORD PTR [ZONE+179],SIMOV WORD PTR [ZONE + 179], IF
MOV WORD PTR [ZONE+181],DIMOV WORD PTR [ZONE + 181], DI
MOV WORD P TR [ZONE+158],DXMOV WORD P TR [ZONE + 158], DX
MOV WORD P TR [ZONE+48],BXMOV WORD P TR [ZONE + 48], BX
MOV WORD P TR [ZONE+64],CX
MOV DX, OFFSET ZONE+72MOV WORD P TR [ZONE + 64], CX MOV DX, OFFSET ZONE + 72
MOV CX,4MOV CX, 4
PUSH SIPUSH IF
PUSH DIPUSH DI
MOV SI,BXMOV SI, BX
MOV DI,DXMOV DI, DX
CLDCLD
REP MOVSBREP MOVSB
MOV BX,SIMOV BX, SI
MOV DX,DIMOV DX, DI
POP DIPOP DI
POP SIPOP IF
MOV BX,WORD PTR ZONE+48MOV BX, WORD PTR ZONE + 48
MOV CX,4MOV CX, 4
PUSH SIPUSH IF
PUSH DIPUSH DI
MOV SI.BXMOV SI.BX
MOV DI,DXMOV DI, DX
CLDCLD
REP MOVSBREP MOVSB
MOV BX,SIMOV BX, SI
MOV DX,DIMOV DX, DI
POP DIPOP DI
POP SIPOP IF
MOV BX WORD PTR ZONE+158MOV BX WORD PTR ZONE + 158
MOV DX,OFFSET ZONE+32MOV DX, OFFSET ZONE + 32
MOV CX,4MOV CX, 4
PUSH SIPUSH IF
PUSH DIPUSH DI
MOV SIMOV IF
MOV DI,DXMOV DI, DX
CLDCLD
REP MOVSBREP MOVSB
MOV BX,SIMOV BX, SI
MOV DX,DIMOV DX, DI
POP DIPOP DI
POF SIPOF IF
MOV BX WO ,D PTR Z0NE+1Ξ8MOV BX WO, D PTR Z0NE + 1Ξ8
MOV CX 4MOV CX 4
PUSH SIPUSH IF
PUSH DIPUSH DI
MOV SI BXMOV IF BX
MOV DI DXMOV DI DX
CLDCLD
REP MOVSBREP MOVSB
MOV BX,SIMOV BX, SI
MOV DX,DIMOV DX, DI
POP DIPOP DI
POP SIPOP IF
MOV SI,WORD PTR ZONE+45MOV SI, WORD PTR ZONE + 45
MOV AL,BYTE PTR [SI-2]MOV AL, BYTE PTR [SI-2]
MOV B>TE PTR ZONE+21,ALMOV B> TE PTR ZONE + 21, AL
CMP AL,5CMP AL, 5
JC LAB12JC LAB12
CALL FAR PTP DUMPCALL FAR PTP DUMP
LAB12:LAB12:
DEC ALDEC AL
MOV CL,ALMOV CL, AL
PAGEPAGE
MOV BX, OFFSET ZONE+72MOV BX, OFFSET ZONE + 72
ADD BX,CXADD BX, CX
XCHG DX,BXXCHG DX, BX
MOV BX ,OFFSET ZONE-MOV BX, OFFSET ZONE-
ADD BX,CXADD BX, CX
XCHG DX.BX
PUSH BXXCHG DX.BX PUSH BX
PUSH DXPUSH DX
MOV CX,4MOV CX, 4
MOV DX,OFFSET INFO+41MOV DX, OFFSET INFO + 41
PUSH SIPUSH IF
PUSH DIPUSH DI
MOV SI,BXMOV SI, BX
MOV DI,DXMOV DI, DX
CLDCLD
REP MOVSBREP MOVSB
MOV BX,SIMOV BX, SI
MOV DX,DIMOV DX, DI
POP DIPOP DI
POP SIPOP IF
POP DXPOP DX
POP BX ;POP BX;
MOV CL,4MOV CL, 4
MOV SI, OFFSET INFO+41 ⒹMOV SI, OFFSET INFO + 41 Ⓓ
NITO:NITO:
PUSH SIPUSH IF
MOV SI.DXMOV SI.DX
MOV AL,BYTE PTR -.SI3MOV AL, BYTE PTR -.SI3
POP SIPOP IF
MOV BYTE PTR [S1], ALMOV BYTE PTR [S1], AL
CMP AL,[BX]CMP AL, [BX]
PUSHFPUSHF
PUSHFPUSHF
INC BXINC BX
POPFPOPF
PUSHFPUSHF
DEC CXDEC CX
POPFPOPF
CPICPI
PUSHFPUSHF
INC DXINC DX
POPFPOPF
PUSHFPUSHF
INC SIINC IF
POPFPOPF
POPFPOPF
JZ INITOJZ INITO
MOV AL, 4MOV AL, 4
SUB AL, CLSUB AL, CL
JNC LAB13JNC LAB13
CALL FAR PTR DUMPCALL FAR PTR DUMP
LAB13:LAB13:
JNZ LAB14 CALL FAR PTR DUMPJNZ LAB14 CALL FAR PTR DUMP
LAB14:LAB14:
PAGEPAGE
MOV BYTE PTR Z0NE+148,ALMOV BYTE PTR Z0NE + 148, AL
PUSHFPUSHF
DEC DXDEC DX
POPFPOPF
PUSH SIPUSH IF
MOV SI.DXMOV SI.DX
MOV AL, BYTE PTR CSI3MOV AL, BYTE PTR CSI3
POP SIPOP IF
AND AL,OFHAND AL, OFH
MOV BYTE PTR ZONE+26,ALMOV BYTE PTR ZONE + 26, AL
PUSHFPUSHF
DEC BXDEC BX
POPFPOPF
MOV AL,BYTE PTR CBX3MOV AL, BYTE PTR CBX3
AND AL,OFHAND AL, OFH
MOV BYTE PTR ZONE+27,ALMOV BYTE PTR ZONE + 27, AL
MOV AL,BYTE PTR ZONE+21MOV AL, BYTE PTR ZONE + 21
ADD AL,CLADD AL, CL
MOV AH,ALMOV AH, AL
TEST AH,1H
INITNS:TEST AH, 1H INITNS:
MOV DL.OMOV DL.O
INITNW:INITNW:
MOV AL,BYTE- PTR ZONE+ 151 ⒺMOV AL, BYTE- PTR ZONE + 151 Ⓔ
CMP AL, llHCMP AL, llH
JNZ NOIMPOJNZ NOIMPO
MOV AL,BYTE PTR INFO +98MOV AL, BYTE PTR INFO +98
MOV DL,ALMOV DL, AL
NOIMPO:NOIMPO:
MOV CL,OMOV CL, O
MOV CH,OMOV CH, O
CALL FAR PTR TETECALL FAR PTR HEAD
MOV AL, BYTE PTR INFO+18MOV AL, BYTE PTR INFO + 18
CMP AL,OFFHCMP AL, OFFH
JZ SSTRA ;JZ SSTRA;
MOV AL, BYTE PTR TRESDG CMP AL,O JZ LAB15MOV AL, BYTE PTR TRESDG CMP AL, O JZ LAB15
CALL FAR PTR ATTCALL FAR PTR ATT
LAB15: ;LAB15:;
MOV AL.BYΓE PTR STDC+24MOV AL.BYΓE PTR STDC + 24
CMP AL.OCMP AL.O
JNZ OBJ2JNZ OBJ2
SSTRA:SSTRA:
MOV AL, BYTE PTR INFO+20MOV AL, BYTE PTR INFO + 20
MOV CH,ALMOV CH, AL
MOV AL.OMOV AL.O
CMP AL,DLCMP AL, DL
MOV AL,BYTE PTR [SI]MOV AL, BYTE PTR [SI]
JZ IDECLJZ IDECL
CMP AL.CHCMP AL.CH
MOV AL. BYTE PTR [DI]MOV AL. BYTE PTR [DI]
JC IDEFXJC IDEFX
CMP AL,CHCMP AL, CH
JNC LAB16JNC LAB16
JMP MOVEJMP MOVE
LAB16:LAB16:
JMP OBJ2JMP OBJ2
PAGEPAGE
IDEFX:IDEFX:
CMP AL.CHCMP AL.CH
JC LAB17 JC LAB1 7
JMP NOMOVEJMP NOMOVE
LAB17:LAB17:
JMP QBJ0 ;JMP QBJ0;
IDECL:IDECL:
CMP AL.CHCMP AL.CH
MOV AL. BYTE PTR [DI3MOV AL. BYTE PTR [DI3
JC IDECXJC IDECX
CMP AL. CHCMP AL. CH
JNC LAB13JNC LAB13
JMP NOMDVEJMP NOMDVE
LABIO:LABIO:
JMP OBJ2JMP OBJ2
IDECX:IDECX:
CMP AL.CHCMP AL.CH
JC LAB19JC LAB19
JMP MOVEJMP MOVE
LAB19:LAB19:
OBJO:OBJO:
MOV DH,0MOV DH, 0
JMP OBJ9JMP OBJ9
0BJ2:0BJ2:
MOV DH,1MOV DH, 1
OBJ9:OBJ9:
MOV AL,BYTE PTR IMFO+18MOV AL, BYTE PTR IMFO + 18
CMP AL.OFFHCMP AL.OFFH
JZ PASA1 TJZ PASA1 T
CALL FAR PTR PBFIMMCALL FAR PTR PBFIMM
JNZ PASATTJNZ PASATT
CALL FAR PTR YAATFX
PASATT:CALL FAR PTR YAATFX PASATT:
MOV AL,BYTE PTR INFO+119MOV AL, BYTE PTR INFO + 119
CMP AL, OBBHCMP AL, OBBH
JNZ NOANIVJNZ NOANIV
MOV AL,DLMOV AL, DL
CMP AL,OCMP AL, O
JNZ NOANIVJNZ NOANIV
MOV AL,OABHMOV AL, OABH
MOV BYTE PTR COUPURjALMOV BYTE PTR COUPURjAL
55
MOV AL, BYTE PTR INFO+19MOV AL, BYTE PTR INFO + 19
CMP AL,OFFHCMP AL, OFFH
JNZ LAB20JNZ LAB20
CALL FAR PTR CARTGICALL FAR PTR CARTGI
LAB20: ; CALL FAR PTR CARTGILAB20:; CALL FAR PTR CARTGI
LAB21: ;LAB21:;
SUB AL,ALSUB AL, AL
MOV BYTE PTR COUPUR,AL ;MOV BYTE PTR COUPUR, AL;
MOV AL, BYTE PTR ZONE+154MOV AL, BYTE PTR ZONE + 154
PUSH DXPUSH DX
MOV CL,10MOV CL, 10
CALL FAR PTR GTDC1CALL FAR PTR GTDC1
POP DXPOP DX
CMP AL,2CMP AL, 2
JZ PROBJZ PROB
CMP AL,1CMP AL, 1
JNZ NOANIVJNZ NOANIV
PROB:PROB:
CALL FAR PTR IMPTET JZ IMPAΞ3 ;CALL FAR PTR IMPTET JZ IMPAΞ3;
TET:TET:
CALL FAR PTR CARTGI JMP NOANIV PAGECALL FAR PTR CARTGI JMP NOANIV PAGE
IMPASS:IMPASS:
CALL FAR PTK i--.il-_CALL FAR PTK i -. Il-_
MOV AL, BYTE PTR CSI3MOV AL, BYTE PTR CSI3
CMP AL. CD13CMP AL. CD13
JNZ NOANIV ;JNZ NOANIV;
MOV AL, BYTE PTR CARMXD AND AL, OFH MOV CL, ALMOV AL, BYTE PTR CARMXD AND AL, OFH MOV CL, AL
MOV AL, BYTE PTR ZONE+2^MOV AL, BYTE PTR ZONE + 2 ^
CMP AL, CLCMP AL, CL
JC INF27JC INF27
MOV AL, BYTE FTR ZQNE+26MOV AL, BYTE FTR ZQNE + 26
CMP AL. CLCMP AL. CL
JNC NOANIVJNC NOANIV
JMP MOVEJMP MOVE
INF27:INF27:
MOV AL,BYTE PTR ZONE+26MOV AL, BYTE PTR ZONE + 26
CMP AL,CLCMP AL, CL
JC NOANIVJC NOANIV
JMP NOMOVE ;JMP NOMOVE;
NOANIV:NOANIV:
MOV BX,WORD PTR ZONE+173 Ⓕ CALL FAR PTR TETE
;MOV BX, WORD PTR ZONE + 173 Ⓕ CALL FAR PTR HEAD ;
DIFENT:DIFENT:
MOV WORD PTR CZONE+1793,BXMOV WORD PTR CZONE + 1793, BX
MOV WORD PTR CZONE+1813,DXMOV WORD PTR CZONE + 1813, DX
PUSH SIPUSH IF
MOV SI,DXMOV SI, DX
MOV AL,BYTE PTR [SI]MOV AL, BYTE PTR [SI]
POP SIPOP IF
AND AL,1AND AL, 1
MOV DL,ALMOV DL, AL
MOV AL, BYTE PTR [BX]MOV AL, BYTE PTR [BX]
AND AL,1AND AL, 1
CMP AL,DLCMP AL, DL
JZ LAB22JZ LAB22
CALL FAR PTR DUMPCALL FAR PTR DUMP
LAB22:LAB22:
JMP INITNWJMP INITNW
IMPTET:IMPTET:
PUSH DX MOV AL, BYTE PTR ZONE+154PUSH DX MOV AL, BYTE PTR ZONE + 154
MOV CL,1MOV CL, 1
CALL FAR PTR GTDC1 POP DXCALL FAR PTR GTDC1 POP DX
CMP AL,52CMP AL, 52
JNC IMPT1JNC IMPT1
LIMPAS:LIMPAS:
CMP AL,ALCMP AL, AL
RETRET
IMPT1:IMPT1:
CMP AL,56CMP AL, 56
JNC ENTETEJNC HEADER
PUSHFPUSHF
DEC BXDEC BX
POPFPOPF
MOV AL, BYTE PTR [BX]MOV AL, BYTE PTR [BX]
CMP AL,9CMP AL, 9
JC LIMPASJC LIMPAS
ENTETE:ON YOUR MIND:
CALL F AR PTR ORACALL F AR PTR ORA
RET ;RET;
XYZT ENDPXYZT ENDP
SCODE ENDS END
SCODE ENDS END