• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C++]Zapamiętywanie wyboru postaci w RPG

0 głosów
120 wizyt
pytanie zadane 29 grudnia 2016 w C i C++ przez drag2 Nowicjusz (170 p.)
mag m1;
	wojownik w1;
	zlodziej z1;
	switch (wyb_2)
	{
	case 1:
		
		srand(unsigned(time(0))); // losowanie umiejetnosci postaci
		w1.magia = rand() % 15 + 15;
		w1.obrona = rand() % 15 + 15;
		w1.sila = rand() % 20 + 30;
		w1.zwinnosc = rand() % 15 + 20;
		w1.zdr = 100;

		system("cls");
		cout << "	Wybrales Wojownika" << endl;
		Sleep(000);
		cout << "Umiejetnosci Twojej postaci: " << endl;
		Sleep(000);
		cout << "	Zdrowie: " << w1.zdr << endl;
		Sleep(000);
		cout << "	Magia: " << w1.magia << endl;
		Sleep(000);
		cout << "	Sila: " << w1.sila << endl;
		Sleep(000);
		cout << "	Obrona: " << w1.obrona << endl;
		Sleep(000);
		cout << "	Zwinnosc: " << w1.zwinnosc << endl;
		getchar(); getchar();
		gra();
		break;
	case 2:
		m1.magia = rand() % 15 + 25;
		m1.obrona = rand() % 15 + 25;
		m1.sila = rand() % 15 + 25;
		m1.zwinnosc = rand() % 15 + 25;
		m1.zdr = rand() % 15 + 30;

		system("cls");

		cout << "	Wybrales Maga" << endl;
		Sleep(000);
		cout << "Umiejetnosci Twojej postaci: " << endl;
		Sleep(000);
		cout << "	Zdrowie: " << m1.zdr << endl;
		Sleep(0000);
		cout << "	Magia: " << m1.magia << endl;
		Sleep(0000);
		cout << "	Sila: " << m1.sila << endl;
		Sleep(000);
		cout << "	Obrona: " << m1.obrona << endl;
		Sleep(000);
		cout << "	Zwinnosc: " << m1.zwinnosc << endl;
		Sleep(000);
		getchar(); getchar();
		gra();
		break;
	case 3:
		z1.magia = rand() % 10 + 5;
		z1.obrona = rand() % 15 + 15;
		z1.sila = rand() % 15 + 15;
		z1.zwinnosc = rand() % 15 + 30;
		z1.zdr = 100;

		system("cls");
		cout << "	Wybrales Zlodzieja" << endl;
		Sleep(000);
		cout << "Umiejetnosci Twojej postaci: " << endl;
		Sleep(000);
		cout << "	Zdrowie: " << z1.zdr << endl;
		Sleep(000);
		cout << "	Magia: " << z1.magia << endl;
		Sleep(000);
		cout << "	Sila: " << z1.sila << endl;
		Sleep(000);
		cout << "	Obrona: " << z1.obrona << endl;
		Sleep(000);
		cout << "	Zwinnosc: " << z1.zwinnosc << endl;
		getchar(); getchar();
		gra();
		break;

	} 

Witam. Mam nadzieję, że mi pomożecie. Tworzę RPG i nie wiem jak zapamiętać wybór postaci w dalszej części gry. Stworzyłem klasy, switcha wybierającego postać i losującego umiejętności. Po wybraniu przechodzimy do funkcji gra i tam chciałbym żeby już było zapamiętane kim gramy i jakie ma statystyki.

6 odpowiedzi

+1 głos
odpowiedź 29 grudnia 2016 przez prownnie Początkujący (290 p.)
Wydaje mi się, że obiekty powinieneś tworzyć w funkcji gra. I tak w ogóle poczytaj o polimorfizmie. Najlepiej jakbyś stworzył sobie klasę Player, potem podklasy Wojownik, Mag, itp., itd. i w zależności od tego co wybierzesz, przestawiał wskaźnik na którąś z tych klas.
+1 głos
odpowiedź 29 grudnia 2016 przez theochse Obywatel (1,170 p.)

Ach, pamiętam te początki, gdy miało się w głowie tyle pomysłów i wszystkie chciało się zrobić. Niestety moja wiedza była niewystarczająca, sam to teraz widzę  ;) Programuj proste (ale jednocześnie wymagające) programy dalej. Naucz się programowania obiektowego i wtedy będziesz mógł działać z grą :)

0 głosów
odpowiedź 29 grudnia 2016 przez dewe Gaduła (4,220 p.)
zawartości zmiennych zapisujesz do pliku txt.
0 głosów
odpowiedź 29 grudnia 2016 przez playerony Stary wyjadacz (14,920 p.)
Jeżeli masz jedną klasę, która stanowi "trzon gry" to wystarczy w niej przechowywać obiekt klasy Player i tyle.
0 głosów
odpowiedź 29 grudnia 2016 przez Davaeth Nowicjusz (180 p.)

A gdybyś spróbował te obiekt "wczytać" potem w funkcji?

Chodzi m o to, że spróbuj np.

 

void gra(bla bla bla)
{
     w1;    /*albo*/    w1.cos_tam;
}

Zobacz czy coś w ten sposób uda Ci się zrobić.

Od razu mówię, że ja również dopiero zacząłem pracę z obiektem, więc to taki pomysł który mi przyszedł do głowy gdy spojrzałem na problem. Może okazać się błędny.

0 głosów
odpowiedź 29 grudnia 2016 przez morele123 Gaduła (4,850 p.)
Odwołuj się tak samo jak tutaj czyli np. mag.zwinnosc . Jedynie musisz napisać public: w klasie, bo chyba classa domyślnie jest private.

Podobne pytania

0 głosów
1 odpowiedź 33 wizyt
pytanie zadane 31 sierpnia w HTML i CSS przez amiluke Użytkownik (710 p.)
0 głosów
1 odpowiedź 73 wizyt
pytanie zadane 26 stycznia 2016 w PHP, Symfony, Zend przez TheBan Obywatel (1,420 p.)
0 głosów
1 odpowiedź 82 wizyt
pytanie zadane 11 grudnia 2015 w C i C++ przez robertwe Bywalec (2,950 p.)
Obowiązuje już zaktualizowany regulamin.

Czy wiesz, że nie musisz już odświeżać strony głównej?

Lista pytań i odpowiedzi aktualizuje się automatycznie!

38,678 zapytań

76,597 odpowiedzi

149,656 komentarzy

18,091 pasjonatów

Przeglądających: 173
Pasjonatów: 2 Gości: 171

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...