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.
Onko shakkipeli vaikea koodata?
moukantuurilla
4
365
Vastaukset
- ei_turhaa_vaivaa
Ei pyörää kannata keksiä uudelleen.
Shakkipelin koodi tarkasteltavaksesi.
https://stockfishchess.org/
Muitakin löytyy. - 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
Martina oli sarjassaan tänään 32.
Mutta eikö pyöräily ja uinti ole vahvempia hänellä kuin juoksu? Aikaa on vielä harjoitella ennen Frankfurtin kisoja.2081683Sofia miksi soitit torstaina Stefanil ja pyysit käymään kun muka olet ahdistunut.?
Oliko asia suunniteltu, kun pyysi käymään ja varmasti tiesi et miten Stefan asiaan suhtautuu.Oliko myös Seiskan toimittaja pyydetty tarkoituksella pai1011635Stepuli itkee facessa
Haluaisin pyytää julkisesti karseaa käytöstäni anteeksi lähimmiltä, naapureilta ja etenkin Sofialta! Ei ole missään olosuhteissa hyväksyttävää käyttä1011544Sofia oli ainoastaan rahan takia suhteessa Stefanin ja Nikon kanssa.
Järkyttävää miten Sofia on käyttänyt hyväksi näitä molempia miehiä ja rahat loppu niin vain haukkumiset tullut kiitokseksi heille.2541405Voi kun menisi nyt Stefan katsoo tyttären uutta ponia, viettäisi aikaa hänen kanssa.
Aika parantaa kaiken ja meillä kaikilla on elämässä vastoinkäymisiä ja yli kyllä pääsee ainakin ajan kanssa.1341365Minä menetän sinut kokonaan
Siksi olen paniikissa, sekaisin ja surullinen. Taitaa olla jonkinasteinen stressitila päällä. Toivottavasti sinulla on kaikki hyvin.48901Suomi teki typeryyttään Venäjästä nyt konkreettisesti vihollisen, jota se ei aiemmin ollut.
Venäjä ei ole uhannut Suomen turvallisuutta, eikä Venäjän ja Ukrainan välinen konflikti ole signaloinut minkäänlaista uhkaa Suomelle. Se "uhka" luotii448885Onpas Martina valinnut sopivan laulun
Storyssa kun Isben poni tulee, " älä vie lapsuuttani pois." Äiti se lähtee mieluummin panopuuksi hotelliin, kuin viettäisi senkin ajan lastensa kanssa115885Veikkauksia milloin Venäjä hyökkää Suomeen?
Veikkaan että se tapahtuu nopeasti, ehkäpä jo kesäkuussa. Suomi 5,5 miljoonan harvaan asuttu maa. Venäjä ei tarvitse suurta joukkoa Suomeen, joten kai293835Uskomatonta miten "kassatyttö Sannasta" tuli hetkessä kuoleman kauppias.
Demarit on kautta historian olleet "takinkääntäjien"mestariluokkaa kokoomuksen hihassa kiinni. Sannan arviointikyky petti täysin Naton suhteen, Brysse347818