• 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

Object Storage Arubacloud
0 głosów
627 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ź 155 wizyt
pytanie zadane 31 sierpnia 2017 w HTML i CSS przez amiluke Obywatel (1,120 p.)
0 głosów
1 odpowiedź 250 wizyt
pytanie zadane 26 stycznia 2016 w PHP przez TheBan Obywatel (1,400 p.)
+1 głos
1 odpowiedź 318 wizyt
pytanie zadane 24 listopada 2022 w C i C++ przez benny13 Obywatel (1,150 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...