Parti database i Java

English version

Dette programmet vil virke på de utforskerne som støtter Java 1.1

Betingelse for nedlasting:
Hvis du lager en ny språkfil ser jeg helst at du sender den til meg slik at alle kan ha glede av den.

Forklaringer

 

Installasjon:

Liste over filene som må kopieres. (De andre filene som er i pakken er kun dokumentasjon).
Legges i program katalogen.
sjkbase.jar Programfiler
navbar.gif Navigasjonsknapper i programmet
brikker40.gif Brikkene med størrelse 40x40 pixel, taes med hvis den brukes.
brikker30.gif Brikkene med størrelse 30x30 pixel, taes med hvis den brukes.
Messages.txt Språkfil som brukes hvis ikke rett språk finnes.
Messages_XX.txt Språkfiler. se under
 
Legges der hvor programmet skal vises (Dette er eksempelfiler som redigeres).
sjkbase.html Eksempel på bruk som partidatabase.
problem.html Eksempel på bruk som sjakknøtt
pgnlist.txt Eksempel på en partiliste fil
test1.pgn Eksempel på partifil
test2.pgn Eksempel på partifil
comb1.txt Eksempel på oppgavefil i epd-format
comb2.txt Eksempel på oppgave i pgn-format
comb3.txt Eksempel på oppgave i modifisert fen-format

Språkfiler.

FilnavnSpråkDatoLagt av
Messages.txtEngelsk24 des. 98 
Messages_DE.txtTysk27 des. 98Manfred Rosenboom
Messages_ES.txtSpansk4 mai 00Iván Carrasco
Messages_FR.txtFransk11 jan. 00Max Thiercy
Messages_NL.txtNederlansk7 jan. 99Johan Voorberg
Messages_NO.txtNorsk24 des. 98 

Jeg har skilt mellom filer som skal ligge i programkatalogen (fellesfiler) og de filene som skal ligge i visningskatalogen (filer som endres av deg). Dette er for at du skal kunne ha flere databaser på hjemmesiden uten å kopiere programfilene til hver katalog. Det vil også gå raskere å få opp Applet'en andre gangen.
For å benytte deg av dette setter du inn codebase="programkatalog" i APPLET taggen. Får du ikke til dette legger du alt i samme katalog og kutter ut codebase taggen.

 

Problemer som kan oppstå:

 

Hjelpemidler

 

Innsetting i HTML filen (APPLET Taggen)

For visning av partidatabasen

    <APPLET CODE="Sjkbase.class" ARCHIVE="sjkbase.jar" WIDTH="" HEIGHT="">
      <PARAM NAME="Headline" VALUE="">
      <PARAM NAME="Filelist" VALUE="">
      <PARAM NAME="Pieces" VALUE="">
      <PARAM NAME="bgcolor" VALUE="">
      <PARAM NAME="Coordinate" VALUE="">
      <PARAM NAME="Quiz" VALUE="">
      <PARAM NAME="Language" VALUE="">
      <PARAM NAME="Country" VALUE="">
    </APPLET>

For visning av sjakknøttene

    <APPLET CODE="Problem.class" ARCHIVE="sjkbase.jar" WIDTH="" HEIGHT="">
      <PARAM NAME="Headline" VALUE="">
      <PARAM NAME="Filelist" VALUE="">
      <PARAM NAME="Pieces" VALUE="">
      <PARAM NAME="bgcolor" VALUE="">
      <PARAM NAME="Coordinate" VALUE="">
      <PARAM NAME="Language" VALUE="">
      <PARAM NAME="Country" VALUE="">
    </APPLET>
Forklaringer:
CODE=""
CODE angir hvor programmet skal starte. Denne kan ikke endres og må være Sjkbase.class for å vise partier og Problem.class for å vise sjakkoppgaver.

ARCHIVE="sjkbase.jar"
ARCHIVE angir arkivfil som inneholder alle programfilene, bildefiler etc.

WIDTH=""
WIDTH angir bredden på APPLET'en. Sett denne så stor at du får med det rammen til trekk/Kommentar vinduet. Ved brikker på 40x40 pixel kan 550 være en normal verdi her. Test med flere typer utforskere.

HEIGHT=""
HEIGHT angir høyden på APPLET'en. Hvis denne settes for liten vil knapperaden nederst spise litt av diagrammet. Ved brikker på 40x40 pixel kan 410 være en normal verdi her. Test også her med flere typer utforskere.

<PARAM NAME="Headline" VALUE="">
Navnet som skal vises øverst i bildet.

<PARAM NAME="Filelist" VALUE="">
Filnavn (url) på parti/problem filen.

<PARAM NAME="Pieces" VALUE="">
Navn (url) på brikkefilen.

<PARAM NAME="bgcolor" VALUE="">
Bakgrunnsfarge

<PARAM NAME="Coordinate" VALUE="">
Angir om diagrammet skal vises med koordinater. Mulige verdier er YES og NO.

<PARAM NAME="Quiz" VALUE="">
Angir om partiviseren skal vise neste trekk. Kan brukes hvis man skal gjette på neste trekk. Mulige verdier er YES og NO.

<PARAM NAME="Language" VALUE="">
Språk som skal brukes. (Se eget avsnitt)

<PARAM NAME="Country" VALUE="">
Land som språket blir brukt i. (Se eget avsnitt)

 

Brikker

Filformat: Transparent gif.
Høyde: Lik høyden på et felt på brettet.
Bredde: 12*høyden

Brikkene ligger etter hverandre i følgende rekkefølge:
Hvit bonde, hvit springer, hvit løper, hvit tårn, hvit dronning, hvit konge, sort bonde, sort springer, sort løper, sort tårn, sort dronning og sort konge.

Eksempel:
Eksempel på brikkefil

 

Definering av språk som støttes.

Java har metoder for automatisk støtte for språk med en språkkode (ISO 639) og en landskode (ISO 3166). For norge er dette hhv. "no" og "NO". I den fransktalende delen av Canada er disse kodene "fr" og "CA".

Da det er problemer med å få enkelte utforskere til å rapportere riktig språkkode kan denne utelates.

Når programmet starter prøver det å finne ut hvilket land du kommer fra og hvilket språk du bruker. Rekkefølgen på søkingen er:

Dette kan overstyres ved bruk av parametrene "Country" og "Language" i html-filen. Hvis disse er satt bruker dette til å hente inn rett oversettelsesfil. Filnavnet på oversettelses filen må være "Messages_xx_YY.txt", hvor xx er språkkoden og YY er landskoden. Finner den ikke noen slik fil brukes filen "Messages.txt"

Formatet på Message_xx_YY.txt filen er:

Nøkkel = Oversettelse
Ta en kopi av "Messages.txt" filene som følger med og gi den et nytt navn. Bruk en Tekst editor til å redigere filen.

(Programmet støtter også at filendelsen er properties. Det er dette som skal være standarden i Java, men ved test har det vært litt problemer med dette. ISP sender ikke over filen, Netscape sjekker ikke i arkivfilen ++. Så jeg har brukt txt som filendelse i eksemplene. Når/hvis dette støttes vil det medføre at programmet starter litt raskere.)

Hvis du lager en ny språkfil kan du jo sende den til meg så legger jeg den inn i pakken slik at andre kan ha glede av den. Min epost adresse er: malin@online.no

 

Endringer fra tidligere versjoner

09 nov. 1999
Rettet feil ved bondeforvandling.

24 des. 1998
Konvertert til Java 1.1
Bruker jar pakking istedet for cab/zip
Lagt inn mulighet for å ha flere språk
Endret bruken av paneler (vinduer).
Alle brikkene er lagt inn i samme gif-fil.
Støtter kort notasjon og kommentarer (også NAG) i pgn-filen.
Endret format på oppgavefiler.

28 jan.98
Startversjon. Bruker Java 1.0
Leser pgn og fen filer og viser dem på brett.

 

Partifil (pgnlist.txt)

Denne filen brukes av partidatabasen for å finne rett pgn-fil.
(Rediger denne for å legge inn egne pgnfiler).

Format:

Linje 1
Tekst som skal vises i vinduet når første pgn-filen velges.

Linje 2
navn på første pgn-fil

Linje n-1
Tekst som skal vises i vinduet når siste pgn-filen velges.

Linje n
navn på siste pgn-fil

PGN, EPD og FEN formatet er de formatene som har utviklet seg som en standard for utveksling av parti og diagram filer. De fleste nye sjakkprogram kan lese dette.
Forklaring av formatet kan hentes fra:
http://home.sol.no/~malin/sjakk/download/pgn.zip

 

Problemfiler

Brukes av sjakknøtter.
Det er mulig å bruke tre forskjellige formater på denne. Hver fil kan inneholde alle oppgavene.

PGN Format: (Eks. comb1.txt)
Diagrammet legges i Fen taggen som FEN format. Setup taggen må ha verdien 1.
Listeteksten legges inn i White og/eller Black taggen.
Oppgaveteksten legges inn som kommentarer før første trekk.
Løsningsteksten bli resten av partiet (trekk og kommentarer).

EPD Format: (Eks. comb2.txt)
Listeteksten legges inn i c0
Oppgaveteksten legges inn i c1
Løsningsteksten legges inn i c2, eventuelle trekk som ligger i pv legges til løsningsteksten.

Modifisert FEN format (Eks. comb3.txt)
Linje 1 må være <Title> (Betyr at neste linje er tittelen på oppgaven)
Linje 2 er teksten som skal vises i oppgave listen.
Linje 3 må være <FEN> (Betyr at neste linje inneholder et diagram i FEN format)
Linje 4 er diagramet i FEN format.
Linje 5 må være <Quiz> (Betyr at Oppgaveteksten starter på neste linje)
Linje 6 er oppgave teksten. (Kan gå over flere linjer)
Linje 7 må være <Answer> (Betyr at løsningsteksten starter på neste linje)
Linje 8 er løsningsteksten. (Kan gå over flere linjer)
Linje 9 er linje 1 for neste oppgave.

PGN, EPD og FEN formatet er de formatene som har utviklet seg som en standard for utveksling av parti og diagram filer. De fleste nye sjakkprogram kan lese dette.
Forklaring av formatet kan hentes fra:
http://home.sol.no/~malin/sjakk/download/pgn.zip

 

Eksempel på hjelpetekst

Det kan lages en liten hjelpetekst på samme side som programmet er.
Legg også til pekere til pgn-filene slik at de som ikke har utforskere som kan kjøre programmet har en mulighet til å laste ned partiene for gjennomsyn på eget program.
Knappene under brettet ligger i navbar.gif. Disse er også lagt med som enkeltfiler for bruk i eventuell hjelpetekst.
starten.gifTil starten på partiet.
dpilv.gifFem halvtrekk tilbake.
pilv.gifEt halvtrekk tilbake.
oppdater.gifOppdater brettet.
pilh.gifEt halvtrekk frem.
dpilh.gifFem halvtrekk frem.
slutten.gifTil slutten av partiet.
snu.gifSnu brettet.
quiz.gifQuiz mode.

 

Bruk av enkelte funksjoner i eget java program

Filen sjkbase.jar inneholder alle class filene som brukes. Dokumentasjon av disse finnes her.
For å bruke disse kan filen pakkes ut ev. inkluderes med Archive parametren til applet taggen.
Kildekoden kan også lastes ned her for de som vil se hvordan programmet fungerer.
Finner du feil (bug) i programmet så gi gjerne beskjed til meg.

 

Odd Gunnar Malin, 24 des. 1998

Epost: malin@online.no