Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   Info: BearChess (https://www.schachcomputer.info/forum/showthread.php?t=6492)

lars 27.12.2022 15:54

AW: BearChess
 
Hallo,

es gibt ein kleines Update für BearChess (Version 0.9.3.1)
Rudolf hatte festgestellt, das die neuen Komodo Dragon Version (ab 3.1)
es zwar erlauben, die ELO-Stärke zu setzen, dies aber leider
am Standard vorbei und die Parameter dort "UCI Elo" und "UCI LimitStrength", anstatt mit Unterstrich "UCI_Elo" bzw. "UCI_LimitStrength".
Man kann die Parameter natürlich setzen, aber für eine GUI sind das UCI-Parameter wie jeder andere auch.
Es könnte dazu also in anderen GUIs zu Problemen führen.
In BearChess ist das jetzt angepasst und es wird der gesetzte Elo-Wert angezeigt.

Gruß
Lars

lars 24.01.2023 18:42

AW: BearChess
 
Hallo,

ich habe gerade Version 0.9.4.0 bereitgestellt.

Es gibt hauptsächlich Verbesserungen zu den Emus. Jetzt wird die Position und die Größe der Fenster gespeichert bzw. wieder hergestellt (analog zu den BearChess eigenen Fenster). Bei einer Partie zweier Emus gegeneinander kann eingestellt werden, ob die Fenster bei einem Farbwechsel auch ihre Position gegeneinander tauschen sollen.

Die Zugvorgabe bzw. das Fortführen einer Partie, wurde verbessert.

Die Anzeige des letzten Zuges (grünes Quadrat) und des aktuellen Zuges (oranges Quadrat) wird jetzt, wie auch bei anderen GUIs, als farbiger Pfeil dargestellt. Lässt sich auch wieder auf die alte Anzeige zurückstellen.

Ansonsten wurden noch einige Bugs beseitigt.

Vielen Dank an Robert für das viele Testen :D

Viel Spaß
Lars

fhub 25.01.2023 21:15

AW: BearChess
 
Hallo Lars,
Zitieren:

Zitat von lars (Beitrag 113612)
ich habe gerade Version 0.9.4.0 bereitgestellt.

Es gibt hauptsächlich Verbesserungen zu den Emus. Jetzt wird die Position und die Größe der Fenster gespeichert bzw. wieder hergestellt (analog zu den BearChess eigenen Fenster).

also das ist ja wieder mal ein tolles, neues Feature (wie auch schon die komfortable Auswahl der MessChess-Engines) - vielen Dank dafür! :)

Das hat mich jetzt dazu bewogen, BearChess nochmal genauer unter die Lupe zu nehmen. Diese einzelnen, frei bewegbaren Fenster sind zwar nicht unbedingt mein Fall, aber zumindest merkt sich BearChess ja die eingestellte Anordnung.

Beim Installieren einer MessChess-Engine gab's dann auch gleich den ersten Schock: in der Liste der Engines wollte ich ein paar Seiten nach unten scrollen, also ein paar Klicks auf den Scrollbalken, und das Resultat war eine Fehlermeldung "Die Sequenz enthält keine Elemente"!?
Inzwischen ist mir auch klar, was die Ursache ist: erfolgen die Klicks auf den Scrollbalken zu rasch hintereinander, dann scheint BearChess das als Doppelklick zu interpretieren, wobei aber (noch) gar keine Engine ausgewählt wurde!
Also so ein Verhalten habe ich noch bei keinem anderen Programm gesehen, der Scrollbalken 'kennt' normalerweise keinen Doppelklick. Möglicherweise ist das ja bei einem NET-Programm anders, aber vielleicht kann man das ja auch irgendwie einstellen (d.h. unterbinden)?

Als nächstes wollte ich dann gleich mal den Modus 'Relaxed' ausprobieren, weil ich keine Ahnung hatte, was das bedeutet. Dabei hat BearChess dann einfach die MessChess-GUI gestartet (ohne irgendeine Engine!), und das gleich mehrfach hintereinander! Nach einem Blick in die Hilfe war mir dann klar, daß dieser Modus für MessChess-Engine nicht gilt, aber dann sollte man ihn besser auch gar nicht aktivieren können - geht ja bei anderen Funktionen auch (z.B. ist ja auch 'Analysis' bei MessChess-Engines deaktiviert).

Das waren jetzt nur die eher geringfügigen Probleme (trotzdem ziemlich störend), aber jetzt kommen ein paar wirklich wichtige Dinge, die mich davon abhalten, BearChess öfter als GUI für die MessChess-Engines zu verwenden:

1) Ich hab keine Möglichkeit entdeckt, während einer Partie die Farbe (oder Seite) zu wechseln, d.h. die Engine zu starten obwohl ich am Zug bin! Abgesehen davon, daß das eigentlich jede andere Schach-GUI auch kann, ist es oft ganz nützlich, den nächsten (eigentlich eigenen) Zug (oder sogar mehrere hintereinander) von der Engine ausführen zu lassen (was außerdem auch ermöglichen würde, daß die Engine quasi gegen sich selbst spielt, also eine Art 'AutoPlay'). Oder habe ich diese Möglichkeit eines Farbwechsels einfach nur übersehen?

2) Auch ein Abbruch des Rechenvorgangs der Engine ist relativ unbequem - zuerst hatte ich das immer mit 'Actions > Stop game' versucht: BearChess sendet dabei ein 'stop' an die Engine, woraufhin diese ihren Zug zurücksendet, BearChess diesen Zug aber nicht mehr annimmt, d.h. so funktioniert es nicht.
Später habe ich dann dieses kleine Icon ('Play a game') links unten vom Brett entdeckt, und auch das sendet sofort beim Anklicken ein 'stop', und dabei wird der Enginezug auch am Brett ausgeführt. Das würde also so einem 'Stop Engine' entsprechen, allerdings muß man dann dieses Fenster extra wieder schließen (z.B. mit 'Continue'), was auch nicht gerade komfortabel ist.

3) Übrigens senden beide Funktionen ('Actions > Stop game' und dieses kleine Icon links unten) auch dann ein 'stop' an die Engine, wenn diese gar nicht rechnet (sondern der Benutzer am Zug ist), was nicht nur unnötig ist, sondern für MessChess sogar ein gravierendes Problem dargestellt hat, weil dieses 'stop' im Plugin die Engine sowohl stoppt als auch wieder startet (die meisten Schachcomputer haben ja nur eine gemeinsame Taste ('Move', 'Go' usw.) sowohl für das Unterbrechen des Rechenvorgangs als auch für das Starten der Engine). Zumindest das hab ich jetzt im Plugin so geändert, daß ein 'stop' einfach ignoriert wird, wenn der Benutzer am Zug ist.

Irgendwie erscheint mir diese Methode, im 'Actions'-Menü zwischen 'Start a new game' und 'Stop game' zu wechseln, nicht wirklich logisch: eine gestartete Partie braucht man doch nicht extra zu beenden - wenn die Engine gerade rechnet, dann sollte man den Rechenvorgang beenden können, aber damit nicht gleich die ganze Partie! Und wenn der Benutzer am Zug ist, dann braucht man eine Partie auch nicht extra zu beenden - dazu reicht doch einfach ein 'New game', oder?

Mir würde es also vernünftiger erscheinen, es so zu machen, wie es auch in anderen Schach-GUIs üblich ist: es gibt eine Funktion 'New game', die auch nach dem Partiestart nicht in ein (unnötiges) 'Stop game' mutiert, und eine eigene Funktion oder Taste 'Start/Stop engine', die auch wirklich nur die Engine startet oder stoppt.

Übrigens, besonders 'gemein' ;) finde ich den Menüpunkt 'Electronic Boards' mit seiner Vielzahl an externen Schachbrettern - und zwar deswegen, weil ich leider gar kein externes Brett besitze. :D

Grüße,
Franz

lars 25.01.2023 21:45

AW: BearChess
 
Hallo Franz,

vielen Dank für den ausführlichen Test!
Ich werde mir daraufhin die Kommunikation mit den MessChess-Engines nochmal genauer anschauen. Ich muss gestehen, dass ich relativ wenig mit den MessChess-Engines spiele bzw. teste, so dass mir nicht so aufgefallen ist.

Die Fehler sollten natürlich nicht auftauchen :o Werde ich kurzfristig korrigieren.

Trotzdem noch viel Spaß
Lars

fhub 25.01.2023 21:58

AW: BearChess
 
Hallo Lars,
Zitieren:

Zitat von lars (Beitrag 113657)
Ich werde mir daraufhin die Kommunikation mit den MessChess-Engines nochmal genauer anschauen.

na ja, im Prinzip funktioniert ja die Kommunikation ganz gut - nur dieses unnötige 'stop' (wenn die Engine gar nicht rechnet) macht eben Probleme.
Und vor allem dieses fehlende 'Start/Stop Engine' ist eben ungewöhnlich, weil das jede andere GUI auch kann (z.B. dieser 'Chip'-Button in Arena).
Die anderen Punkte sind ja nur kleine Mängel und vermutlich leicht zu beheben.

Grüße,
Franz

lars 25.01.2023 22:23

AW: BearChess
 
Hallo Franz,

Zitieren:

Zitat von fhub (Beitrag 113658)
Hallo Lars,

na ja, im Prinzip funktioniert ja die Kommunikation ganz gut - nur dieses unnötige 'stop' (wenn die Engine gar nicht rechnet) macht eben Probleme.
Und vor allem dieses fehlende 'Start/Stop Engine' ist eben ungewöhnlich, weil das jede andere GUI auch kann (z.B. dieser 'Chip'-Button in Arena).
Die anderen Punkte sind ja nur kleine Mängel und vermutlich leicht zu beheben.

Grüße,
Franz

Ja, die Fehler sind schon behoben :) Der Code für das Ein/Ausblenden des Relaxed-Mode war sogar schon drin, ist aber beim Umbau für Auswahl der Engines versehentlich nicht mehr aufgerufen worden :o

In der Tat wird ein Doppel-Click auf den Scrollbalken wie ein Doppel-Click auf einen Listeneintrag interpretiert. Habe bei der Gelegenheit noch verbessert, dass die neu installierte Engine in der Liste gleich vorausgewählt ist.
Also nach dem Wochenende gibt es eine korrigierte Version :)

Gruß
Lars

fhub 25.01.2023 22:32

AW: BearChess
 
Zitieren:

Zitat von lars (Beitrag 113659)
In der Tat wird ein Doppel-Click auf den Scrollbalken wie ein Doppel-Click auf einen Listeneintrag interpretiert.

Das ist recht ungewöhnlich, vielleicht nur in NET-Programmen so?

Übrigens, von NET hab ich nicht viel Ahnung - ist das eigentlich eine eigene Programmiersprache, oder nur eine Erweiterung/Ergänzung zu C?
Anders gefragt: programmierst Du mit Visual-Studio oder in einer anderen IDE?

Grüße,
Franz

lars 25.01.2023 23:00

AW: BearChess
 
Hallo Franz,

Zitieren:

Zitat von fhub (Beitrag 113660)
Das ist recht ungewöhnlich, vielleicht nur in NET-Programmen so?

Übrigens, von NET hab ich nicht viel Ahnung - ist das eigentlich eine eigene Programmiersprache, oder nur eine Erweiterung/Ergänzung zu C?
Anders gefragt: programmierst Du mit Visual-Studio oder in einer anderen IDE?

Grüße,
Franz

.NET selber ist keine Programmiersprache sondern ein Framework bzw. Laufzeitumgebung, für das du Code erzeugst: https://de.wikipedia.org/wiki/.Net-Framework

Programmieren tue ich in C#, was dem Java ähnlicher ist als C++.
Man kann aber auch viele andere Sprachen nutzen, aus der dann .NET-Code erzeugt wird. z.B. auch C++
https://de.wikipedia.org/wiki/Liste_von_.NET-Sprachen

Die Oberfläche gestalte ich in WPF, was eine bessere Trennung von Oberfläche und Code erlaubt.https://de.wikipedia.org/wiki/Window...ion_Foundation
Also ist das Verhalten mit der Listbox eher ein WPF- und nicht unbedingt ein .NET-Problem, aber das ist letztendlich auch egal.

Als IDE nehme ich die kostenlose Visual Studio Community Edition. Man kann aber auch Rider von JetBrains nehmen oder das kostenlose Visual Studio Code (oder irgendeinen Texteditor und ruft von der Kommandozeile den Compiler auf :))

Gruß
Lars

Agep 26.01.2023 12:34

AW: BearChess
 
Hallo Lars,

ich benutze ein Pegasus-Brett und habe noch nicht herausgefunden, wie ich das Brett drehen kann, wenn ich Schwarz von unten spielen will. Graham O'Neill's driver oder Chess Dojo haben diese Option. Es ist sehr unangenehm, das ganze Schachbrett zu drehen, wenn es an das Ladegerät angeschlossen ist.

Gruß,
Agep

lars 26.01.2023 12:45

AW: BearChess
 
Hallo,

Zitieren:

Zitat von Agep (Beitrag 113678)
Hallo Lars,

ich benutze ein Pegasus-Brett und habe noch nicht herausgefunden, wie ich das Brett drehen kann, wenn ich Schwarz von unten spielen will. Graham O'Neill's driver oder Chess Dojo haben diese Option. Es ist sehr unangenehm, das ganze Schachbrett zu drehen, wenn es an das Ladegerät angeschlossen ist.

Gruß,
Agep

muss ich heute Abend direkt mal ausprobieren. Habe das Brett gerade nicht im Zugriff, aber ich gebe dann Bescheid.

Gruß
Lars


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:42 Uhr.

Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info