Ero sivun ”Keskustelu:Shakkiaapinen” versioiden välillä

Poistettu sisältö Lisätty sisältö
Raimondo (keskustelu | muokkaukset)
arkistointi
Rivi 1:
Aiemmat keskustelut löytyvät sivulta [[/Keskusteluarkisto/]].
 
== Eri sivuilla olevien shakkilauta-mallineiden sisältövertailu ==
 
Pelipuussa ei saa olla useita sivuja samasta tilanteesta. Tämän vuoksi eri pelireittejä syntyvät samat pelitilanteet pitää linkittää yhteen. Näiden yhtenevien tilanteiden löytäminen käy kuitenkin sivumäärän kasvaessa hankalaksi.
 
Voiko jollakin konstilla automaattisesti vertailla kaikkien Pelipuu-luokkaan kuuluvien sivujen shakkilautamallineidensisältöjen yhtenevyyksiä nimettyyn sivuun verrattuna niin, että vastaukseksi saataisiin sivut, joilla on yhtenevät shakkilauta-mallineiden sisällöt?
 
[[Käyttäjä:Raimondo|Raimondo]] 21. heinäkuuta 2007 kello 21.18 (UTC)
 
:Uskoisin, että botti pystyy etsimään yhtenevät mallineet. En kuitenkaan tunne bottisysteemejä tarpeeksi. kts. [[Keskustelu käyttäjästä:Mzlla]] -[[Käyttäjä:TeemuN|TeemuN]] 29. heinäkuuta 2007 kello 13.44 (UTC)
 
::Koska [[Keskustelu käyttäjästä:Mzlla|Mzllaaa]] ei kuulemma ole aikoihin näkynyt Wikipediassa, linkitin äsken nämä haaveeni sivulla [[w:Wikipedia:Botit/pyynnöt#Botti ja mallineiden sisältöjen vertailu]] aloittamaasi keskusteluun ja jatkan päiväuniani sielä. [[Käyttäjä:Raimondo|Raimondo]] 19. elokuuta 2007 kello 08.00 (UTC)
 
==Shakkiaapinen jaetaan useammaksi osaksi==
 
Koska tuon nyt Shakkiaapiseen sisältyvän pelipuun toteutusongelmat pitävät koko kirjaa keskeneräisenä, irroitetaan se omaksi avausteoriaa käsitteleväksi kirjaksi ja samalla shakkiaapisesta poistetaan myös muut täysin aloittamattomien osien otsikot. Sen jälkeen shakkiaapisen ytimestä muokataan kaikille vasta-alkajille suunnattu itseopiskeluun ja koulujen kerhokursseille soveltuva starttipaketti. --[[Käyttäjä:Raimondo|Raimondo]] 28. syyskuuta 2008 kello 07.31 (UTC)
----
:Tuo muutosoperaatio on nyt tehty niin, että pelipuun sisältävä avausteorian osa jäi vielä henkiin myöhemmin täydennettäväksi ja siihen pääsee esimerkiksi Shakkiaapisen sivun [[Shakkiaapinen/Avaus]] linkistä
Katso myös
* [[Shakkiaapinen/Avausteoria]] (Työnalla]
:Sivotaan sitä myöhemmin kunhan se pelipuuhun liittyvä pulma selvenee. --[[Käyttäjä:Raimondo|Raimondo]] 30. syyskuuta 2008 kello 11.30 (UTC)
----
::Hei! Valitettavasti kirjan osan irroittaminen omaksi kirjakseen vaatii jokaisen sivun siirtämistä uudelle nimelle. Sivujen sisältöön ei tarvitse kajota, koska linkit on tehty <nowiki>[[/alasivu/]]</nowiki> -tyylisesti (ainakin pikaisen vilkaisun perusteella). Myös [[:Luokka:Pelipuu|pelipuu]]-luokka auttaa tässä. Luultavasti tuo siirto onnistuu automatisoidusti botin avulla, nyt kun Wikikirjastossa sellainen on: [[Keskustelu Wikikirjastosta:Ylläpitäjät/Pyynnöt]]. Hämmästyttävän laajan oppaan olet jaksanut kirjoittaa, täytyy nostaa virtuaalista hattua. -[[Käyttäjä:TeemuN|TeemuN]] 4. lokakuuta 2008 kello 19.14 (UTC)
----
::::Kiitos vinkistä! Täytyy pyytää apua asiaan "bottipalvelusta"!
----
:::Opashan on niin wonderfull, että sellainenkin, joka ei tiedä shakista mitään, voi nousta kovaksi pelaajaksi :D —[[Käyttäjä:Luontopoika|luontopoika]] <small>[[Keskustelu käyttäjästä:Luontopoika|₧]]</small> 5. lokakuuta 2008 kello 05.14 (UTC)
----
::::Kiva juttu, jos tämä sivusto herättää mielenkiintoa. Työmaata on vain niin mahdottomasti, että olisi kiva löytää tänne lisää puuhamiehiä. Wikipediassa olevaa käyttäjäsivuasi vilkaistuani totesin, että esimerkiksi sinä olisit erinomainen täydennys joukkoon. Nyt kun tuo pelipuuosio saadaan irti Shakkiaapisesta omaksi avausteorian kirjaksi, niin sitä voisi alkaa muokkaamaan vaikka isompikin joukko. Pelipuun sivuja on jo linkitetty kielilinkeillä vastaavan rakenteiseen en-sivustoon, josta saisi kääntämällä nopeasti kirjaan lisää sisältöä. Muutenkin sivustoa voisi muokata rakenteeltaan vielä enemmän en-sivua vastaavaksi (tai sitten pitäisi lähteä ihan uuteen suuntaan eli FEN-koodipohjaiseen sivujen niemeämiseen). Samoin suomenkielisessä Wikipediassa Shakki-projekti on kehittänyt voimakkaasti avausteoriaan liittyviä sivustoja, joita voi linkittää pelipuun lisätietolehdiksi. Jatkopuuhissa tarvittaisiin varmaan vielä useammankin kerran myös bottien apuja, joten tätäkin tekniikkaa olisi tässä mahdollista treenata formaalisti suhteellisen selkeässä ympäristössä. Jatketaan tästä aiheesta juttua vielä tarkemmin myöhemmin tuossa tulevassa avausteorian kirjassa sitten kun se on saatu leikattua irti tästä Shakkiaapisesta. Itse en ehdi kovinpaljon tämän loppuvuoden aikana panostaa tänne wikikirjastoon, koska lähdin avustamaan Verkko-opistoon kehitteillä olevia nettishakkikursseja. Tarkoituksena niissä on hyödyntää myös kaikea wikimedioiden shakkiaineistoja mahdollisimman paljon. Senkin vuoksi olisi erinomaista, jos tänne ilmaatuisi lisää puuhamiehiä, jotta eri paikoissa tehtävät puuhat saataisiin täydentämään saumattomasti toisiaan. Toivottavasti innostut tulemaan puuhaan mukaan ja vielä parempi, jos saat värvättyä tänne enemmänkin muokkaajia! --[[Käyttäjä:Raimondo|Raimondo]] 5. lokakuuta 2008 kello 12.08 (UTC)
----
Hei, olet(te)ko ajatellut yleisteosmaisen Shakki-kirjan aloittamista ja että vaikkapa avausteoria olisi sitten tämän kirjan yksi kappale, siis Shakki/Avausteoria? Saattaisiko joskus olla tarkoitus kirjoittaa muista aiheista kuin avauksesta? Shakkiaapinen jäisi sitten johdatukseksi aiheeseen. En ole perehtynyt shakkiin mutta voin konsultoida ja avustaa teknistä toteutusta, ja opiskella samalla itsekin. --[[Käyttäjä:Usp|Usp]] 5. lokakuuta 2008 kello 14.33 (UTC)
----
:Joo, ehkä sittenkin noita osia on parasta käsitellä erillisinä luokkaan shakki luokiteltuina kirjoina, kun ei oikein ole näköpiirissä resursseja, jotka kaikki osat jossakin kohtuullisessa aikataulussa tuottaisivat. Itseasiassa tuo nykyinen Shakkiaapisen rakenne taitaa olla tuollainen yleisteosmainen, jonka toivoisin nyt purettavaksi. Asiaa on ehkä parempi selventää tuon en-projektisivun kautta http://en.wikibooks.org/wiki/Wikibooks:Chess . Nykyisen Shakkiaapisen rakenne sisältää kaksi en-puolen kirjaa: [[en:Chess]] ja [[en:Opening theory in chess]] ja nyt toiveena on, että ne erotetaan toiosistaan niin, että pelipuuosasta, jota on jo linkitetty kielilinkeillä kirjaan [[en:Opening theory in chess]] tulee erillinen kirja ja jäljellä olevasta shakkiaapisesta tulee lähinnä kirjan [[en:Chess]] suomenkielinen vastine. Olisko mahdollista, että toteuttaisit sillä botillasi tuon leikkausoperaation, jotta sen alkuosan voisi siistiä mahdollisimman pian käyttökuntoon ja avausteoriaosan jatkokehityksen voisi lykätä hiukan tuonnemmaksi ellet itse aktivoituisi sen virittelyyn, mikä tietysti olisi tosi hieno juttu! Tässä tapauksessa voisimme käydä vielä vähän pidemmällekin menevää ideointikeskustelua. --[[Käyttäjä:Raimondo|Raimondo]] 5. lokakuuta 2008 kello 18.52 (UTC)
----
::Siis ulkopuolisesta vaikuttaisi loogisimmalta, että Shakkiaapinen olisi aloittelijalle suunnattu paketti, kuten on aikomuskin, mutta että avausteoriasta ei tehtäisi erillistä kirjaa vaan se siirrettäisiin edistyneelle suunnattuun shakin "perusteokseen", Shakki, yhdeksi kappaleeksi, vaikka aivan lähiaikoina esim. keskivaiheista ja loppupelistä ei tulisikaan vastaavaa tietopakettia.
::Toiseksi, jos alkuteorialle ei nyt riitä huomiota, kannattaisiko se leikata irti vain poistamalla linkitys siihen ja sitten kun aapinen on valmis palata asiaan. Aapisenhan voi siistiä vaikka jättäisi pelipuun ensiselleen. Ja näin on taidettu tehdäkin.
::Kolmanneksi, mitkä ovat "Shakkiaapiseen sisältyvän pelipuun toteutusongelmat"?
::Neljänneksi mitä olette mieltä keskustelujen selkeyttämistä väliviivalla (saadaan neljällä väliviivalla). --[[Käyttäjä:Usp|Usp]] 5. lokakuuta 2008 kello 22.10 (UTC)
----
:::Jep, väliviiva selkeyttää ja voin myös tarkistaa kantaani ja myöntyä kaikkiin esittämiisi näkemyksiin. Aloitan tuosta pelipuun ongelmista uuden aiheen. --[[Käyttäjä:Raimondo|Raimondo]] 6. lokakuuta 2008 kello 12.12 (UTC)
 
==Pelipuuhun liittyviä ongelmia==
# Hierarginen sivunimi kasvaa siirtosekvenssin jatkuessa turhan pitkäksi.
# Erilaiset avaukset transponoituvat usein toisikseen ja ne pitäisi pelipuussa yhdistää (edelleenohjauksilla). Samojen peliasemien tunnistaminen eri pelipuun haaroissa on kuitenkin ainakin selailun ja visuaalisen tarkastelun perusteella varsin työlästä ja virhealtista.
# Näin toteutetua pelipuuta ei voi rakentaa "latvasta käsin" eli siihen ei voi littää tietystä asemasta lähteviä esimerkkejä, jotka vasta myöhemmin liittyvät puuhun.
'''Alustavia ongelman ratkaisuideoita'''
Ongelman ratkaisu voitaisiin perustaa sihen, että kaikki mahdolliset shakkipelin asemat voidaan esittää yksiselitteisesti FEN-koodilla. Tällöin voisi ajatella esim. seuraavia ratkaisuvaihtoehtoja:
# Säilytetään pelipuun nykyinen alasivuhierargiaan perustuva puurakenne ja kehitetään botti, joka tutkii onko pelipuussa jo ehdotettua uutta sivua vastaavaa asemaa ja tekee uuden sivun asemasta uudelleen ohjauksen olemassa olevalle sivulle. (Wikimedioissa on jo shakkilautamallineita, jotka tuottavat osittaisen FEN-koodin shakkilautamallineen esitämästä asemasta. Netistä löytyy myös ohjelmia, jotka tuottavat Wikimedioiden shakkilautamallineen ohjelmalle syötetystä FEN-koodista.) Tässä ratkaisuvaihtoehdossa saattaisi olla parasta, että botti saisi syötteenä tietyn sivun osoitteen ja seuraavan siirron pgn-notaatiossa sekä tuottaisi tästä FEN-koodin sekä sivule sijoitettavan shakkilautamallineen. Jos FEN-koodi sisällytetäisiin mallineeseen, niin vastaavan sivun löytäminen botin avulla tulisi helpommaksi, kuin shakkilautamallineita itsessään vertailemalla. Tämä vaihtoehto ratkaisisi kuitenkin vain tuon toiseksi mainitun ongelman.
# Nimetään pelipuusivut FEN-koodeilla (tai niistä johdetuilla sivujen nimillä). Tällöin Wikimedioiden sisään rakennettu mekanismi linkittäisi haarat automaattisesti yhteen, jos pelipuussa on jo saman niminen sivu. Tässä vaihtoehdossa mietityttää se, että FEN-koodiin sisältyy kauttaviivoja, jotka tulkitaan kaiketi alaivuhierargiaksi. Ehkä siitä ei kuitenkaan aiheutuisi mitään varsinaista toiminnallista haittaa, koska kaikki koodit vastaisivat vain yhtä yksiselitteistä pelipuun asemaa. Tämmöinen ratkaisu olisi kuitenkin ainakin manuaalisilla menetelmillä melko mahdotonta hallita. Siksi FEN-koodit pitäisi ehkä muuttaa "Fen-nimiksi" korvaamalla koodin kauttaviivat esim. puolipisteillä. Tällöin kaikki pelipuun sivut voisivat olla pelipuun juurisivun suoria alasivuja ja kahden samaa asemaa vastaavan sivun luominen olisi automaattisesti estetty. Tämä vaihtoehto ratkaisee kaikki edellä luettelemani pulmat. Täten siihen voi lisätä myös tietystä asemasta alkavia esimerkkejä, vaikka puussa ei vielä olisi oksastoa ko.asemaan saakka valmiina. Tälläinen "ilmassa leijuva" latvus linkittyy muuhun puuhun siinä vaiheessa ilman ongelmia, kun oksasto kasvaa ko.asemaan saakka.
 
Tuossa taisi olla tiivistetynä se mitä olen asiasta ehtinyt ajatella. Tuo toinen vaihtoehto miellyttäisi ainakin minua enemmän. Se tukisi myös sitä, että avausten lisäksi keski ja loppupelien tietyistä asemista lähtevät esimerkit voitaisiin sisällyttää samaan rakenteeseen ilman, että olisi mitään pelkoa sivunimikonflikteista. Tämä tukisi samalla myös tuota yleisteosideaasi. --[[Käyttäjä:Raimondo|Raimondo]] 6. lokakuuta 2008 kello 12.12 (UTC)
----
:Tarkoitin, että väliviivalla erotetaan eri käyttäjien kommentit toisistaan, ei niinkään jaeta yksittäisiä kommentteja osiin.
:Hmm, eli ongelmana on siis kehittää menenetelmä, jolla Mediawiki taipuu potentiaalisesti kaikkien mahdollisten shakkipelien esittämiseen. Lukaisin, mitä FEN:istä Fikipediassa sanotaan, sen enempää en ole perehtynyt. Olisiko siis tarkoitus, että vain nappuloiden paikkaa ilmoittavista FEN-koodeista tulisi sivu? FEN-nimi vaikuttaa järkevältä, koska FEN-koodissa kauttaviivalla ei ole mitään hierarkista merkitystä. (Ulkopuolisesta tässä tilanteessa muuten vaikuttaisi kätevimmältä, jos kaikki tyhjät merkittäisiin vaikkapa 0:lla jolloin jokainen koodi olisi samanpituinen.)
:Pitemmälläkin tähtäimellä onko siis tarkoitus, että yksittäisten tilannesivujen osalta ei välitetä siitä mistä tullaan ja mihin ollaan menossa eli yhtä nappuloiden asentoa vastaa vain yksi sivu? Ja että tällä yhdellä sivulla käsitellään kaikki kyseiseiseen tilanteeseen johtaneet pelit ja seuraavat siirrot? Miten FEN-vaihtoehdossa olisi tarkoitus hoitaa navigaatio siirrosta toiseen eli pelipuurakenne, kun kaikki tilanteet ovat samalla hierarkiatasolla?
 
:Onko muuten englanninkielisessä kirjastossa käyty keskustelua aiheesta, oletko seurannut? --[[Käyttäjä:Usp|Usp]] 6. lokakuuta 2008 kello 17.51 (UTC)
----
::Juu, ajatus kulkee suurinpiirtein juuri noin, kuten kuvasit, sillä tasmennyksellä, että nappuloiden paikan lisäksi peliasemaan sisältyy vielä siirtovuorotieto (kumpi on siirtovuorossa), linnoitusoikeustieto (pelin alussa molemmilla molempiin suuntiin), ohestalyöntioikeus (voimassa seuraavalla vain siirrolla vastustajan tullessa kaksoisaskeleella oman sotilaan rinnalle), jotka pitäisi koodista ottaa mukaan sivua edustavaan asemaan. Sensijaan siirtonumerot voidaan (=pitää) jättää pois, jotta pelillisesti eri haaroista samaan asemaan tulevat haarat voidaan yhdistää ja jatkaa yhteisten ideoitten mukaan eteenpäin.
::Navigointi toteutettaisiin visuaalisesti samalla idealla kuin nytkin, eli kullakin sivulla on esitety seuraavat siirrot PGN-notaation mukaisilla siirtomerkinöillä ja nuo vähemmän visuaalista informaatiota sisältävät FEN-nimet on piilotettu niiden taakse todellisiksi linkleiksi. Näin pelipuuta navigoitaisiin eteenpäin samalla idealla, kuin nytkin. Tämän lisäksi sivulla pitäisi olla vastaava paluulinkki (tai useita paluulinkkejä, jos sivu on transponoitumispiste) edellistä asemaa vastaavalle sivulle.
::Jos osaisin ohjelmoida botteja, tekisin siitä seuraavan kuvauksen mukaisen myllyn. Botin syötteeksi annettaisiin pgn-tiedosto ja boti tuottaisi pelin jokaisesta sellaisesta asemasta, mitä ei vielä pelipuussa ole uudet FEN-koodeilla nimetyt sivut, sijoitaisi niiden sisällöiksi asemia vastaavat shakkilautamallineet sekä kullekin sivulle linklit edellisille ja seuraaville sivuille. kunkin sivun tekstiosaan tulisi pgn-koodiin kyseiseen asemaan mahdollisesti liitetyt kommentit sivun tekstiosan sisällön raakamateriaaliksi. Botti kävisi vastaavasti läpi myös kaikki ne peliin liittyvät sivut, jotka jo olisivat olemassa ja liittäisi niile vain tarvittavat navigointilinkkien täydennykset ja mahdolliset koodissa olevat sivuun liittyvät kommentit. Pelin viimeistä asemaa vastaavalle sivulle sijoittaisin vielä vaikka avautuvaan mallineeseen kyseisen pelin pgn-tiedoston sellaisenaan. Vaihtoehtoisesti viimeisellä sivulla voisi olla linkki Wikimedia Commonsiin talletettuun pgn-tiedostoon, jos sinne voi talletaa muitakin tiedostotyyppejä, kuin kuvia. Tämä olisi hieno juttu, koska se mahdollistaisi pelin kopioimisen sieltä selattavksi oman koneen shakkiohjelmaan.
::PGN-tiedostoihin voidaan sisällyttää myös variaatioita, joten botin pitäisi käsitellä myös kaikki koodiin sisällytetyt variaatiot. Samoin pgn-koodiin voi sisältyä myös FEN-koodilla ilmoitettu alkuasema ja sama botti voi siten hoitaa myös keski- ja loppupelien esimerkkitapaukset.
::Tämmöiseen pelipuuhun voidaan apunavigointikeinoiksi kehittää myös ECO-koodien ja avausten nimien mukaisia hakemistoja, jotka voidaan päivittää ainakin alkuvaiheessa käsityönä.
::Sen jälkeen kun pelipuu on herännyt henkiin, voisi sitä linkittää hyödyllisellä tavalla molempiin suuntiin myös wikipedian shakkiartikkelien kanssa. Tänne kirjaston puolelle sieltä saataisiin syventäviä taustatietoja ja tietosanakirjan puolelle saataisiin täältä tarkempia pelisekvenssien kuvauksia ja peliohjeita (joita tietosanakirjassa karsastetaan).
::Mikäli edelläkuvatun suuntainen botti syntyy, niin näille pelipuusivuille pitäisi varmaan tehdä selvä määrämuotoinen rakenne, jossa olisi erotettu toisistaan botilla ylläpidettävät vakiomuotoiset osat ja tavallisen muokkaajan työstettävissä oleva tekstiosa. Tästä tekstiosasta botin ei tarvitsisi välittää mitään muuta, kuin työntää sinne jonkun botti-otsikon alle uusia peleistä poimittuja kommentteja tavallisten muokkaajien toimesta tekstiin sulatettavaksi ja/tai deletoitavaksi.
::Jotakin FEN-koodeihin liittyvää keskustelua muistaakseni myös en-puolella on joskus käyty, mutta en paneutunut siihen silloin tarkemmin. Sä varmaan osaat kaivaa ne esiin jostakin. --[[Käyttäjä:Raimondo|Raimondo]] 6. lokakuuta 2008 kello 19.37 (UTC)
 
==Toteutuksen ideointia==
:::Sorvaisitko esimerkin, vaikkapa nimelle [[Shakkiaapinen/Pelipohja]], jossa on kaikki edellä mainitsemasi asiat? Se helpottaisi huomattavasti asian hahmottamista. --[[Käyttäjä:Usp|Usp]] 7. lokakuuta 2008 kello 15.21 (UTC)
----
::::Nyt siinä linkissä on visuaalinen karvalakkiversio sivusta. Ei kovin hyvä, kun en oikein hallitse noita taulukoita, mutta idea olisi se, että sivun tekstiosan yläpuolella tai miksei myös sivulle vapaasti aseteltavissa olevassa mallineessa olisi kolme palstaa: 1) asemaan johtaneiden siirtojen lista, joissa olevilla linkeillä palataan edellisiin vaihtoehtoisiin asemiin, 2) nykyinen aema visuaalisena kuvana ja 3) seuraavien vaihtoehtoisten siirtojen lista, joissa olevilla linkeillä edetään seuraaviin asemiin. --[[Käyttäjä:Raimondo|Raimondo]] 7. lokakuuta 2008 kello 17.35 (UTC)
----
:::::Minkä kieliset FEN-nimet sivujen nimiksi? Oletko tavannut, jossain FEN-nimiä ja jos niin miten ne on muodostettu? --[[Käyttäjä:Usp|Usp]] 8. lokakuuta 2008 kello 05.21 (UTC)
----
::::::Olisin taipuvainen pitäytymään näissä siirtomerkinnöissä vain PGN- ja FEN-notaatioihin ja unohtaisin kokonaan ainakin aluksi shakkimerkintöjen kieliversiot, koska pelejä näissä notaatioissa löytyy runsaasti netisssä olevista tietokannoista ja myös siksi, että näin tämä botin hallitsema osa sivusta olisi käypää tavaraa kaikilla kielillä. Eri kieliversioissa tarvitsisi muuttaa vain tekstiosan kommentit. Toisaalta tuo PGN-notaatiohan vastaa englanninkielistä lyhyttä algebrallista notaatiota, joten jolakin optiovirittelyllä sen saattaisi saada helposti näkymään eri kielisillä nappulatunnuksilla, mikäli se koetaan tarpeelliseksi. FEN-koodista en tiedä olevan kieliversioita. Tuon FEN-nimen otin hatusta erotukseksi FEN-koodista ja ajattelin, että se olisi tuotettu koodista mahdollisimman vähäisin muutoksin jättämällä vain koodin lopusta pois siirtomäärälaskurit ja vaihtamalla kauttaviivat johonkin toiseen merkkiin. Tämä helpottaisi manuaalista työskentelyä eli sivun yhdistämistä johonkin FEN-koodiin, jotta voitaisiin päästä bottia herättämättä tietyn FEN-koodin sisältävää lähdettä vastaavalle pelipuun sivulle muokkaamaan kommentitekstejä.
 
::::::Mietin vielä lisää myös tuota sivun rakennetta ja ajatus kehittyi seuraavalla tavalla. Koska kullekkin sivulle tullaa useimmissa tapauksissa vai yhdeltä edeltävältä sivulta (muulloinkin vai muutamalta), ensimmäisen sarakkeen voisi korvata hierarkkisen sivuston [http://en.wikibooks.org/wiki/Opening_theory_in_chess/1._d4/1...d5/2._c4/2...dxc4] paluulinkkilistaa vastaavalla ja näköisellä listalla. Jos sivulle tullaa useista haaroista, niin listoja voisi olla alekkain useampia. Näin Shakkilautamalline siirtyisi sivun vasempaan reunaan ja sen oikealla puolellaolisi seuraavien siirtojen valikko. Tämä valikko taas voisi olla eo. linkistä näkyvällä esimerkkisivulla olevan teoriataulukon muotoinen ja botti osaisi varmasti tehdä siirtolinkit taulukon kaikiin ruutuihin. Näin navigoinnissa voitaisiin taulukon avulla edetä haluttaessa useampikin askel halutun haaran suntaan ja vastaavasti myös useamman askeleen paluu olisi mahdollista paluulinkkilistojen avulla.
 
::::::Semoinen tarkennus vielä, että noissa shakkilautamallineissa oleva pelkästään nappuloiden sijainnista laskettu FEN-koodi ei ole vielä riittävä peliaseman tunnistus, kuten aiemmin on ollut esillä. --[[Käyttäjä:Raimondo|Raimondo]] 8. lokakuuta 2008 kello 07.27 (UTC).
 
::::::Muokkasin sivua [[Shakkiaapinen/Pelipohja]] nyt vähän tähän suuntaan ja samalla täsmensin noita FEN-koodeja/FEN-nimiä. --[[Käyttäjä:Raimondo|Raimondo]] 8. lokakuuta 2008 kello 09.14 (UTC)
----
:::::::FEN-koodin kieliversiolla tarkoitin sitä, mikä kirjain kuvaa mitäkin nappulaa, onko kuningatar D vai Q. Eli käytetäänkö kaikissa merkinnöissä englantilaisia lyhenteitä? Voisitko lisätä/kertoa, vaikka Wikipedian artikkeliin ([[w:Shakkisiirtojen merkintätavat]]) seikkaperäisemmän selvityksen FEN-koodin loppuosan merkinnöistä? Varsinkin siinä mielessä, mitä kaikkea siinä voi olla. --[[Käyttäjä:Usp|Usp]] 10. lokakuuta 2008 kello 05.27 (UTC)
 
----
::::::::Mulla on sellainen luulo, ettei FEN-koodista ole kieliversioita eli nappuloista käytetään vain englanninkielisiä nappulasymbooleja samoin kuin pgn-koodissa, jotka molemmat on tarkoitetu sekä tietokoneita etä ihmisiä varten. Lisää tietoa asiasta löytyy esim. Chessgames.com -tietokannan sivuilta [http://www.chessgames.com/fenhelp.html] ja en-wikipedian FEN-koodin kuvaussivulta [http://en.wikipedia.org/wiki/Forsyth-Edwards_Notation]. Jälkimmäisessä esitellään myös FEN-koodin kuusi kenttää, joista neljä ensimmäistä pitäisi minun mielestäni ottaa mukaan siihen FEN-nimeen. Sen sijaan kaksi viimeistä eli "Halfmove clock" ja "Fullmove number" taas pitäisi jättää siitä pois. --[[Käyttäjä:Raimondo|Raimondo]] 10. lokakuuta 2008 kello 17.19 (UTC)
----
:::::::::Tarkoitan siis kieliversiolla lähinnä algebrallista merkintää, josta on tässä Aapisessa käytössä ilmeisesti suomenkieliset merkit. Aloitin hiekkalaatikon [[Shakkiaapinen/Hiekkalaatikko]] ja siihen FEN-nimestä. --[[Käyttäjä:Usp|Usp]] 10. lokakuuta 2008 kello 20.18 (UTC)
----
::::::::::OK! Puhuimme eri asioista. Tähän mennessä käytössä on ollut lyhyt algebrallinen merkintä suomenkielisillä nappulatunnuksilla, kuten arvelit. Minä puhuin uudesta toteutuksesta ja siihen liittyen pgn- ja FEN-koodeistä, jotka kannattaisi ilmeisesti ottaa uuden peliselainmallineen ja botin kehityksen perustaksi. Ajattelin jopa sitä, että siirtyisimme tekstiosassakin suomenkielisestä notaatiosta englanninkieliseen algebralliseen notaatioon, joka vastaa suoraan pgn-koodia. Ehkä ajatus ei sittenkään ole kovin hyvä, koska Wikipedian avausartikkeleisa kuitenkin käytetään algebrallisen notaation suomenkielistä versiota, mutta jatketaan syvemmälle menevää juttua tästä aiheesta tuon perustamasi [[Shakkiaapinen/Hiekkalaatikko|hiekkalaatikon]] keskustelusivulla. --[[Käyttäjä:Raimondo|Raimondo]] 11. lokakuuta 2008 kello 18.31 (UTC)
 
== Esimerkki ==
 
Nyt voisi jo varmaan tehdä todellisen esimerkin yhdestä pelistä. Sen voisi jo kaiketi laittaa nimelle Shakki/xxx. --[[Käyttäjä:Usp|Usp]] 12. lokakuuta 2008 kello 08.03 (UTC)
----
:Eli tarkoittanet, että kopioitaisiin [[Shakkiaapinen/Pelipohja]] rakennetta esimerkkipelin verran ja katsottaisiin miten se toimisi pelipuun ituna? Tuo xxx tarkoitanee alkuasemaa vastaavaa FEN-nimeä ja esimerkkkipeliksi kai kelpaisi sivulla [[Keskustelu:Shakkiaapinen/Hiekkalaatikko]] oleva esimerkki. --[[Käyttäjä:Raimondo|Raimondo]] 12. lokakuuta 2008 kello 15.57 (UTC)
 
<Siiirretty sivulta "Keskustelu:Shakkiaapinen/Hiekkalaatikko">
===Pelipohjasta===
Tallensin äsken pelipohjan edellisen version keskustelusivun alasivulle arkistoon ja pyyhkäisin siten [[Shakkiaapinen/Pelipohja]]sta ylimääräiset tekstit pois ja lopputulos näytti ainakin minun silmiini hyvin toimivalta ja selkeältä rakenteelta. Olisi todella mahtava juttu, jos kehittäisit tässä kaavailemamme botin, jolla kunkin sivun alkuun saataisiin automaattisesti generoitua pelipohjan visuaalisen yleisilmeen mukainen peliselainmalline ja sivun alareunan botti-otsikon alle peleistä asemaan mahdollisesti kopioidut kommentit. Kunkin pelin pgn-koodiin liittyvät tunnistetiedot tai koko pelin pgn-koodi voisi kopooida peliä vastaavan oksan viimeiselle lehdelle (koodin vaihtoehtona voisi olla linkki kyseiden pelin mualle talletettuun pgn-koodiin). --[[Käyttäjä:Raimondo|Raimondo]] 11. lokakuuta 2008 kello 19.23 (UTC)
 
===Kieliversioista===
Nyt kun tuota [[Shakkiaapinen/Pelipohja|pelipohjaa]] katseli, niin en oikei osannut ottaa kantaa siihen, pitäisikö nappulatunnukset näkyä suomenkielisinä vai englanninkielisinä. Työnalla olevan botin ja selainmallineen syötteenä on joka tapauksessa pgn-tiedostot, joissa käytetään englanninkielisiä nappulatunnuksia. Wikipedian avausartikkeleissa taas, joiden kanssa jatkossa tätä pelipuuta linkitetäänn todenäköisesti molempiin suuntiin käytetään suomenkielistä algebrallista notaatiota. Joissakin shakkikirjoissa käytetään nappuloista kuvafontteja, jotka ovat visuaalisesti kieliriippumattomia vaikka niiden alla onkin englanninkieliset tunnuskirjaimet. Yksi mahdollisuun kaiketi olisi liittää peliselainmallineeseen kieliparametri, jolla visuaalisen ilmiasun voisi vaihtaa halutulle kielelle, vaikka tunnuskirjaimet olisivat englanninkielisiä. Tähän olisi varmaan hyvä saada vähän muidenkin mielipiteitä. Pyydettäiskö [[w:Keskustelu_Wikipediasta:Wikiprojekti_Shakki|wikipedian shakkiprojektia]] kommentoimaan asiaa? --[[Käyttäjä:Raimondo|Raimondo]] 11. lokakuuta 2008 kello 20.44 (UTC)
 
:Joo, toi raimondo osaa varmaan sanoja jotain rakentavaa.:) Itse kannatan vahvasti yleismaailmallisia. --[[Käyttäjä:Usp|Usp]] 12. lokakuuta 2008 kello 08.06 (UTC)
 
===Nappulaosan merkeistä===
Nappulatunnuskirjaimia on sekä isoja että pieniä. Sillä erotetaan onko nappula musta vai valkoinen.
 
Seuraavassa on esimerkkinä pieni pätkä peliä PGN-notaatiolla ja sen jälkeen vastaava FEN-koodisekvenssi.
 
====Esimerkkipeli PGN-notaatiolla====
[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "*"]
[ChessCat "CHESSCAT 1.0"]
[PlyCount "9"]
1. d4 d5 2. Nc3 Nf6 3. Nf3 e6 4. e3 c5 5. Bd2 *
 
====Vastaavan pelin FEN-koodi sekvenssi====
 
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq d3 0 1
rnbqkbnr/ppp1pppp/8/3p4/3P4/8/PPP1PPPP/RNBQKBNR w KQkq d6 0 1
rnbqkbnr/ppp1pppp/8/3p4/3P4/2N5/PPP1PPPP/R1BQKBNR b KQkq - 1 2
rnbqkb1r/ppp1pppp/5n2/3p4/3P4/2N5/PPP1PPPP/R1BQKBNR w KQkq - 2 2
rnbqkb1r/ppp1pppp/5n2/3p4/3P4/2N2N2/PPP1PPPP/R1BQKB1R b KQkq - 3 3
rnbqkb1r/ppp2ppp/4pn2/3p4/3P4/2N2N2/PPP1PPPP/R1BQKB1R w KQkq - 0 3
rnbqkb1r/ppp2ppp/4pn2/3p4/3P4/2N1PN2/PPP2PPP/R1BQKB1R b KQkq - 0 4
rnbqkb1r/pp3ppp/4pn2/2pp4/3P4/2N1PN2/PPP2PPP/R1BQKB1R w KQkq c6 0 4
rnbqkb1r/pp3ppp/4pn2/2pp4/3P4/2N1PN2/PPPB1PPP/R2QKB1R b KQkq - 1 5
 
====Vastaavan pelin FEN-nimi sekvenssi====
 
rnbqkbnr;pppppppp;8;8;8;8;PPPPPPPP;RNBQKBNR w KQkq -
rnbqkbnr;pppppppp;8;8;3P4;8;PPP1PPPP;RNBQKBNR b KQkq d3
rnbqkbnr;ppp1pppp;8;3p4;3P4;8;PPP1PPPP;RNBQKBNR w KQkq d6
rnbqkbnr;ppp1pppp;8;3p4;3P4;2N5;PPP1PPPP;R1BQKBNR b KQkq -
rnbqkb1r;ppp1pppp;5n2;3p4;3P4;2N5;PPP1PPPP;R1BQKBNR w KQkq -
rnbqkb1r;ppp1pppp;5n2;3p4;3P4;2N2N2;PPP1PPPP;R1BQKB1R b KQkq -
rnbqkb1r;ppp2ppp;4pn2;3p4;3P4;2N2N2;PPP1PPPP;R1BQKB1R w KQkq -
rnbqkb1r;ppp2ppp;4pn2;3p4;3P4;2N1PN2;PPP2PPP;R1BQKB1R b KQkq -
rnbqkb1r;pp3ppp;4pn2;2pp4;3P4;2N1PN2;PPP2PPP;R1BQKB1R w KQkq c6
rnbqkb1r;pp3ppp;4pn2;2pp4;3P4;2N1PN2;PPPB1PPP;R2QKB1R b KQkq -
 
====ChessCat-ohjelmasta====
Edellä oleva esimerki on generoitu [http://www.chesscat.loncarek.de/ ChessCat-ohjelmalla]. Sen on ilmaisohjelma ja voisi olla hyödyllinen tarkistusapuväline myös tuossa aloittamassasi ilmeisesti varsin mittavassa "peliselainbotti"-urakassasi. --[[Käyttäjä:Raimondo|Raimondo]] 11. lokakuuta 2008 kello 19.30 (UTC)
----
:Häh, minähän teen vain mitä pyydetään.:) --[[Käyttäjä:Usp|Usp]] 12. lokakuuta 2008 kello 08.06 (UTC)
----
::Jep ja minä olen alkanut jo uskomaan, että tästä tällä kertaa tulee myös jotakin valmista. Monenlaisia ideoita ja toiveita on ollut esillä jo kauemman aikaa, mutta taidot toiveiden toteuttamiseen ovat toistaiseksi puuttuneet. Mä panen tästä puuhasta nyt infoa myös tuonne Wikipedian shakkiprojektiin, jotta asiasta kiinnostuneet osaavat tulla myös mukaan tähän keskusteluun. --[[Käyttäjä:Raimondo|Raimondo]] 12. lokakuuta 2008 kello 16.13 (UTC)
<Siiirretty sivulta "Keskustelu:Shakkiaapinen/Hiekkalaatikko" /> Keskitetään keskustelu yhteen paikkaan. --[[Käyttäjä:Usp|Usp]] 12. lokakuuta 2008 kello 17.35 (UTC)
----
::Nyt tuohon edelle kopioidun esimerkin mukaista peliä on kirjoitettu muutama siirto alkaen sivulta [[Shakki/rnbqkbnr;pppppppp;8;8;8;8;PPPPPPPP;RNBQKBNR w KQkq -]] (alkuaseman FEN-nimi) --[[Käyttäjä:Raimondo|Raimondo]] 12. lokakuuta 2008 kello 18.29 (UTC)
 
=== Teoriataulu ===
Entäs teoriataulu eli miten määritetään
*haarojen määrä ja
*haarojen pituus?
Samat kysymykset pätee myös paluutaulukolle. --[[Käyttäjä:Usp|Usp]] 12. lokakuuta 2008 kello 19.37 (UTC)
----
:Voiko teoriataulu kasvaa tarpeen mukaan sitä mukaa kun pelejä pelipuuhun lisätään ja kutistua vastaavasti pelin edetessä vaihtoehtoisten haarojen eliminoituessa sekä jättämällä alkupäästä jo pelatut sirrot pois?
:Teoriataulun pituuden voi rajoittaa 5-10 siirtoon ja taulua voi täyttää (FIFO-rekisterin tavoin) sekvenssin loppupäähän sitä mukaan kun siirrot tippuvat pelin edetessä alkupäästä pois.
:Paluulistoja pitää olla alekkain useita siinä tapauksessa, että samaan asemaan tullaan useasta haarasta.
:Siirtonumeroiden näyttäminen ainakin jatkosiirtojen teoriataulussa tulee pulmalliseksi, sen jälkeen kun on tapahtunut transponoitumisia. Ne pitää jättää viimeistään siinä vaiheessa näyttämättä. Vois olla yksinkertaisempaa ettei niitä näytettäisi ollenkaan.
:Paluusiirtolistoissa siirtonumerot voivat näkyä tai olla näkymättä.
:Siirtonumeroin varustettuja pelisekvenssejä voi pistää tarpeen mukaan käsin näkyviin sivujen analyysiosiin. --[[Käyttäjä:Raimondo|Raimondo]] 12. lokakuuta 2008 kello 20.07 (UTC)
----
::Eli määrät harkitaan tapauskohtaisesti. Ylipäätään käynee niin, että kaikki sisältö tulee lisätä manuaalisesti mutta muotoilu voidaan hoitaa mallineilla. Automaaginen sisältöä lisäävä botti taitaa olla suotta hankala rakentaa. --[[Käyttäjä:Usp|Usp]] 12. lokakuuta 2008 kello 20.36 (UTC)
----
:::Voisko sitä bottiakin kuitenkin vielä miettiä niin, että se toteutettaisiin esim. seuraavaan tapaan vaiheitain:
:::#Ensimmäinen vaihe tietysti on tuon mallineen tekeminen, joka ilmeisesti helpottaisi sivun rakennetta formalisoimalla myös mahdollisen botin toteutusta.
:::#Seuraavassa vaiheessa tuotettaisiin botti, jolle voisi antaa kahteen tekstiruutuun syöttötietona lähtösivun FEN-nimen ja seuraavan siirron, jolloin botti tuottaisi lähtösivulle tarvittavat linkkien täydennykset ja generoisi seuraavan sivun. Tämä olisi jo tosi hyvä ja toiovottava apu. Huomasin tuota pientä esimerkkiä tehdessäni, että noiden sivunimien muodostuksessa tuli tosi helposti virheitä. Edellä kuvattua bottia käyttävä muokkaaja voisi menetellä uutta peliä pelipuuhun syöttäessään niin, että hän ensi selaa peliupuuta niin pitkälle kuin siinä on jo peliin sisältyviä sivuja ja tuottaisi sitten botilla täydennyssivut yksi kerrallaan sekä siirtäisi pelin komentit käsityönä harkintansa mukaan analyysitekstien osiksi.
:::#Seuraavassa vaiheessa botti voisi ottaa syöttötietonaan edellä olevien parametrien asemasta yhteen isompaan tekstiruutuun syötteenä koko pgn-tiedoston ja selaisi sitten pelipuuta niin pitkälle, kuin sivuja siitä vaalmiina löytyisi ja generoisi senjälkeen lopuista siirroista pelipuuhun uuden oksan.
:::#edellistä haastavampi versio hyväksyisi syötteekseen myös variaatioita sisältävän pgn-tiedoston (variaatioita pgn-tiedostossa voi esittää sulkulausekkeilla vaihtoehtoisia haaroja merkitsemällä). Tämä botin versio kykenisi kelaamaan kaikki tiedoston haarat läpi ja lisäämään tarvittavat linkit ja sivut pelipuuhun.
 
:::Lisääkin haaveita olisi varastossa, mutta jätetään ne nyt tuonemmaksi. Tuo ensimmäisen vaiheen botti olisi vaikka vielä hiukan pelkistetynäkin erinomaisen hyödyllinen ja monien virhemahdollisuuksien eliminoimiseksi trapeellinen.
 
:::Pelkistettynä sen ei tarvitsisi suoraan täydentää ja tuottaa sivuja. Riitäisi, että se tuottaisi johonkin tekstiruutuun tulokseksi lähtösivulle tarpeeliset linkit ja kohdesivun FEN-nimen, josta muokkaaja voisi ottaa ne kopioimalla käyttöön. --[[Käyttäjä:Raimondo|Raimondo]] 12. lokakuuta 2008 kello 23.01 (UTC)
----
::::1. vaiheesta eteenpäin vaatii minulta jo kovasti opiskelua, jos tavoitteena on automaaginen väline, mutta jo mallineilla ja valmispohjilla saadaan vähennetty mekaanista työtä huomattavasti ja ChessCat helpottaa FEN-koodien muodostamista. Mennään vaihe kerrallaan ja katsotaan miten käy. ChessCatilla voi tehdä diagrammeja (avaustilanne oletusasetuksilla :
<pre>
,--------.
8rsbdklnt|
7wpwpwpwp|
6*+*+*+*+|
5+*+*+*+*|
4*+*+*+*+|
3+*+*+*+*|
2PWPWPWPW|
1TNLQGBSR|
{!"#$%&'(}
</pre>
::::) Merkkejä pystyy vaihtamaan asetuksista mutta jostain syystä ei onnistu siten, että sillä voisi tehdä suoraan myös Shakkilaudan mallinekutsut. Tiedätkö ohjelmaa, jolla onnistuisi? -- [[Käyttäjä:Usp|Usp]] 13. lokakuuta 2008 kello 08.32 (UTC)
----
:::::Juu, tuo esitystapa saattaa liittyä niihin kuvafontteihin eli kopioimalla tuo teksti tekstinkäsittelyohjelmaan ja valitsemalla sitä vastaava shakki-fontti saadaan teksti näkyviin nappulakuvina. Näin oletan. Verkosta löytyy myös [http://www.dwheeler.com/misc/fen2wikipedia.html FEN2Wikipedia] ohjelma, jolla voi tuottaa wikipedian shakkilautamallineiden kuvia.
:::::Siitä teoriataulustakin vielä sen verran, että voi se toki olla myös vakiopituinen. Shakkipelissä on mahdollista tehdä ensimäinen siirto 20 erilaisella tavalla eikä muissakaan tilanteissa liene ainakaan järkeviä siirtovaihtoehtoja tuota enempää, joten teoriataulun vakiopituus voisi olla 20 riviä. Taulussa voisi silloin näyttää vain ne haarat, jotka pelipuuhun on talletettu ja jättää käyttämättömät rivit tyhjiksi. --[[Käyttäjä:Raimondo|Raimondo]] 13. lokakuuta 2008 kello 09.22 (UTC)
----
::::::Tarkoitat kaiketi leveyttä eli haarojen määrää? Siinä toki löytyy helposti luonnollisesti järkevät vaihtoehdot, mutta entäpä teoriataulukoissa näytettävien siirtojen määrä eli pituus? Shakkipelihän voi kestää jotain 50 siirtoa, jolloin vaikkapa avaussivulle tulisi 20 x 50 linkkiä eli 1000 linkkiä. Tehdäänkö jokin hatusta vedetty pituus rajoitus vaikkapa 5 siirtoa eteen ja taakse, tai sittenkin vain yksi siirto eteen ja taakse? Vai onko shakkipiireissä olemassa jokin vakiotapa? Entäpä millä perusteella haarojen esitysjärjestys taulukossa valitaan?
::::::Hmm. sekoittuukohan tässä nyt suotta esim. [[:en:Chess/Opening theory table|tällä]] sivulla kuvattu teoriataulukko ja eteen ja taaksepäin navigaatiotaulu? Kannattaiskohan nämä erottaa täysin toisistaan eli kullakin sivulla olisi aina erikseen navigaatiolinkit ja sitten muokaajien tarmon mukaan teoritaulu(t)? -- [[Käyttäjä:Usp|Usp]] 14. lokakuuta 2008 kello 23.15 (UTC)
----
:::::::OK! Kutsutaan sitten teoriataulun pystysuunnassa esitettyä ulottuvuutta eli haarojen määrää taulun leveydeksi. Se voi vaihdella sen mukaan miten paljon pelipuussa kussakin asemassa on haaroja tai se voi olla myös vakiolevyinen (esim. 20 siirtoparia).
 
:::::::Pituus eli teoriataulun vaakasuoraulottuvuus voi olla esimerkiksi tuo mainitsemasi 5 siirtoparia sivun asemasta eteenpäin. Linkkejä siinä ei välttämättä tarvitse olla muissa kuin välittömästi seuraavissa siirroissa.
:::::::Samalta tasolta haarautuvien haarojen järjestys voi olla mikä tahansa (esim. aakkosjärjestys). Tärkeää on vain se, että samasta pisteesta eroavat haarat ovat alekkain ja viimeinen yhteinen siirto esitetään vain ensimmäisessä haarassa eikä sitä toisteta muissa rinnakkaisissa haaroissa.
 
:::::::Teoriataululla navigoitaisiin vain eteenpäin eli siinä ei näkyisi ollenkaan pelattuja siirtopareja.
 
:::::::Paluulinkit taas esitetäisiin asemaa kuvaavan shakkilautamallineen ja sen oikealla puolella olevan edellä kuvatun teoriataulukon yläpuolella algebrallisen notaation mukaisina siirtosekvensseinä. Siirtosekvensejä on vain yksi, jos asemaan tullaan vain yhdestä haarasta. Jos asemaan päädytään useammasta haarasta on siirtosekvenssejä alekkain vastaavasti useampia. Ihan loppuun saakka en tätä osiota ole miettinyt, mutta pulmia voi tulla siirtonumeroiden esityksessä, koska ne ovat usein eri haarojen kohdalla erilaisia. Lisäksi haarat saattavat erota ja yhdistyä ennen nykyistä asemaa useita kertoja.
 
:::::::Suoraviivaisin ja selkein ratkaisu lienee se, että kaikki pelipuusivun asemaan johtaneet haarat esitettään erillisinä, jolloin ratkeaa myös siirtonumero-ongelma ja esitystapana voisi olla algebrallinen notaatio siirtonumeroineen ilman mitään erityisjärjestelyjä. Jos paluusekvenssit listataan alekkain aakkosjärjestyksessä tulee samalla tavalla alkavat siirtosekvenssit listaan peräkkäin, mikä myös selkeyttää esitystä. Paluulinkkejä näissä listoissa ei välttämättä tarvitse olla, kuin asemaan välittömästi johtaneissa siirroissa. --[[Käyttäjä:Raimondo|Raimondo]] 15. lokakuuta 2008 kello 20.03 (UTC)
----
::::::::Onko siis tavoitteena [[:en:Opening_theory_table#Example_theory_table|tämänkaltainen]] teoritaulukko? Jos on niin ehdottaisin, että erotetaan se jatko- ja paluulinkeistä, jotka tehtäisiin heti kaikkiin sivuihin ja vain yksi eteen ja yksi taakse, eli kaikki haarat, mutta vain yksi siirto kustakin. Teoriataulukoita voisi sitten jälkeen päin lisätä sen mukaan, miten motivaatiota riittää. Pystytko heittämään suuruusluokaltaan suunnilleen, kuinka monta erillistä tilannesivua olisi odotettavissa, vuoden pari sisällä? -- [[Käyttäjä:Usp|Usp]] 17. lokakuuta 2008 kello 06.09 (UTC)
::::::::Kts. [[Malline:Shakkitilanne]]. -- [[Käyttäjä:Usp|Usp]] 17. lokakuuta 2008 kello 06.10 (UTC)
::::::::Lisäsin mallineen esimerkki oksaan. -- [[Käyttäjä:Usp|Usp]] 17. lokakuuta 2008 kello 06.39 (UTC)
----
:::::::::Tuo sun teoriataululinkki oli varmaan tarkoitetu [[:en:Opening theory in chess#Theory table|tämöiseksi]] ja siinä tapauksessa vastaus on kyllä. Myös Shakkitilanne malline vaikuttaa ihan toimivalta, jos ajatuksena on, että laudan molemmin puolin on alekkain välittömästi eteen ja taaksepäin vievien linkkien listat. (Saattaa muuten olla, että shakinpelaajien vakiintuneessa puhetavassa käytetään mieluummin termiä "asema" kuin käyttämääsi synonyymiä "tilanne". Tämä kannattaa tarkistaa ennen lopullisten nimien valintaa.) Mahdolisten teoriataulukoiden rustaaminen voidaan kyllä jättää, sivujen muokkaajien hommiksi.
 
:::::::::Olisiko se botti näin pelkistettyyn mallineeseen mahdollista toteuttaa kohtuullisella ponnistuksella? Minimissään sen vaatimusmääritelynä olisi, että se saisi syötteenään nykyasemaa vastaavan FEN-koodin ja seuraavan siirron. Näiden tietojen perusteella botti tarkistaisi onko pelipuuluokassa jo vastaavaa lähde- ja kohdesivua. Jos molemmat ovat olemaassa se ilmoittaisi näiden sivujen FEN-nimet. Jos lähdesivu on mutta ei kohdesivua, se lisäisi jatkolinkin lähdesivulle ja generoisin kohdesivun ja lisäisi sille myös paluulinkin. Jos lähdesivua ei ole, mutta kohdesivu on, se generoisi etenemislinkin sisältävän lähdesivun ja lisäisi kohdesivulle palulinkin. Jos kumpaakaan ei ole, se loisi milemmat sivut ja lisaäisi niille sivut yhdistävät jatko ja paluulinkit.
 
:::::::::Tuo sivumääräarvio riippuu täysin siitä, miten työlästä sivujen linkitys tulee olemaan. Jos sivut pitää linkittää ja linkkien oikeellisuus tarkistaa ilman automaagisia apuneuvoja, jää tuotettavien sivujen määrä olemattomaksi. Jos sivujen luonnin avuksi saadaan edes edellä kuvaamani kaltainen minitaikasauva, niin ainakin minä käyttäisin sitä ahkerasti vuodenvaihteen tienoilta eteenpäin hamaan tulevaisuuteen. Sen jälkeen, kun pelipuu-arboretum on saatu selvästi henkiin, ilmestyy sen ympärille varmasti myös suurempikin puutarhurijoukko. Itseasiassa tämän joukon kasvattamiseen olisi juuri nyt otollinen tilaisuus, koska shakkiliitto on sisällyttämässä ensi vuoden toimintasuunnitelmaansa valmennusmateriaali/shakkivalnentajaverkosto-projektia (asia päätetään marraskuun kerhojen kokouksessa). Jos nämä apuneuvot saataisiin toimiviksi tämän vuoden aikana, niin projektin materiaali voitaisiin tuottaa hyvin pitkälle niiden avulla tänne Wikikirjastoon. --[[Käyttäjä:Raimondo|Raimondo]] 18. lokakuuta 2008 kello 00.46 (UTC)
 
==Testausta==
Tein ohjeen, [[Shakki/Pelipuu#Tilannesivun_luominen]] ja sen pohjalta [[Shakki/rnbqkbnr;pppppppp;8;8;4P3;8;PPPP1PPP;RNBQKBNR b KQkq e3|yhden tilanteen]]. Hankeen myötä nousi esiin seuraavia asioita:
*Koska siirtotietoa ei ole, tilanteessa saattaa olla valkean tai mustan vuoro. Seuraava siirto linkeistäkään tämä ei selviä. Pitäisikö selvitä?
*Kaikkein mekaanisin ja virhealttein vaihe on FEN-koodin muuttaminen FEN-nimeksi. Tähän olisi paikallaan tehdä apuväline, joka tekisi muunnoksen molempiin suuntiin.
*Kun huomioidaan saatava hyöty ja tekemisen vaiva ei minulla riitä aikaa, taitoja taikka motivaatiota varsinaisen botin tekoon. Sopivilla apuvälineillä ja kun prosessi hiotaan mahdollisimman vaivattomaksi, botilla saatava käsityön säästö jää lopulta varsin vähäiseksi.
*Ohestalyönti merkitään siis aina kun sotilasta siirretään kaksiaskelta, riippumatta siitä onko vastapuoli paikoillaan sen tekemään tai ei? -- [[Käyttäjä:Usp|Usp]] 20. lokakuuta 2008 kello 06.42 (UTC)
FEN-koodi/nimi -muunnin nyt sivulla http://toolserver.org/~agony/fiwikibooks/fen.html. Se ei poista lopun siirtotietoja. -- [[Käyttäjä:Usp|Usp]] 20. lokakuuta 2008 kello 11.11 (UTC)
----
:Tein testimielessä myös yhden sivun [[Shakki/rnbqkbnr;pppppppp;8;8;8;5N2;PPPPPPPP;RNBQKB1R b KQkq -]] ja samalla seuraavia havaintoja/pohdintoja:
:*Tilannesivun luomissysteemi näköjään tuottaa automaatisesti uudelle sivulle otsikoita. Hyvä juttu. Nämä otsikot voi varmaan vaihtaa helposti sitten, kun sivujen rakenne on tarkemmin mietitty?
:*FEN-koodi/nimi-muunnin on hyvä juttu. Voisko se vielä poistaa automaattisesti nuo siirtolaskuritkin?
:*Chesscatin "setup position"-toiminnolla voidaan määritellä myös siirtovuoro, linnoitus ja ohestalyöntioikeudet ja ne tulee myös koodiin mukaan.
:*[http://www.dwheeler.com/misc/fen2wikipedia.html fen2wikipedia] nyrjähti tällä kodilla eli korjasin siirron mallineeseen käsin. Tämä ei paljon haittaa, koska homman voi hoitaa myös siten, että kopioi lähtötilanteen mallineen pohjaksi ja korjaa siihen käsin viimeisen siirron. '''HUOM!''' Taisi olla tilaapäinen häirtiö, koska ohjelma näkyy nyt taas toimivan.--[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 16.36 (UTC)
:*Ohestalyöntijutusta olen tehnyt saman tulkinnan.
:*Niin, eihän sen botin teko ole itsetarkoitus, jos homma muuten saadaan sujumaan. Voiskohan siihen FEN-nimi/koodi muuntimeen jollakin konstilla saada lisättyä niiden siirtolinkkien muodostusapuja? --[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 15.56 (UTC)
::Jatkoin vielä hiukan aloittamaasi pelipuun haaran rakentamista ja siinä puuhassa tuli mieleen seuraava toive. Olisko esimerkiksi semmoinen mahdollista, että pelipuusivun punaisen linkin klikkauksesta avautuisi tuo [[Shakki/tilannemalli]] seuraavalla tavalla esitäytettynä:
::*shakkilautamallineessa olisi pohjana sen sivun lauta, jossa linkkiä klikattiin (tälöin tarvitsisi muuttaa lautaa vain yhden siirron osalta)
::*jos punainen linkki oli jatkolinkki, lisättäisiin sille automaattisesti paluulinkki lähtösivulle (linkin sivu saataisiin lähtösivun nimestä ja siirtomerkintä klikatusta linkistä)
::*jos punainen linkki oli paluulinkki, ei generoidulle sivulle tehdä automaattista jatkolinkkiä, koska lyhyessä algebrallisessa notaatiossa ei ilmaista siirron lähtöruutua --[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 22.53 (UTC)
----
:::*Luomislaatikko hakee vain Shakki/tilannepohja -sivun sisällön annetulle nimelle
:::*Siirtolaskurin poisto menee jo huomattavasti hankalammaksi. Pitäisi opetella/kehitellä säännöllinen lauseke kun FEN ei ole vakiomittainen. Ihan mutu-tuntumalta lauseke olisi varmaan suhteellisen monimutkainen. Hmm. tai eikös täydellisessä FEN-koodissa ole aina sama määrä välilyöntejä? Silloin voisi kenties kehittää poiston melko helpostikin. Pitääpä tutkia.
:::* Yleisesti mikä tahansa dynaaminen lisäily vaatii Javascriptiä.
:::* Ideana minulla on että kaikki mahdollinen tehtäisiin copypastella, jolloin näppäilyvirheiltä vältyttäisiin. Chescatillä pelataan/haetaan haluttu FEN, se copypastataan nimimuuntimeen ja mallinekutsu generaattoriin ja näistä edelleen tänne. Eli että missään vaiheessa Shakkitilanne-mallineeseen ei kirjoiteta käsin, vaan sisältöä copypastataan toisaalta (pl. siirtotietojen poisto ainakin toistaiseksi). -- [[Käyttäjä:Usp|Usp]] 21. lokakuuta 2008 kello 13.53 (UTC)
 
=== Mallineesta ===
Tuon tilanne/asema-mallineen [[Malline:Shakkitilanne]] sisältämässä shakkilautamallineessa oleva (pelkästään laudan nappuloiden aseman perusteella tuotettu) FEN-koodi sisältää vähemmän informaatiota kuin kehittelemämme FEN-nimi, joten pitäiskö lautamallineen FEN-koodilaskennan tuottaman koodin sijalle panna näkyviin mallineen generoinnin ja sivun FEN-nimen muodostuksen pohjana oleva FEN-koodi?--[[Käyttäjä:Raimondo|Raimondo]] 18. lokakuuta 2008 kello 08.19 (UTC)
----
:Shakkilauta, tosin muodostaa FENin automaattisesti. Jos haluttaisiin koko koodi se pitäisi lisätä käsin, ei tosin mikään iso homma ja IMO tilanteen FEN on hyvä mainita, koska sivun nimi ei ole oikea FEN. Eli joo. -- [[Käyttäjä:Usp|Usp]] 20. lokakuuta 2008 kello 04.55 (UTC)
:Tulisiko automaattinen poistaa kokonaan shakkilaudasta? Tulisiko FEN-koodi antaa shakkilauta-mallineeseen vai shakkitilanne mallineeseen? Sivun nimen pohjana oleva FEN-koodihan ei ole täydellinen, siitä puuttuu siirtolaskuritiedot, mutta se ei varmaan haittaa? -- [[Käyttäjä:Usp|Usp]] 20. lokakuuta 2008 kello 05.47 (UTC)
----
::Hyviä kysymyksiä! Tosin ihan täydellinen FEN-koodi ei tähän sovltuisikaan, koska sivun pitää edustaa kaikkia pelillisesti vastaavia asemia riippumatta mitä reittiä asemaan on tultu. Toisaalta nykyinen laskenta pelkistä nappuloiden asemista ei oikein tunnu riittävältä (visuaalisesti samoja asemia voi pelipuussa olla useita). Johtaisko tämä pohdinta siihen, että nappuloiden aseman perusteella johdettu FEN-koodi kannattaa jättää pois ja antaa siirtolaskuritiedoista putsattu FEN-koodi mallineelle. Entä täyttäiskö tämä malline sitten kyseisen tiedon perusteella automaattisesti sisältämänsä pelkistetymmän shakkilautamallineen? --[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 14.33 (UTC)
::Selvyyttä ehkä lisäisi, jos nappuloiden paikan lisäksi näytettäisiin myös vuorotieto, tai enpä tiedä ... pitäiskö sitten näyttää myös linoitus ja ohestalyöntioikeudet ja miten? Ehkä sittenkin olisi parasta vain näyttää nappuloiden asema ja siirtolaskuritiedoista putsattu FEN-koodi. Tässä taisi tulla nyt vastausten asemasta vain lisää avoimia kysymyksiä eli tee tämä kuten parhaaksi katsot. --[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 14.47 (UTC).
:::Ja monologi jatkuu... Nyt kun hiukan testailin ja tuijottelin tuota mallinetta, niin kyllä nuo pelitilannetta täsmentävät tiedot pitää saada jotenkin (apuneuvoilla ja/tai ohjeistuksella) näkyviin. Esimerkiksi mallineen alareunassa nykyisen FEN-koodin kohdalla voisi olla nämä tiedot esittävä koodin osa " b KQkq - ", mutta toisaalta tuo tieto näkyy sivunimestä. Voisko sen saada sieltä jotenkin näkymään selväkielisesti sivulla? Jos voi, niin saman tiedon perusteellahan voisi automaattisesti lautaamallineen nappuloiden asemat. Pitää panna tämä yön yli mietintämyssyyn. Mä testaan huomenna sivujen tekoa näillä eväillä vähän lisää. Yritetään löytää hommaan kohtuullisella vaivalla toteutettavissa oleva ja sivujen muokkausta tarpeeksi helpottava toimintamekanismi. Jätä kuitenkin myös se botti mieleesi ainakin tausta-ajolle. --[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 17.26 (UTC)
:::Tarkemman mietinnän jälkeen FEN-koodin automaattisen lisäyksen voi jättää kokonaan pois. Siirtovuoron voi edelleen ilmaista kolmella pisteellä tai niiden puuttumisella vaikka siirtonumerot jäävät pois ja loput näkee tarvittaessa FEN-nimestä. Nuo linkit tuntuvat menevän kovin helposti solmuun, joten edellä kohdassa "Testausta" esitetyt ideat ovat edelleen toivomuslistalla. --[[Käyttäjä:Raimondo|Raimondo]] 20. lokakuuta 2008 kello 22.53 (UTC)
----
::::Javascriptillä saisi FEN-koodista nimen ja takaisin (http://toolserver.org/~agony/fiwikibooks/fen.html), ja Javascriptillä tehdään myös FEN-koodista mallinekutsu (http://www.dwheeler.com/misc/fen2wikipedia.html). Joten sivun nimen perusteella saisi asematiedot suhteellisen vaivattomasti, paitsi että tälläisen Javascriptin yhdistäminen Mediawikiin on käsittääkseni ongelmallista. Ja se, että tilanne laskettaisiin selaimella jokaisella sivun latauksella varmaan hidastaisi selaamista.
::::Tein paikan FEN-koodin antamiselle ja vaihdoin lautamallineeksi Shakkitilanne/lauta, niin ei tarvitse muuttaa Shakkilauta-mallinetta. -- [[Käyttäjä:Usp|Usp]] 21. lokakuuta 2008 kello 10.51 (UTC)
 
===Jatkokehityksestä===
Muokkailin äsken testimielessä tuon pelipuun juuriversoja ja totesin, että jo näilläkin apuneuvoilla tulee hyvin toimeen. Kiitos siitä! Nyt varmaan ennen mitään isompia apuneuvojen uudistusoperaatioita kannattaa näillä konsteilla rakentaa pelipuuta hiukan pidemmälle ja hankkia hiukan lisää kokemuksia näistä apuneuvoista. Harmi, että olen sitonut omat resurssini juuri nyt toisaalle (loppuvuodesta taas helpottaa), mutta otan tässä vielä pikapuoliin toisenkin muokkausrupeaman ja koitan samalla tutkia millaiseen asuun tuo pelipuusivu tällä tekniikalla alkaa muotoutumaan. Malline tuntuu jo tällaisenaan ihan fiksulta. --[[Käyttäjä:Raimondo|Raimondo]] 21. lokakuuta 2008 kello 11.59 (UTC)
 
:Siirretäänkö jatkokeskustelu asiasta esimerkiksi sivulle [[Keskustelu:Shakki]], jotta tämä sivu voidaan vapauttaa varsinaisen Shakkiaapisen kehittämiskusteluun? --[[Käyttäjä:Raimondo|Raimondo]] 21. lokakuuta 2008 kello 15.06 (UTC) Korjasin linkin. -- [[Käyttäjä:Usp|Usp]] 21. lokakuuta 2008 kello 16.06 (UTC)
----
::Joo, suunnittelin jo samaa. Ens alkuun kannattaa muuten varmaan siirtää shakkiaapisesta nämä [[:Luokka:Pelipuu|tilannesivut]] shakkiin, ennen kuin aloittaa tekemään kokonaan uusia sivuja. -- [[Käyttäjä:Usp|Usp]] 21. lokakuuta 2008 kello 16.06 (UTC)
----
:::Juu, ainakin kannattaa katsoa, mitä niiltä sivuilta kannattaa siirtää noille uusille sivuille. Ilmeisesti tässä vaiheessa voitais tämän sivun keskustelut myös arkistoida tehtävänsä tehneenä. Olennaiset asiat nousevat varmaan uudelleen esiin tuola aiheen omalla keskustelusivulla. --[[Käyttäjä:Raimondo|Raimondo]] 21. lokakuuta 2008 kello 22.47 (UTC)
Palaa sivulle ”Shakkiaapinen”.