[c++]Tablica dwuwymiarowa obiektów

Nie potrafię napisać programu. Problem nie leży za bardzo w tym, że nie znam języka za dobrze bo z tym bym, sobie jakoś poradził. Znajdując w internecie itd. ale z tym że nie potrafię za bardzo wymyślić algorytmu i nie wiem jak złożyć program jedną działającą całość. Dlatego proszę was o pomoc. Jak powinien wyglądać algorytm do tego zadania, jak mniej więcej powinien wyglądać ten program. No potrafię zrobić klasę i parametry tych obiektów, wiem jak zadeklarować funkcje itd. Ale nie wiem od czego zacząć robić ten program.

Ten program ma wyglądać ala snake. Jest dom z pokojami 3x3 tablica 5x5 gdzie brzegi to X a pokoje (obiekty) to 0 ale jeśli wejdę do pokoju to zmienia sie z 0 na 1 i mam poruszać się po tych pokojach używając 4 stron świata.

Treść

Przygotować klasę do przechowywania opisu pomieszczeń mających po 4 możliwe wyjścia. Klasa powinna zawierać następujące pola: opis, czy pomieszczenie

było odwiedzane, wskaźniki na pomieszczenia znajdujące się po wszystkich stronach świata (n-północ, e-wschód, s-południe, w-zachód). Metody dostępne w klasie: pobranie opisu, pobranie wska¹nika do pomieszczenia sąsiedniego (4 metody),

ustawienie statusu odwiedzin, sprawdzenie statusu odwiedzin. Przykładowy kod

demonstracyjny:

_ utworzyć 9 pomieszczeń (9 obiektów) w kwadracie 3x3,

_ przechować je w tablicy 3x3

_ wyświetlić pomieszczenia w następujący sposób:

_ iterujemy po tablicy:

_ jeżeli wskaźnik na sąsiednie pomieszczenie:

_ jest ustawiony - nie wyświetlamy w tym miejscu nic,

_ nie jest ustawiony - wyświetlamy X - czyli ścianę

_ same pomieszczenia wyświetlamy w zależności od statusu odwiedzin:

_ jest ustawiony - wyświetlamy 1,

_ nie jest ustawiony - wyświetlamy 0.

_ przejdź przez pomieszczenia, zaczynając od lewego górnego rogu (nw) i idąc

wg schematu: e, s, e, s, w

_ wyświetliś pomieszczenia raz jeszcze



Korzystać z trybu tekstowego, przed wyświetleniem można wypełnić sobie tablicę

znaków o rozmiarach 5x5 i w niej przechowywać poszczególne wartości korytarzy.

W wyniku drugiego wyświetlenia powinno sie nam pojawić na ekranie:

XXXXX

X110X

X011X

X011X

XXXXX

Zacząłem tak, ale ja nawet nie wiem jak się za to zabrać. Ogólnie nie mam planu od początku do końca jak to zrobić ale pierw chciałem utworzyć tablicę dwuwymiarową obiektów. Nie wiem też czy pierw nadać konstruktorem wartości czy pokój był odwiedzany czy przy inicjalizacji obiektów w tablicy. Metody na razie są puste bo nie wiem jak to wszystko będę robił.

#include 

#include 

#include 


using namespace std;


class room

{


public:

	string opis;

	int odwiedzony;

	int *polnoc;

	int *poludnie;

	int *zachod;

	int *wschod;


	//deklarowanie metod

	void pobieranie(string desc);

	void ust_odwiedzin(int gvis);

	void czy_odwiedzony(int is_vis);

};


//Pobieranie opisu

void room::pobieranie(string desc)

{


}


//ustawianie statusu odwiedzin

void room::ust_odwiedzin(int gvis)

{


}


//sprawdzanie statusu odwiedzin

void room::czy_odwiedzony(int is_vis)

{


}


int main()

{

	room* tablica = new room[2][2];



	system("PAUSE");

	return 0;

}