Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Haaga-Helia ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Haaga-Helia ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Tietokoneshakin ohjelmointi JavaScript-kielellä

Kuusela, Jarkko (2017)

Avaa tiedosto
Kuusela_Jarkko.pdf (1.080Mt)
Lataukset: 


Kuusela, Jarkko
Haaga-Helia ammattikorkeakoulu
2017
All rights reserved
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017120519931
Tiivistelmä
Shakki on suosittu kaksin pelattava strateginen lautapeli. Tietokoneshakin ohjelmointia on syytä tutkia, sillä täydellistä tietokoneshakkia ei ole vielä onnistuttu toteuttamaan liian suuren tietomäärän vuoksi. Nykypäivänä on vielä tarve tutkia, kuinka kehitetään algoritmeja ja tekniikoita paremmiksi. Tavoitteena on ohjelmoida mahdollisimman älykäs ja tehokas tietokoneshakkiohjelma, joka pystyy laskemaan mahdollisimman pitkälle saavuttaen parhaan mahdollisen lopputuloksen.

Tavoitteena projektissa oli tutkia, miten JavaScript-kielellä voidaan toteuttaa shakkipeli selainympäristöön. Peliin oli tavoitteena kehittää selkeä ja yksinkertainen käyttöliittymä. Tekoälyn oli kyettävä säännönmukaisiin siirtoihin järkevin perustein kohtuullisessa ajassa. Ohjelman vaatimuksiin kuului sääntöjen määrittely, laudan esitys, arviointifunktio ja pelipuun käsittely.

Tavoitteena ei ollut tehdä huippuluokan tekoälyä shakkipeliin projektissa. Käyttöliittymän ei tarvinnut olla yhtä monipuolinen kuin laadukkaammissa shakkiohjelmistoissa. Tavoitteena ei ollut kehittää varsinaista verkkopeliä. JavaScript-kirjastoja ei käytetty. Tietokantaominaisuudet rajattiin pois.

Teoriaosassa esiteltiin pelin säännöt, jossa käytiin läpi shakkilauta, nappulat, shakki, linnoitus, shakki ja matti, tasapelisäännöt ja nappuloiden arvot. Käytiin läpi, kuinka shakkilauta kannattaa esittää tietokoneohjelmassa ja käsiteltiin siirtojen tuottamista. Pohdittiin, kuinka arviointifunktio kannattaa toteuttaa. Pelipuuhun liittyvät minmax-algoritmi ja alpha-beta-karsinta on käsitelty. Lisäksi kuvattiin lyhyesti, mikä on JavaScript.

Ohjelmointi aloitettiin kesällä 2015. Projekti käynnistettiin virallisesti syksyllä 2015. Varsinainen raportointi aloitettiin syksyllä 2017.

Projektin aikana toteutettiin tietokoneshakkiohjelma, joka toimii valtaselaimilla JavaScript-kielellä. Tietokoneshakkiohjelmaan kuului pelikoodi, joka vastasi käyttöliittymän, pelisääntöjen ja tekoälyn yhdistämisestä. Sääntökoodi vastasi sääntöjen oikeudenmukaisuudesta. Tekoälykoodi laski siirtoja käyttäen minmax-algoritmia ja arviointifunktiota. Käyttöliittymästä tuli selkeä. Sillä pystyi pelaamaan säännönmukaisia siirtoja. Tekoälystä ei tullut huipputasoista, mutta harjoitusvastustajaksi aloitteleville pelaajille se kelpaisi.
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste