Cześć, tak jak w temacie, jako, że są wakacje, studia etc. czas ruszyć 4 litery i w końcu zacząć robić coś pożytecznego. Niżej będzie kod tego "dzieła", a potem kilka pytań. Proszę o dojrzałe odpowiedzi, bez bezmyślnego hejtu, jestem "poziom 0", ale próbuje coś robić. A więc pytania:
main.cpp
#include <iostream>
#include <cstdlib>
#include "klasy.h"
using namespace std;
string imie;
int main()
{
cout << "Witaj w grze, Oto kreator postaci" << endl;
cout << "Podaj imie swojej postaci: " << endl;
cin >>imie;
postac glowna;
for(;;)
{
glowna.co_robic();
}
return 0;
}
#include <iostream>
#include <cstdlib>
using namespace std;
class postac
{
public:
/* Statystyki postaci */
int Max_zdrowie=100;
int Akt_zdrowie=98;
int pancerz=100;
int zloto=50;
/* Metody */
void informacje();
void co_robic();
void gdzie_isc();
void karczma();
//void konsola();
};
#include <iostream>
#include "klasy.h"
#include <cstdlib>
#include <time.h>
using namespace std;
void postac::co_robic()
{
string wybor;
cout<<"Co chcesz zrobic ?"<<endl;
cin >>wybor;
if(wybor=="zakoncz") exit(0);
if(wybor=="idz") gdzie_isc();
if(wybor=="informacje") informacje();
}
void postac::gdzie_isc()
{
string kierunek;
cout<<"Gdzie chcesz isc ? PLN/POL/WSCH/ZACH"<<endl;
cin >>kierunek;
srand(time(NULL));
int losowanie_sciezki=rand()%20+1;
if(losowanie_sciezki>=11 && losowanie_sciezki<=20) cout<<"Idziesz dluga, az nagle pojawia sie wielki czarny las, w twoim sercu pojawia sie zwatpienie"<<endl;
if(losowanie_sciezki<=10) karczma();
}
void postac::karczma()
{
string wybor;
int menu;
cout<<"Z daleka widzisz puchajace ogien pochodni, oraz odglosy awantur.Tak to karczma."<<endl;
cout<<"Pytanie czy powinnienes a co wazniejsze czy potrzebujesz tam wejsc?"<<endl;
while(wybor!="tak"||wybor!="nie")
{
cin>>wybor;
if(wybor=="tak") {cout<<"Witaj w naszej karczmie przybyszu. Oto co moge Ci zaoferowac"<<endl<<endl;
cout<<"1.Ciepla strawe (koszt:5 zlota) \n2.Pokoj do przenocowania (koszt: 15 zlota) \n3.Mikstury lecznicze (koszt 10 zlota) \n4.Wyjdz"<<endl;cin>>menu; if(menu=1)if(Akt_zdrowie<Max_zdrowie&&Akt_zdrowie+10<=Max_zdrowie){Akt_zdrowie=Akt_zdrowie+10;}else if(Akt_zdrowie+10>Max_zdrowie){int wartosc_jedzenia; wartosc_jedzenia=Max_zdrowie-Akt_zdrowie; Akt_zdrowie=Akt_zdrowie+wartosc_jedzenia;}zloto=zloto-5;}
else
if(menu=4) co_robic();
else
if(wybor=="nie") co_robic();
else
cout<<"nieznane polecenie"<<endl;
}
}
void postac::informacje()
{
cout<<Akt_zdrowie<<endl;
cout<<zloto<<endl;
}
A teraz kilka pytań:
1. Czy własnie tak powinien wyglądać main? bo większość "akcji" jest w plik.cpp
2.Czy moje nadużywanie void jest tutaj potrzebne? Jakoś nie mogę się przekonać do używania innych. Oglądałem już kilka razy odcinek o funkcjach/metodach, również czytałem z innych źródeł i nadal jakbym nie czuł różnicy.
3.Funkcja walki powinna być w klasie czy w pliku main ? Chce napisać metode/funkcje walki bo przecież gra bez walki to słaba gra. Nie wiem gdzie ją napisać, jak napisać pewnie wczesniej czy pozniej wymysle.
4.Szansa % w c++ czy istnieje jakaś funkcja czy mój sposób jest znośny ?
To chyba tyle z pytań, przypominam: Proszę bez bezsensownego hejtu, w szkole nauka programowania stoi w miejscu a w roku szkolnym cieżko zoorganizować czas. Wiem ze żadna to wymówka, ale mówi sie trudno