Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: JavaScript: Numeropeli

PetriKeckman [23.06.2022 19:06:28]

#

Peliä juhannuksen ratoksi...pannaanpas tänään toinenkin projekti:

https://petke.info/numeropeli/

Tosin tää on vanha ohjelma - oisinkohan ohjelmoinu joskus 2013. Omasta mielestäni kiva peli. Javascriptillä koodattu. En taitaisi nykyjään ees osata kovin nopeasti tehdä vastaavanlaista, kun olen viime vuodet jauhannut REBOL kieltä ja vähän REDiä. Pelin idea ei ole minun, vaan aikoinaan joskus 80-luvulla Tietorakenteet kurssilla HY:ssa tein Pascalilla vastaavanlaisen ihan oikean tekoälyä sisältävä ohjelman dynaamisella pelipuu rakenteella.

Tässä Javascript versiossa ei ainakaan vielä ole sen kummoisempaa tekoälyä eli ihmisen pitäisi helposti voittaa. Vai voitatteko? :) Kai sitä - tietysti? - voisi Javascriptilläkin dynaamisia listoja rakennella ja koittaa älykkäämpää tekoälyä saada aikaiseksi.

Pelin idea selostetaan sivulla, joten en tässä sitä toista.

Oon julkaissut pelin myöskin aikoinaan Pascal-kielisenä jossain Suomen Amiga-käyttäjät ry:n Saku-lehdessä. Koitan löytää sen arkistojen kätköistä ja laittaa ehkä tännekin jokin päivä.

PS: Yritin laittaa koodia tähän julkaisuun, mutta sivusto alkoi herjaamaan jotain <script> tägeistä - no, Javascript koodinhan näkee tuolta sivulta, "View Page Source".

Metabolix [23.06.2022 19:34:23]

#

Ihan hauska peli. Voisit tehdä paremman tekoälyn. Nythän tekoäly valitsee ahneesti isoimman luvun. Luultavasti auttaisi jo se, että katsoisi yhden askeleen eteenpäin eli vähentäisi jokaisesta vaihtoehdosta sen, mitä pelaaja voi kyseiseltä riviltä saada seuraavaksi. Esimerkiksi jos 3 pisteen jälkeen toinen voi ottaa 15 pistettä mutta 2 pisteen jälkeen toinen voi ottaa vain -15 pistettä, näistä kannattaa todennäköisemmin ottaa tuo 2 pisteen vaihtoehto, koska nettovaikutuksena voi saada kuitenkin 29 pistettä etua.

Saavutin ensimmäisellä yrityksellä kirkkaan voiton ja toisella täpärän voiton, jossa lauta tyhjeni ja pistemäärät olivat -64/-65. :D

PetriKeckman kirjoitti:

PS: Yritin laittaa koodia tähän julkaisuun, mutta sivusto alkoi herjaamaan jotain <script> tägeistä - no, Javascript koodinhan näkee tuolta sivulta, "View Page Source".

Sivusto varmaan muistutti, että JS-kooditagiin kuuluu JS-koodia eikä HTML-koodia. Sinänsä ei ole mitenkään tarpeellista laittaa koodeja tänne, jos projekti on kuitenkin omalla nettisivulla pelattavissa ja koodikin näkyy siellä. Pitkien koodien julkaisuun hyvä (ja opettavainen) paikka on myös versionhallintajärjestelmä kuten GitHub tai GitLab.

Laita yksi projekti per keskustelu, siirsin toisen projektin toiseen keskusteluun.

PetriKeckman [23.06.2022 19:47:21]

#

Metabolix kirjoitti:

Voisit tehdä paremman tekoälyn.

Joo, toki aikoinani mietin sitä, mutta kärsivällisyyteni ei riittänyt toteuttamaan edes parin askeleen siirron tutkimusta eteenpäin. Se on mun mielestä kuitenkin vähän vaikeaa toteuttaa Javascriptillä - minulle.

Toisaalta kun olen kerran Pascalilla ohjelmoinnut version, missä on tekoälyä, niin mieluummin julkaisen sen joku päivä kunhan Saku-lehden arkistoista löydän.

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta