Page 1 of 1

A*-algoritmi

Posted: Sat Oct 18, 2008 5:13 pm
by lukutoukka
Eli miten tuollaisen voi toteuttaa, kun itselläni on nyt karttatiedosto, joka määrittää eri alueita koordinaatistosta seiniksi ja toisia, joilla ei ole arvoa maaksi, eli miten saan p llon (10 px koko) kulkemaan törmäämättä seiniin. Tämän pitäisi myös tehdä sen, että on olemassa toisia seiniä, joista pääsee läpi (matalia seiniä, hyppää ns. yli, eli näitä ei tarvitse laittaa väistettäväksi, eli ei ongelma sinänsä...), eli miten toteuttaisin tämän. Kaikki tapahtuu koordinaatistossa ja ympyrä ei saa osua seiniin. Tutkin googlella nettiä ja löysin otsikkonakin olevan A*-algoritmin, mutta itse en oikein tajua, miten se toteutetaan järkevästi, sillä itse en sitä oikein tajunnut.

Tyyppi muuttujani sotialaalla on kahdet koordinaatit x,y, sekä päätöspisteen x,y ja sen pitäisi osata päätepisteeseen. Sotilas kulkee reittiä koko matkan pisteiden välille, mutta tulee aina tarkistamaan ,että onko matkalla vihuja, eli reitti pitää määrittää, mitä se kulkee, mutta se ei ole pakotettu kulkemaan sitä loppuun asti, vaan se voi hakeutua suojaan välillä, eli kun se näkee vihollisen, tai sitä ammutaan se menee automaattisesti suojaan lähimmän seinän taakse turvaan, eli miten teen? Tässä vain vaikeuten on tuon a*-algoritmin ymmärtäminen ja toteuttaminen, joten kertokaappa miten se toimii.

Lyhyesti selittäkää miten a*-algoritmi toimii ja pieni esimerkki asiasta.

Re: A*-algoritmi

Posted: Mon Oct 20, 2008 11:43 am
by Aavesoturi
Joku porttas joskus jonku A* esimerkin cb:lle. Löysin paketin kovoltani ja heitän tän postin kylkeen. Siinä on siis A* algoritmi ja esimerkkiohjelma, jossa voi rakentaa seiniä ja siirtää alku ja loppu paikaa ja sitten se laskee lyhyimmän reitin.
EDIT: nytkun kattelin koodia ni siellä on monta asiaa laitettu piiloon remstart/remend lohkoilla eli jos haluaa nähä yksityiskohtasempaa tietoa ni poistaa kommentointia

Re: A*-algoritmi

Posted: Tue Oct 21, 2008 1:18 pm
by lukutoukka
Kiitoksia tuosta, nyt vain tutkimaan...