Comments (6)
https://en.wikipedia.org/wiki/Numeric_Annotation_Glyphs
- $2 poor move or mistake (traditional "?")
- $4 very poor move or blunder (traditional "??")
- $6 questionable or dubious move (traditional "?!")
etc.
from python-chess-annotator.
Excellent thank you! I guess these are the NAGs I saw many references to. Would be helpful to drop that wikipedia link in the Readme IMO.. not everyone is familiar with this terminology
from python-chess-annotator.
This repo is not maintained since 2019 (it says this clearly on README page), so the chances are slim. I'll make a fork and fix a few things here and there, but cannot promise if the author will be willing to put them back into the codebase.
from python-chess-annotator.
Thanks for jumping in with the explanation. See also #15. However, python-chess has changed a lot since I originally wrote this script, so maybe the behavior has changed there. Edit: Also, #14
from python-chess-annotator.
The first part I'm confused about is.. what does do exactly? It seems like it goes through the whole game and makes note of missed opportunities.. on both sides?
It compares the engine evaluation of the played move with the engine evaluation of the engine's bestmove. If the played move is sufficiently worse, it adds an annotation with the engine's primary variation. Which NAG is used is determined by how bad the move was.
Is that right? What if I only want to see missed opportunities from one side's perspective.. such as from white's perspective.. is there an option for that?
This script does not have that feature, no. I've leveled up considerably in python since I wrote this (it was actually a project to teach myself python in the first place, so it's the very first serious python application I ever did) and I regard the current state of this code as frankly more effort to maintain than it's worth, let alone extend. Every now and then I kick around the thought of doing a python-chess-annotator-ng
from scratch with more of the python skills I've developed since, but other things always get in the way.
from python-chess-annotator.
Lastly, is it possible to pass it an additional option that would return the score after every single move?
This is also not a feature, although it wouldn't be a tremendous amount of work to extend the script to do that. You would probably want to add a command-line switch to change the value of NEEDS_ANNOTATION_THRESHOLD
to 0 (or a user-defined value).
Edit: Bear in mind that a value of 0
would mean you would also get annotations when you played the engine's bestmove, which might not make a lot of sense.
from python-chess-annotator.
Related Issues (20)
- -h does not work HOT 2
- Insert human readable commentary HOT 9
- add ?!, ? and ?? HOT 2
- Always annotate the final position HOT 2
- Logging messages should not use string formatting HOT 1
- disregard
- Setting ACPL headers on a root node fails due to new validation in python-chess
- Use reversed() instead of this weird inverted manual for loop stuff HOT 3
- Use reversed(node.mainline()) instead of manually looping backward all the time HOT 1
- Close the eco json file
- Leftover gnuchess process
- Don't use "assert" for failure mode detection
- Broken with recent versions of python-chess
- Zero division error in ACPL calculations
- Division by zero if ply_count = 0 HOT 4
- notice of new project HOT 2
- ZeroDivisionError: float division by zero -- seems to be a different one from reported previously HOT 12
- How to save the result? HOT 4
- Constantly opens a new Stockfish.exe. Because of this, in the task manager, a lot of open stockfish.exe. The program apparently on each batch opens the Stockfish anew. And the old process does not close. How to solve this problem? Because of this, the RAM is overflowed.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-chess-annotator.