• 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

VPS Starter Arubacloud
0 głosów
605 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 (280 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,310 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,300 p.)
zawartości zmiennych zapisujesz do pliku txt.
0 głosów
odpowiedź 29 grudnia 2016 przez playerony Pasjonat (15,240 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,790 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ź 154 wizyt
pytanie zadane 31 sierpnia 2017 w HTML i CSS przez amiluke Obywatel (1,120 p.)
0 głosów
1 odpowiedź 244 wizyt
pytanie zadane 26 stycznia 2016 w PHP przez TheBan Obywatel (1,400 p.)
+1 głos
1 odpowiedź 300 wizyt
pytanie zadane 24 listopada 2022 w C i C++ przez benny13 Obywatel (1,150 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...