Algorytm A*
Ostatnio zmodyfikowano 2016-06-20 17:52
markiet Temat założony przez niniejszego użytkownika |
Algorytm A* » 2016-06-15 19:05:41 Witam Musze napisać Program A*. Czy może ktoś ma jakieś rady dla mnie?
|
|
darko202 |
» 2016-06-16 08:17:56 |
|
markiet Temat założony przez niniejszego użytkownika |
» 2016-06-20 17:52:58 Teraz mam już wczytywanie mapy i musze teraz po linijce plik.close(); zainicjowac ListeOtwarta i zamnięta oraz dodac węzel poczatkowy tak jak w tym pseudokocie z linku: http://iair.mchtr.pw.edu.pl/~bputz/aisd_cpp/lekcja7/segment4/main.htm
#include <iostream> #include <fstream> //wlacza obsluge plikow using namespace std;
class Punkt { public: int PozycjaX; int PozycjaY; int wartosc; // okresla, czy mozna przejsc po polu, 0 - tak, 5 - nie double G; //długo?ć ?cieżki double H; double F; // ja bym jeszcze zrobli: int RodzicX; int RodzicY; };
int main(int argc, char** argv) {
string nazwap = "grid.txt";
int wym2=20; // kolumny int wym1=20; //wiersze
int rows = wym2+1;
Punkt **TablicaP;
TablicaP = new Punkt*[rows];
while(rows--) TablicaP[rows] = new Punkt[wym1+1];
std::ifstream plik(nazwap.c_str()); for ( int i=1;i<wym2+1;i++) { for ( int j=1;j<wym1+1;j++) { plik >> TablicaP[j].wartosc; TablicaP[j].PozycjaY = i; TablicaP[j].PozycjaX = j; } } plik.close();
vektor <Punkt*>ListaOtwarta; vektor <Punkt*>ListaZamknieta;
//WYSWIETLANIE MAPY for(int i=1;i<wym2+1;i++) { for(int j=1;j<wym1+1;j++) { cout<<TablicaP[j].wartosc<<" "; }cout<<"\n\n"; }
getchar();
return 0; } |
|
« 1 » |