Εφαρμογή προγραμματισμένη σε Java, με βιβλιοθήκες οργανωμένες σε ενότητες.
Η εξαγωγή των παιχνιδιών, η πιο εξέχουσα λειτουργία του, βασίζεται σε έναν αναλυτή που συνδυάζει έναν λεξικό αναλυτή με έναν συντακτικό αναλυτή.
Η αρχική έκδοση αυτού του αναλυτή επέτρεψε την εξαγωγή των παιχνιδιών σε αλγεβρική σημειογραφία σε πολλές γλώσσες
Από την έκδοση v1.26, επιτρέπεται η εξαγωγή παιχνιδιών που χρησιμοποιούν αλγεβρική σημειογραφία των κομματιών
Αυτή η νέα λειτουργία αναπτύχθηκε με την ενίσχυση του υπάρχοντος αναλυτή παιχνιδιών για να συμπεριλάβει ένα στρώμα που μεταφράζει τις εικόνες κομματιού στα αντίστοιχα αρχικά τους.
Ένας μεταφραστής εικόνας-προς-αρχικά έχει υλοποιηθεί χρησιμοποιώντας τον πλησιέστερο αλγόριθμο γείτονα με K = 1
Ο μεταφραστής επιλέγει την πλησιέστερη επιλογή με βάση ένα μέτρο σφάλματος από τα επισημασμένα παραδείγματα που έχει ορίσει.
Ένα άλλο ενδιαφέρον χαρακτηριστικό που εισήχθη στην έκδοση 1.20 είναι η αναγνώριση θέσης. Η εφαρμογή επιχειρεί να προσδιορίσει τη συμβολοσειρά FEN της θέσης αναλύοντας μια εικόνα της σκακιέρας.
Αυτή η λειτουργικότητα βασίζεται σε θεωρίες από ένα άρθρο του IEEE που αγόρασα για αναφορά:
- Στοχεύει στον προσδιορισμό των θέσεων των τετραγώνων στη σκακιέρα ανιχνεύοντας τις πλευρές τους.
- Αν είναι επιτυχής, η εφαρμογή διασχίζει όλα τα τετράγωνα και προσπαθεί να αναγνωρίσει τα κομμάτια σε κάθε τετράγωνο. Η εφαρμογή θα προσπαθήσει να αναγνωρίσει το κομμάτι με τον πλησιέστερο αλγόριθμο γείτονα, αν ένα τετράγωνο είναι άδειο.
- Αν όλα τα τετράγωνα ταυτοποιηθούν επιτυχώς, εικάζεται ότι και το διοικητικό συμβούλιο ταυτοποιείται με επιτυχία.
- Αν ο χρήστης δεν μπορεί να αναγνωρίσει όλα τα τετράγωνα, η εφαρμογή θα τους δείξει τον πίνακα με τα αναγνωρισμένα τετράγωνα και ζήτησε να τον συμπληρώσει για περισσότερα παραδείγματα για να προσδιορίσει τον πίνακα εξ ολοκλήρου.
Όταν τα παιχνίδια εξάγονται από ένα PDF, ο αναγνώστης του συστήματος συζητήσεων είναι αυτοεκπαιδευμένος χρησιμοποιώντας εικόνες γνωστών θέσεων, οι οποίες τον βοηθούν να μάθει να αναγνωρίζει τετράγωνα με κομμάτια.
Η έκδοση 1.20 εισάγει ένα νέο χαρακτηριστικό που εξάγει τα δεδομένα του παιχνιδιού meta, συμπεριλαμβανομένων των ονομάτων των παικτών, των βαθμολογιών του ELO, των ημερομηνιών και των τοποθεσιών.
Αυτό το χαρακτηριστικό χρησιμοποιεί ένα σύστημα κανονικών εκφράσεων που φιλοξενεί διάφορες meta μορφές δεδομένων που συνάντησα κατά τη δοκιμή.
Ένα άλλο ενδιαφέρον χαρακτηριστικό που προστέθηκε στο v1.20 είναι η επιλογή σύνδεσης με κινητήρες τύπου UCI, όπως το Stockfish.
Ανέπτυξα ένα γενικό ρυθμιστή κινητήρα για αυτό το χαρακτηριστικό. Διαβάζει τη διαμόρφωση του κινητήρα κατά τη σύνδεση και δημιουργεί μια φόρμα για τους χρήστες να τροποποιήσουν τις επιλογές του κινητήρα.
Στην έκδοση v1.26, έχει προστεθεί υποστήριξη για την εξαγωγή παιχνιδιών σε αλγεβρική σημειογραφία από αριθμούς.
Από την έκδοση 1.30, η εφαρμογή περιλαμβάνει ένα νέο δυαδικό που σας επιτρέπει να δημιουργήσετε ένα PDF από ένα αρχείο.pgn, με δύο επιλογές: μια εφαρμογή γραφικής διεπαφής, ή μια επιλογή εφαρμογής γραμμής εντολών, για να αυτοματοποιήσετε τη διαδικασία.
Η έκδοση v1.33 προσθέτει υποστήριξη για εργασία με σαρωμένα PDF.