DSBS 0.0, 21-7-2011

janjaapvanhorssen@gmail.com

 

Installatie

 

Pak de zip file uit naar bijvoorbeeld C:\DSBS. In deze map staat het programma DSBS.jar dat gestart kan worden met de bijbehorende snelkoppeling. De snelkoppeling moet worden gewijzigd indien niet voor C:\DSBS maar voor een andere map is gekozen. Zie snelkoppeling, eigenschappen, voor hoe het programma opgestart kan worden:

 

Target (doel): C:\Windows\System32\java.exe -jar C:\DSBS\DSBS.jar c:\DSBS

 

N.B. Java.exe kan op uw computer op een andere plaats staan. Zoek eventueel met Windows Verkenner. Ook gebruikt de snelkoppeling het icoon \data\DSBS.ico en wordt het Java console venster geminimaliseerd.

 

Het programma kan gestart worden met een optionele parameter die de root directory aangeeft, waarin de .jar en alle mappen moeten staan. Deze parameter kan worden weggelaten als het programma in de huidige directory wordt opgestart.

 

Het kan handig zijn de snelkoppeling naar het bureaublad te kopiëren.

 

Introductie

 

DSBS staat voor Draughts Single Board Server. Met behulp van dit programma kan een DGT elektronisch dambord verbonden worden met elk damprogramma dat het DamExchange protocol (DXP) ondersteunt.

 

In de DSBS kan de gebruiker apart (en optioneel) verbinding maken met het damprogramma (via DXP) en met het e-bord. Er zijn vier toestanden mogelijk:

 

  1. niet verbonden met DXP-partner, niet verbonden met e-bord: “PDN editor”
    Dit is de opstartmodus. In deze modus kunnen zetten worden gedaan via de grafische user interface (GUI), PDN 1.0 partijen worden ingelezen, nagespeeld en bewaard, en diagrammen worden gemaakt.
  2. niet verbonden met DXP-partner, wel verbonden met e-bord: “PDN editor met e-bord”
    In deze modus kan het programma worden gebruikt om partijen in te voeren door deze op het e-bord (na) te spelen.
    De partijen worden automatisch bewaard wanneer een nieuwe partij wordt begonnen.
  3. wel verbonden met DXP-partner, niet verbonden met e-bord: “DXP GUI front-end”
    In deze modus kan de GUI van het programma worden gebruikt om tegen een DXP-partner, bijvoorbeeld een damprogramma dat (of engine die) DXP ondersteunt, te spelen.
  4. wel verbonden met DXP-partner, wel verbonden met e-bord: “E-bord DXP interface”
    Dit is de modus waarvoor het programma bedoeld is. Het e-bord kan gebruikt worden om tegen een DXP-partner (damprogramma) te spelen. De partijen worden automatisch bewaard wanneer een nieuwe partij wordt begonnen. Het damprogramma kan volledig vanaf het e-bord worden aangestuurd. Zetten van de tegenstander worden op het display van de klok getoond.

 

Het damprogramma kan op dezelfde computer draaien of op een andere met internet verbonden computer. DSBS 0.0 is getest en werkt met de volgende damprogramma’s:

 

 

Dam2.2 is gratis te downloaden op http://hjetten.home.xs4all.nl/damnl.html.

Flits en Truus zijn te koop via de KNDB http://www.kndb.nl/.

De Flits/Truus DXP servers zijn te downloaden op http://edgilbert.org/InternationalDraughts/kingsrow_international.htm.

Kingsrow is te koop eveneens via http://edgilbert.org/InternationalDraughts/kingsrow_international.htm.

Maximus is (nog) niet beschikbaar voor het publiek.

 

N.B. Als het damprogramma de DXP-berichten BACKREQ en BACKACC niet ondersteunt dan is terugzetten niet mogelijk! Op dit moment ondersteunt voor zover ik weet alleen Dam2.2, en binnenkort Maximus,  deze functionaliteit.

 

In plaats van met een damprogramma is het ook mogelijk om te verbinden met een andere DSBS, op een andere met internet verbonden computer. Dit maakt het mogelijk om via het e-bord (of de GUI) partijen te spelen tegen een andere dammer die ook een e-bord heeft (of die de GUI gebruikt). Het is ook mogelijk DXP CHAT-berichten te sturen naar de DXP-partner, zodat de spelers teksten kunnen uitwisselen. Terugzetten in mogelijk.

 

Wat het gebruik van DXP betreft geldt de conventie dat DSBS álle verzoeken van de DXP-partner (GAMEREQ, BACKREQ, GAMEEND) automatisch accepteert. Dit is gedaan om alle interactie met de GUI te kunnen elimineren indien vanaf het e-bord gespeeld wordt.

 

 

Een voorbeeld: met het e-bord spelen tegen Dam2.2 (op dezelfde computer)

 

  1. start Dam2.2
  2. open desgewenst via het menu Venster > DamExchange
  3. kies menu Partij > DamExchange > Wacht op verbinding
  4. start DSBS
  5. kies menu DamExchange > Maak verbinding
  6. accepteer de standaardwaarde 127.0.0.1 voor ‘Maak verbinding met’
    - de verbinding wordt gemaakt, dit is te zien in het DamExchange venster van beide programma’s
  7. stel het gewenste niveau van de tegenstander (Dam2.2) in via het DSBS menu Opties > Instellen
  8. zorg ervoor dat het e-bord correct op de computer is aangesloten (en dat de digitale klok aan staat)
  9. zet op het e-bord de stukken in de beginstelling (optioneel)
  10. kies in DSBS menu E-bord > Maak verbinding
    - het volgende venster wordt getoond:



    Accepteer
    de standaardwaarden in het bovenste vak en vul de seriële poort in waarmee het e-bord met de computer verbonden is.
    N.B. Alle instellingen worden automatisch bewaard.
  11. nadat verbinding met het e-bord is gemaakt stuurt de DSBS automatisch een eerste GAMEREQ (game request) naar Dam2.2.
    - in Dam2.2 verschijnt een venster met daarin de bedenktijd en speelkleur; klik op Accepteer
  12. speel uw eerste zet (met wit) op het e-bord
    - er verschijnt ‘think’ op het display van de klok
  13. klik in Dam2.2 éénmalig op de knop Computer aan zet (het kan zijn dat dit niet nodig is, dan begint Dam vanzelf)
    - Dam speelt een zet en deze verschijnt op het display van de klok
  14. voer de zet van Dam2.2 uit op het bord (de tijd verschijnt weer op de klok)
  15. speel uw volgende zet
  16. enzovoort
  17. het is (tegen Dam2.2) mogelijk om terug te zetten

 

Zie verder Spelen via het DGT elektronisch dambord.

 

 

De DSBS GUI is gebaseerd op de GUI van het damprogramma Maximus. Hieronder enkele hopelijk nuttige en enigszins aangepaste fragmenten uit de Maximus help.

Zetten invoeren in de GUI

Dit kan op verschillende manieren:

1.      Slepen
Beweeg de muis naar het te spelen stuk (schijf of dam).
De muiscursor verandert van een pijltje in een handje, maar alleen als het stuk reglementair kan spelen.
Klik en sleep het stuk vervolgens naar het gewenste veld en laat los.

2.      Klikken op een stuk
Als hierboven, maar klik nu op het stuk of veld.
Als het stuk maar één zet kan doen, dan wordt deze zet automatisch herkend.
Anders wordt het veld gehighlight (het veld krijgt een dunne rode rand) en kan het volgende veld worden aangeklikt.
Bij meerslag moeten alle velden in de juiste volgorde worden aangeklikt totdat de zet voltooid is.

3.      Klikken op een leeg veld
Als op een leeg veld wordt geklikt waar maar één zet naartoe mogelijk is, dan wordt deze zet automatisch herkend.

Zodra een reglementaire zet is herkend wordt deze op het bord uitgevoerd en gaat het programma nadenken over een tegenzet. Tijdens het spelen wordt de partij in het werkgeheugen bewaard. Als een (nieuwe) zet wordt ingevoerd dan wordt de partij vanaf de huidige stand overschreven. Zie ook Navigatie.

De laatst gespeelde zet wordt steeds gehighlight.

De taakbalk

Met de knoppen uit de taakbalk kunnen de meest voorkomende functies worden gebruikt.
Beweeg eventueel de muis naar een knop zonder erop te klikken om de functie van de knop te tonen.

Partijen opslaan en inlezen



1. Nieuwe partij
Een nieuwe partij beginnen. De huidige partij wordt gewist.
2. Partij openen
Partij inlezen uit PDN-bestand. Selecteer het gewenste bestand met behulp van het dialoogvenster. De huidige partij wordt gewist. Zie ook Navigatie.
3. Partij opslaanPartij opslaan als PDN-bestand. Bepaal de gewenste map en bestandsnaam met behulp van het dialoogvenster.

Navigatie in de partij




1. Ga naar het begin − van de partij. De partij blijft bewaard. Vanaf hier kan de partij handmatig of automatisch worden nagespeeld.
2. Eén zet terug − in de partij. De partij blijft bewaard. De
undo-knop.
3. Eén zet vooruit − in de partij. De partij blijft bewaard.
4. Ga naar het einde − van de partij. De partij blijft bewaard.

En tenslotte:

 

1. Bord omdraaien − Draait het bord op het scherm om. De knop blijft ingedrukt totdat het bord weer teruggedraaid wordt.
2. Automatisch naspelen − De partij vanuit de huidige positie tot het einde automatisch naspelen, met een instelbare pauze (de ingestelde denktijd per zet) na elke zet.
3. Stuur een DamExchange CHAT-bericht. Dit bericht wordt getoond in het DamExchange venster van de DXP-partner.
4. Diagram naar klembord – Er wordt een diagram van de huidige stelling op het klembord geplaatst. Deze kan in bijvoorbeeld een e-mail of een Word-document worden geplakt.


Het menu

Het menu biedt nog een aantal extra mogelijkheden:

Partij-gegevens

De partij-gegevens zoals deze moeten worden opgeslagen als de partij wordt bewaard. De spelers worden tevens getoond in de titelbalk van het programma, standaard N.N. – N.N. * (uitslag onbekend). Het volgende venster wordt getoond.

Dit venster wordt ook getoond voordat een partij wordt bewaard, en het is dus niet nodig dit van tevoren in te vullen.

Een stelling opzetten

Kies Menu Bord > Opzetten. De volgende taakbalk verschijnt.



1. Bord leegmaken − Maakt het bord leeg.
2. Plaats witte schijven
Tevens de startwaarde. Klik op de velden waar witte schijven moeten komen.
3. Plaats zwarte schijven − Klik op deze knop en voer de zwarte schijven in.

4. Plaats witte dammen −
Klik op deze knop en voer de witte dammen in.
5. Plaats zwarte dammen −
Klik op deze knop en voer de zwarte dammen in.
6. Wissel kleur aan zet
Verander de kleur die aan zet is van wit naar zwart of vice versa.

Klik nogmaals op een bezet veld om het weer leeg te maken.

De statusbalk
toont steeds de actuele informatie over de stelling.
Tijdens het opzetten zijn de meeste andere functies van het programma geblokkeerd.
Kies opniew menu
Bord > Opzetten om het opzetten af te sluiten.
De huidige partij wordt gewist!

Veldnummers weergeven

Kies Menu Bord > Veldnummers om de veldnummers (1 t/m 50) die worden gebruikt in de damnotatie weer te geven of om deze weer te verbergen.

Bord van Klembord FEN-string

Het is ook mogelijk een stand in te voeren door een zogenaamde FEN-string (uit het PDN-formaat) van het Windows klembord te “plakken” in DSBS. Selecteer bijvoorbeeld de volgende tekst:

        W:W47,48,49,50:BK3.

en kies menu Bord > Bord van Klembord FEN-string. DSBS zal de volgende stand tonen:


wit
aan zet

 

Spelen via het DGT elektronisch dambord

 

DSBS kan ook worden aangesloten op een DGT elektronisch dambord. Kies de menu-optie ‘E-bord > Verbinding maken’ die het volgende venster toont:

 

Als voor start locale server wordt gekozen, dan start DSBS de server zelf op (en sluit deze later middels een EXIT-commando ook weer af), en stuurt daarna meteen een COMx-commando naar de server. Als verbinding met een actieve server (op een andere computer) wordt gekozen dan moet deze (voordat op OK wordt geklikt) al draaien en wachten op verbinding met de client. Ook moet er reeds verbinding met het e-bord zijn gemaakt via de user interface; DSBS stuurt in dit geval geen COMx-commando.

 

Wanneer de verbinding tot stand is gekomen vraagt DSBS de actuele stand op het e-bord op, en er wordt bepaald (geprobeerd te bepalen) aan welke kant wit zit. Er wordt aangenomen dat wit aan zet is, in de beginstelling is dat sowieso het geval. Daarna wordt een ‘send update board’ commando naar de server gestuurd. Vanaf dat moment geeft het bord alle bordmutaties real time door. De stand van het complete bord wordt maar één keer opgevraagd, bij het maken van de verbinding. Daarna worden alleen nog mutaties doorgegeven. Tenslotte stuurt DSBS een beep en de tekst ‘hello’ naar de klok.

 

DSBS is nu klaar om te spelen en de gebruiker kan een partij beginnen door zijn eerste zet te doen (met wit), of DSBS laten beginnen. De (tussen)stand op het e-bord wordt automatisch getoond in een klein bord in een apart window. De actuele (correcte) partijstand staat op het grote bord.

 

 

 

Aan het begin van elke nieuwe partij wordt de kleur die aan zet is weergegeven in het display van de klok (‘white’ of ‘black’). Nadat de gebruiker een zet heeft gedaan en deze is herkend wordt de tekst ‘think’ weergegeven, totdat de computer een zet doet. Dan wordt deze weergegeven in het display, bijvoorbeeld ’19-23’ of ‘28x19’. Bij meerslagzetten wordt alleen het laatste veld weergegeven. Als een schijf promoveert tot dam dan staat er ‘K’ achter de zet. De gebruiker moet natuurlijk ook de zetten van de computer op het bord uitvoeren. Als dit correct wordt gedaan dan verdwijnt de zet van het display en wordt de tijd getoond, terwijl de gebruiker nadenkt over zijn volgende zet. Enzovoort. De gespeelde partij wordt door DSBS bijgehouden en kan na afloop als PDN bestand worden opgeslagen.

 

DSBS commando’s geven via het E-bord

 

De volgende commando’s zijn beschikbaar:

  1. Nieuwe partij met wit (vanuit de beginstelling):

    Zet
    eenvoudig de beginstelling op als deze nog niet op het bord staat. DSBS laat weten dat de beginstand herkend is door ‘white’ te tonen op het display van de DGT damklok, en tevens het audiosignaal voor nieuwe partij (ta-da-dóm) te laten horen, gevolgd door de kleur die aan zet is. Aan welke kant van het bord wit zit maakt niet uit. DSBS neemt de beginstelling over op het interne bord.
    Begin de partij door met wit de eerste zet te doen, óf:

  2. Nieuwe partij met zwart (vanuit de beginstelling):

    Alleen
    direct na 1. Neem de witte schijf op veld 46 weg en plaats deze weer terug. DSBS begint de partij door na te denken over zijn eerste zet met wit.
    De makkelijkste manier om een schijf weg te nemen en terug te plaatsen is door deze even opzij te schuiven buiten het bord of op een nabijgelegen wit veld – de witte velden worden niet gescand. Dit kan vrij snel achter elkaar, experimenteer hiermee.

  3. Een opgezette stelling uitspelen met kleur aan zet:

    Zet
    de stelling op en neem een willekeurig stuk, bij voorkeur een schijf, van de aan zet zijnde partij twee keer achter elkaar weg en plaats het weer terug op hetzelfde veld. Hiermee laat de gebruiker aan DSBS weten dat hij een nieuwe partij wil beginnen:
    -
    ten eerste: vanuit de huidige stand op het e-bord; er wordt zo goed mogelijk automatisch bepaald aan welke kant van het bord wit zit
    - ten tweede: de kleur van het stuk dat weg-en-terug bewogen is bepaalt welke kleur aan zet is
    DSBS reageert door de stand over te nemen op zijn interne bord en de kleur die aan zet is (‘white’ of ’black’) te displayen op de klok. Tevens wordt het audio-signaal voor nieuwe partij gegeven, gevolgd door de kleur die aan zet is.
    (Doe dit dus niet per ongeluk tijdens een partij; er kan daarna wel verder gespeeld worden maar de partij tot dan toe wordt gewist.) De gebruiker kan nu een zet doen met die kleur, óf:

  4. Een opgezette stelling uitspelen, tegenstander moet beginnen

    Alleen direct na 3: neem hetzelfde stuk nog een keer weg en plaats het weer terug, dus totaal 3x achter elkaar hetzelfde stuk en hetzelfde veld – de stand wordt hierdoor uiteindelijk immers niet gewijzigd. Er verschijnt ‘think’ op het display van de klok en de DSBS DXP-partner gaat nadenken over zijn eerste zet.

  5. Zet(ten) terugnemen

    Tijdens een partij kan elke eerdere stand uit de partij worden opgezet en vanaf dat moment weer verdergespeeld, met uitzondering van de beginstelling, dat betekent immers: nieuwe partij beginnen. Op deze manier kunnen dus één of meerdere zetten worden teruggenomen. Als DSBS een eerdere stand herkent dan laat hij dit weten door de kleur die aan zet is door te geven via de klok en via de audio. Als DSBS in die stelling aan zet is gaat hij automatisch nadenken (let dus op met de volgorde van terugzetten); als de gebruiker aan zet is kan hij een (andere) zet spelen. De partij tot dan toe blijft bewaard, de teruggenomen zetten worden gewist.

 

N.B. Telkens als een nieuwe partij wordt begonnen (vanuit de beginstelling of een opgezette stelling) wordt de vorige partij automatisch bewaard, d.w.z. toegevoegd aan het PDN-bestand E-bord.pdn in de map partijen.

Verder is het belangrijk één (complete) zet tegelijk te spelen, en bij voorkeur te wachten op bevestiging op de klok dat deze herkend is: ‘think’ na je eigen zet, of de tijd weer gedisplayed na het uitvoeren van de zet van DSBS op het bord. M.a.w. de correcte stand ná elke zet moet lang genoeg (een paar tienden van seconden) op het bord staan om door de elektronica te worden herkend. Bij een ruiltje is het verleidelijk om de twee zetten te snel of “tegelijk/door elkaar” te spelen. Bijvoorbeeld 37-31 26x37 42x31 door 37-31 te spelen en dan 26 en 42 weg te nemen. Dan raakt DSBS in de war.


Audio ondersteuning

DSBS kan ook audio-ondersteuning geven, d.w.z. de gespeelde zetten worden “voorgelezen”. Dit wordt automatisch ingeschakeld als wordt gespeeld via het elektronisch dambord, en weer uitgeschakeld als de verbinding met het bordt wordt verbroken. Desgewenst is deze optie handmatig aan en uit te zetten via Niveau > Instellen > Audio gebruiken.

Op dit moment wordt alleen Engelstalige audio ondersteund.

 

Vensters weergeven en verbergen

Behalve het bord en de damklok wordt standaard ook het Variant-venster getoond, met daarin de variant die volgens het programma het beste spel geeft voor beide partijen vanuit de huidige positie. Het Rekeninfo-venster, tenslotte, geeft desgewenst extra informatie over het rekenproces van DSBS.

Behalve het bord kunnen alle vensters via het Venster-menu (en de beschikbare Windows-vensterknoppen) worden gesloten en geopend.


PDN-formaat

DSBS ondersteunt het opslaan en inlezen van dampartijen in het standaard Portable Draughts Notation-formaat (versie 1.0), met de volgende beperking:

·         Er kunnen geen varianten op de partijzetten worden bewaard. Bij het inlezen worden deze genegeerd.

Eén PDN-bestand kan meerdere partijen bevatten. Indien dit het geval is zal DSBS bij het openen van het bestand een venster tonen om de gewenste partij te selecteren: