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

428

    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. Kalajoen hukkuneet pojat olivat tummaihoisia

      Jälleen kerran, hukkuneet tai heikon uimataidon vuoksi vaaraan joutuneet olivat muita kuin suomalaisia. Turha viisastell
      Maailman menoa
      328
      7121
    2. Kysymys muille miehille

      Onko teille varattu nainen ongelma? Mikään muu naisessa ei töki kun se että hän on varattu. Kamppailen houkutuksen kanss
      Ikävä
      71
      4348
    3. Sinä eräs, pyydän......

      AUTA mua ole kiltti. Ei mun takia vaan.... Miten saan sut kiinni?
      Ikävä
      208
      3165
    4. Kohta katson sun kuvaasi

      ja päästän ajatukseni liitämään. Jo kuvasi näkeminen rauhoittaa, ja pistää hyrräämään vähän muutakin. Ihanan kaunista sa
      Ikävä
      24
      2967
    5. Nimikirjaimet

      Kuka kaipaa ketä 🥰
      Ikävä
      74
      1952
    6. VOI TÄTÄ ILON

      JA ONNEN PÄIVÄÄ 😂
      Tuusniemi
      149
      1800
    7. Ahneus iski Fazeriin, suklaalevy kutistuu 180 grammaan

      Kun mikään ei riitä. Shrinkflaatio. Mitä isot (Marabou) edellä, sitä pienet (Fazer) perässä. Pienikin voi siis olla a
      Maailman menoa
      212
      1746
    8. Jos kaivattusi on perääntynyt lähestyessäsi

      jossain tilanteessa, ymmärrätkö miksi hän saattoi tehdä sen?
      Ikävä
      166
      1577
    9. Minkä asian haluaisit muuttaa kaivatussasi?

      Mikä kaivattusi luonteessa tai ulkonäössä ärsyttää sua?
      Ikävä
      120
      1548
    10. Mies, ajattelemmekohan toisiamme juuri nyt?

      Olet mielessäni, vanhempi mies
      Ikävä
      89
      1438
    Aihe