script python gnubg

Le logiciel d'analyse de backgammon GNU Backgammon a la capacité d'exécuter des scripts Python. Je le savais depuis longtemps, mais je ne pouvais pas l'obtenir car je ne connaissais pas Python. Récemment, j'ai appris un peu comment utiliser Python au travail, alors essayons quelque chose!

Préparation

J'ai utilisé Ubuntu 14.04 LTS. La version de gnubg était 1.02, mais dans cette version, l'appel à gnubg.match (), qui sera décrit plus tard, ne retournait qu'un dict vide. J'ai donc construit la version 1.05 à partir des sources (http://www.gnubg.org/index.php?itemid=100&catid=10).

$ gnubg
GNU Backgammon 1.05.002  Jul  2 2016
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 by Gary Wong.
Copyright (C) 2016 by Gary Wong and the AUTHORS; for details type `show version'.
This program comes with ABSOLUTELY NO WARRANTY; for details type `show warranty'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show copying' for details.
(Pas de jeu)

Accéder à Python

import gnubg

Je veux commencer comme ça, mais je ne peux pas. La façon dont vous travaillez avec gnubg en Python est un peu différente. Avec gnubg en cours d'exécution, tapez «>» à l'invite de commande. Ensuite, vous pouvez utiliser IPython.

(Pas de jeu) >
/usr/local/lib/python2.7/dist-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated. You should import from traitlets.config instead.
  "You should import from traitlets.config instead.", ShimWarning)
IPython 4.2.1, Python 2.7.6 (default, Jun 22 2015, 18:01:27) 
[GCC 4.8.2]
In <1> > 

J'en ai vu beaucoup dans mon environnement, mais je m'en fiche pour le moment. Vous pouvez vous référer à l'aide avec la commande suivante.

In <1> > help(gnubg)

Importation de correspondance

Importons le match de Play OK.

In <2> > gnubg.command('import mat 87027157.txt')
 GNU Backgammon  Position ID: AAAAunEAAAAAAA
                 Match ID   : 8AqgAFAAAAAE
 +13-14-15-16-17-18------19-20-21-22-23-24-+     O: mkisono
 |                  |   |                  |OOO 5 points
 |                  |   |                  | OOO 
 |                  |   |                  | OOO 
 |                  |   |                  | OOO 
 |                  |   |                  | OOO
v|                  |BAR|                  |Match à 5 points(cube: 1)
 |                  |   |                  | X  
 |                  |   |                  | X   
 |                  |   | X           X    | X   
 |                  |   | X        X  X    | X   
 |                  |   | X        X  X  X |XX 0 points
 +12-11-10--9--8--7-------6--5--4--3--2--1-+     X: cwm7296g

Analyse de match

In <3> > gnubg.command('analyse match')

Affichage des résultats d'analyse

In <4> > gnubg.command('show statistics match')
Joueur MKisono CWM7296G

Statistiques de jeu du vérificateur

Déplacer le total 49 47
Mouvement non forcé 44 36
Coup non marqué 45 34
Coup suspect 1 5
Mauvais coup 2 2
Très mauvais coup 1 6
Error total EMG (MWC)                         -0.555 ( -8.234%)       -2.515 (-34.975%) 
Error rate mEMG (MWC)                        -12.6   ( -0.187%)      -69.9   ( -0.972%) 
Checker Play Rating Intermédiaire Awful!                 


Statistiques de chance

Rouleau très chanceux 0 1
Lucky roll 3 4
Rôle ordinaire 46 38
Rouleau malchanceux 0 3
Rouleau très malchanceux 0 1
Luck total EMG (MWC)                          +0.571 ( +9.871%)       -0.972 (-12.880%) 
Luck rate mEMG (MWC)                         +11.7   ( +0.201%)      -20.7   ( -0.274%) 
Évaluation de la chance Aucune Aucune


Statistiques du cube

Cube action total 2 30
Action de cube à peine ou réelle 2 1
Double 1 0
Prendre 0 1
Chemin 0 0
Missed doubles below CP (EMG (MWC))        0                       0                    
Missed doubles above CP (EMG (MWC))        0                       0                    
Wrong doubles below DP (EMG (MWC))         1 (-0.042 ( -0.323%))   0                    
Wrong doubles above TG (EMG (MWC))         0                       0                    
Mauvaise prise(EMG (MWC))          0                       0                    
Mauvais chemin(EMG (MWC))             0                       0                    
Error total EMG (MWC)                         -0.042 ( -0.323%)       -0.000 ( -0.000%) 
Error rate mEMG (MWC)                        -20.9   ( -0.162%)       -0.0   ( -0.000%) 
Évaluation de l'action du cube Joueur occasionnel Supernatural


Statistiques complètes

Error total EMG (MWC)                         -0.597 ( -8.557%)       -2.515 (-34.975%) 
Error rate mEMG (MWC)                        -13.0   ( -0.186%)      -68.0   ( -0.945%) 
Snowie error rate                             -6.2   ( +0.000%)      -26.2   ( +0.000%) 
Évaluation complète Intermédiaire Awful!                 
Résultat actuel+50.00%                 -50.00%               
Luck adjusted result                      +27.25%                 -27.25%               
Luck based FIBS rating diff.             +474.84                                        
Error based abs. FIBS rating             1858.7                  1078.7                 
Déductions de notation dues à des erreurs de jeu de vérificateur 175.4                   971.3                 
Déductions de notation dues à l'erreur de cube 15.9                     0.0  

C'était un match avec beaucoup d'erreurs ...

Obtenez des données de match

La saisie de la commande gnubg.match () renvoie les données de correspondance. Que dois-je faire avec ces données?

Résumé

Vous êtes prêt à jouer avec gnubg en Python. J'étudie juste Python, donc c'est à la fois un passe-temps et un profit, et ça n'a jamais été aussi amusant! !!

Page référencée

Recommended Posts

script python gnubg
script python gnubg: gnubg.match ()
script python gnubg: gnubg.findbestmove ()
Python
[Gimp] Lancez la création de scripts avec Python
python kafka
Les bases de Python ⑤
Résumé Python
Python intégré
Notation d'inclusion Python
Étudier Python
Compte à rebours Python 2.7
Mémorandum Python
Python FlowFishMaster
Service Python
astuces python
Mémo Python
Notation d'inclusion Python
Python Singleton
Les bases de Python ④
Mémorandum Python 2
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
Installer Python 3.4.3.
Essayez Python
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
[Python] Variables
Fonctions Python
Python sys.intern ()
Tutoriel Python
Fraction Python
underbar python C'est ce que
Résumé Python
Démarrer python
[Python] Trier
Remarque: Python
Les bases de Python ③
Sortie du journal python
Les bases de Python
mémo python
Mémorandum Python
Python #sort
ufo-> python
Python nslookup
apprentissage de python
[Rpmbuild] Python 3.7.3.
Python au prorata (1)
mémorandum python
mémorandum python
Mémo Python
a commencé python
Python #JSON
quiz python