Ero sivun ”Python 2/Wikishakkisivu” versioiden välillä
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa |
|||
Rivi 4:
==Shakkisiirto.py==
====Tehtävän määrittely====▼
Suunnittele ohjelma seuraava_asema.py, joka saa parametreinä shakkilautamallineen sisältävän syote- ja tulostiedoston lyhyellä algebrallisella notaatiolla annetun shakkisiirron ja tulostiedoston nimen. Ohjelma lukee shakkilautamallineen siistii siitä standardimuotoisen mallineen, jossa ei ole kommenttitekstejä, säilyttää mahdolliset ylä- ja alaotsikkotekstit sellaisenaan, suorittaa laudan asemaan annettua siirtoa vastaavat muutokset ja tallettaa lopputuloksen tulostiedostoon. ▼
Ohjelman alkuun ja loppuun lisätään vielä testilohkot. jotka lukevat ja tulostavat syote ja tilostiedostot. Mitään virhetarkistuksia ja virhetilanteista toipumisia ei tässä tehtävässä tarvitse ohjelmoida. Ellei oppikirjasta löydy kaikkia tarvitsemiasi tietoja, niin etsi ne muista lähteistä ja täydennä myös oppikirjaa puuttuvilla tiedoilla.▼
==== Tyhjä shakkilautamalline ilman kommenttitekstejä ====
{{Šakkilauta|=
|tright
Rivi 19 ⟶ 24:
|Alaotsikkoteksti
}}
Seuraava malline tuottaa oheisen kuvan mukaisen tyhjän laudan.
▲====Tehtävän määrittely====
▲Suunnittele ohjelma seuraava_asema.py, joka saa parametreinä shakkilautamallineen sisältävän syote- ja tulostiedoston lyhyellä algebrallisella notaatiolla annetun shakkisiirron ja tulostiedoston nimen. Ohjelma lukee shakkilautamallineen siistii siitä standardimuotoisen mallineen, jossa ei ole kommenttitekstejä, säilyttää mahdolliset ylä- ja alaotsikkotekstit sellaisenaan, suorittaa laudan asemaan annettua siirtoa vastaavat muutokset ja tallettaa lopputuloksen tulostiedostoon.
▲Ohjelman alkuun ja loppuun lisätään vielä testilohkot. jotka lukevat ja tulostavat syote ja tilostiedostot. Mitään virhetarkistuksia ja virhetilanteista toipumisia ei tässä tehtävässä tarvitse ohjelmoida. Ellei oppikirjasta löydy kaikkia tarvitsemiasi tietoja, niin etsi ne muista lähteistä ja täydennä myös oppikirjaa puuttuvilla tiedoilla.
<source lang="Python">
{{Šakkilauta|=
Rivi 43 ⟶ 41:
}}
</source>
Seuraavassa mallineessa on nappulat alkuasemassa ja siihen on lisätty myös rivi ja sarakekommenttitekstit. Nämä kommenttitekstit voidaan poistaa siirron toteutuksen yksinkertaistamiseksi, koska ne eivät vaikuta laudan ulkoasuun mitenkään.
Mallineen alku voidaan tunnistaa rivistä '''<tt><nowiki>{{</nowiki>Šakkilauta|=</tt> '''. Sitä seuraa vaihtelevan pituinen parametri ja otsikkotietoa sisältävä kaksirivinen merkkijono, joka päättyy '''<tt>|=</tt>''' merkkipariin. Tämän jälkeen seuraa shakkilaudan sisältötietorivit 8...1. Kunkin sisältörivin alussa voi olla kommenttitekstiä ja '''|''' merkin jälkeen ruutujen kaksimerkkiset sisältötiedot sisältötiedot '''|''' merkeillä erotettuna. Kukin rivi päätetään '''<tt>|=</tt>''' merkkipariin. Tämän jälkeen voi olla kommenttitekstirivi. Mallineen päättää '''|''' merkeillä alkava rivi (minkä sisältönä voi olla alaotsikkotekstiä) ja sittä seuraavalla rivillä oleva '''<nowiki>}}</nowiki> merkkipari'''.
|