Wywołanie metody obiektu w metodzie innego obiektu

0

Witam. Próbuję nauczyć się c#. Pierwszym zadaniem jakie postanowiłem wykonać jest przeniesienie małej gierki z C++ do C#. Problem pojawia się gdy deklaruję obiekt w funkcji Main i chcę się do niego odnieść w innej funkcji.

W C++ udało mi się to osiągnąć tworząc obiekt od razu po zadeklarowania klasy, dzięki czemu możliwe było stworzenie w innej klasie metody, która odnosiła się do obiektu tego obiektu:

 
void atakWilk() {														
		cout << " " << endl;
		double a = wilk1.podajstrike();											
		double b = gracz.obrazenia(a);											
		cout << "Wilk zadal Ci atak o sile rownej " << a << "." << endl;		
		if (gracz.podajHP() > 0) {												
			cout << "Pozostalo Ci " << b << " punktow zycia." << endl;
		}
		else cout << gracz.podajImie() << " nie żyje." << endl << "Ilosc zabitych istot: " << gracz.podajlicznik() << endl;
	};
0

Kod jest banalny, więc pokaż co napisałeś w C#, bo coś tu kręcisz.

0

W C# działa mi jeśli cała funkcję piszę w klasie głównej programu. Problem jest, kiedy chcę, aby ta funkcja należała do klasy... Innymi słowy podana w C++ funkcja należy do klasy wilk i jest w niej użyty obiekt gracz należący do klasy bohater. Obiekt gracz nie jest zadeklarowany w klasie wilk (do której należy obiekt wilk1). Gdyby to miało być w Main to bym nie pytał bo to banalne. Tutaj chcę aby w metodzie klasy x użyć obiektu y klasy z.

0

Ok. Udało mi się już rozwiązać problem. Uczynienie publicznymi klasy Program (klasa główna programu) oraz zadeklarowanych obiektów sprawiło, że wszystko działa. Sorrki za problem, dopiero zaczynam naukę z C#.

0
MadTiger napisał(a):

Ok. Udało mi się już rozwiązać problem. Uczynienie publicznymi klasy Program (klasa główna programu) oraz zadeklarowanych obiektów sprawiło, że wszystko działa. Sorrki za problem, dopiero zaczynam naukę z C#.

Dodam do tego, że zadeklarowane obiekty mają być statyczne. Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1