Onko shakkipeli vaikea koodata?

moukantuurilla

Siis sellainen jossa tietokone on vastustajana. Onnistuuko esimerkiksi Pythonilla? Ulkoasua ei tarvitse miettiä, voi olla vaikka ihan tekstiversio. Toimintalogiikasta lähinnä siis kysymys. Miten arvotaan esimerkiksi avaussiirto, lähdetäänkö esim. moukalla vai hevosella? Kuinka tarkastetaan kuka uhkaa ja mitä?

Kannattaisiko asiaa alkaa miettimään oliopohjalta? Olisi ensin luokka Nappula, josta sitten periytettäisiin varsinaiset pelinappulat, kuten juuri Moukka, Kurgo yms, ja niillä olisi sitten omat ominaisuutensa. Nappulaoliossa pitäisi tietysti olla myös sijainti, ja ehkä joku lippu uhataanko sitä vai ei?

Pitäisikö jokaisella nappulalla olla myös 8x8 boolean-taulukko, johon päivitettäisiin aina ruudut joihin on mahdollista siirtyä? Jos jollain ruudulla olisi toinen nappula, niin sitten tarkastettaisiin mikä se on, ja mahdollisesti syötäisiin se pois.

Kuinka toteutettaisiin logiikka, jolla selvitettäisiin onko joku siirto kannattava? Ettei esimerkiksi kuningattarella moukkaa syödessä tule tilannetta, jossa vihollisen moukka syökin heti perään kuningattaren. Siinhän tulee persnettoa melkoisesti. Olisiko nappuloille annettava joku arvo?

Ilmeisesti jollain tavalla pitäisi laskea siirtoja eteen päin? Eli olettaa mitä vastustaja tekee, ja sitten laskea vaihtoehtoja.

4

475

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ei_turhaa_vaivaa
    • chess-man

      Ubuntun sovellusvalikoimasta asenna PyChess. Taitaa olla valmiiksi 100% pythonilla kirjoitettu? ;-)
      Komentoriviltä komentaen voit ladata lähdekoodin.

    • moukantuurilla

      Kiitoksia vinkkilöistä. Alanpa tutkiskelemaan niitä.

    • Tässä vikipedian artikkeli asiasta:

      https://fi.wikipedia.org/wiki/Tietokoneshakki

      Muuten. Pelipuiden laskentaan on käytetty A* -algoritmia (A star). Uudempi ja parempana pidetty on Hans Berlinerin at al B* -niminen algoritmi.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuka oli töllöntyön tekijä?

      Ketä on nyt pidätetty? Oliko syy mustasukkaisuus tyttöystävästä tai oliko muita lieventäviä seikkoja? Katuuko tekijä nyt
      Pieksämäki
      44
      4806
    2. Kotikasvatus siitä se lähtee eli missä meni vikaan että lapsesta tuli puukottaja

      Ottakaa muut oppia, normaali kotielämä. Ei liikaa edes hengellisyyttä.
      Pieksämäki
      60
      2671
    3. Jenkkilahkojen kastekaava

      Jenkkilahkojen yhteinen kastekaava on kirjoitettuna Mormonin Kirjaan, Moroni, luku-8 Pienten lapsien vanhempia uhataan
      Kaste
      139
      1064
    4. Pasi Turunen: Ensimmäisenä Helluntaina ei kastettu sylivauvoja!

      Tänään 31.5.2026 Pasi Turunen noin vastasi soittajan kysymykseen! Raamattu EI KERRO ketä kastettiin
      Kaste
      161
      1035
    5. Odotan sitä hetkeä

      kun nähdään taas. Tiedän, että sinäkin odotat. Kun se päivä koittaa, katseesi hakee minua. Ehkä arkailemme toisiamme väh
      Ikävä
      71
      1024
    6. Leijonat Maailmanmestareita!

      Ihanaa Leijonat, ihanaa!!!
      Maailman menoa
      124
      989
    7. Olen melko vakuuttunut

      etten tule olemaan koskaan täysin onnellinen ilman sinua. En uskonut, että näin kävisi kenenkään kanssa. Kunnes sain kok
      Ikävä
      72
      964
    8. Mitä ajatuksia miehet, jos..?

      Nainen on 40v eikä ole omia lapsia?
      Ikävä
      137
      865
    9. Se mies rakastaa minua

      Ja minä rakastan häntä. 😌
      Ikävä
      49
      864
    10. Vihamielisyys naisia kohtaan on jo yllättävän suuri ongelma

      Esiintyy laajemmassa mittakaavassa, mitä vain tällä palstalla. Mistä tuo ilmiö nyt oikein johtuu, ja saa alkuvoimansa?
      Sinkut
      166
      826
    Aihe