Witam :) Piszę program jednoręki bandyta, w ramach projektu. Program mi działa, ale w założeniach programu są języki obce. Nie mam pomysłu jak mogę uniwersalnie w menu wyświetlać dowolny język, tzn jak to uniwersalnie napisać. Do tej pory poprostu skopiowałem całe menu i zamiast polskich komend wpisałem w języku obcym. Pierwszy pomysł to utworzenie plików tekstowych, w których będą komendy w danym języku i napisanie funkcji która będzie wczytywać z pliku komendy. Problem chyba jest taki, że linijki będą wczytywane po kolei, a przecież użytkownik może wybierać różne opcje i wtedy nastapi wczytanie nie tych koment co trzeba. Proszę bardzo o pomoc.
void menu_glowne(int &liczba, int &zeton,Lista *&g)
{
Rolka A[3];
string imie;
char kontynuacja;
int wygrane=50,a;
int jezyk;
bool czygral=false;
bool ranking= false;
cout<<"_______________________"<<endl;
cout<<" JEDNOREKI BANDYTA"<<endl;
cout<<"_______________________"<<endl;
cout<<endl;
cout<<" Witaj"<<endl;
cout<<endl;
cout<<"Wybierz jezyk:"<<endl;
do
{
cin.clear();
cin.sync();
cout<<"[1].Polski"<<endl;
cout<<"[2].Angielski"<<endl;
cout<<"[3].Niemiecki"<<endl;
cin>>jezyk;
}while(jezyk<1 || jezyk>3);
switch(jezyk)
{
case 1:
{
do
{
cout<<"Zetony:"<<endl;
cout<<wygrane<<endl;
cout<<"Menu wyboru: "<<endl;
cout<<"[1].Start"<<endl;
cout<<"[2].Lista graczy i wyniki"<<endl;
cout<<"[3].Zakoncz"<<endl;
cout<<endl;
do
{
cin.clear();
cin.sync();
cout<<"Wybierz: "<<endl;
cin>>liczba;
}while(liczba<1 || liczba>3);
switch(liczba)
{
case 1:
{
if(czygral==false)
{
cout<<"Podaj imie"<<endl;
cin>>imie;
}
czygral=true;
ranking=false;
do
{
cin.clear();
cin.sync();
cout<<"Wybierz ile zetonow chcesz postawic:"<<endl;
cout<<"[1]"<<endl;
cout<<"[2]"<<endl;
cout<<"[3]"<<endl;
cin>>zeton;
}while((zeton<1 || zeton>3)||(zeton>wygrane));
losowanie(A);
switch(porownanie(A))
{
case 0:
cout<<"Niestety nic nie wygrales"<<endl;
wygrane=odejmowanie(wygrane,zeton);
break;
default:
a=przelicznik(porownanie(A),zeton);
cout<<"Wygrales "<<a<<" zetonow!"<<endl;
wygrane=dodawanie(wygrane,a,zeton);
break;
}
}break;
case 2:
{
ranking=true;
if(czygral==true)
{
dodaj_gracza(g,wygrane,imie);
zapisz_liste(g);
czygral=false;
wygrane=50;
}
wyswietl_liste(g);
}
break;
case 3:
cout<<"Zegnaj"<<endl;
exit(0);
break;
}
cin.clear();
cin.sync();
if(wygrane>0)
{
do
{
cout<<"Czy chcesz kontynuowac? [t/n]:"<<endl;
cin>>kontynuacja;
if(kontynuacja=='n'&&ranking==false)
{
dodaj_gracza(g,wygrane,imie);
zapisz_liste(g);
}
}while(kontynuacja!='t' && kontynuacja!='n');
system("cls");
}
else
cout<<"Niestety nie masz wystarczajacej liczby zetonow by grac dalej."<<endl;
}while(kontynuacja=='t' && wygrane>0);
}break;
case 2:
{
do
{
cout<<"Tokens:"<<endl;
cout<<wygrane<<endl;
cout<<"Selection menu: "<<endl;
cout<<"[1].Start"<<endl;
cout<<"[2].List of players"<<endl;
cout<<"[3].Game over"<<endl;
cout<<endl;
do
{
cin.clear();
cin.sync();
cout<<"Choose: "<<endl;
cin>>liczba;
}while(liczba<1 || liczba>3);
switch(liczba)
{
case 1:
{
if(czygral==false)
{
cout<<"State your name"<<endl;
cin>>imie;
}
czygral=true;
ranking=false;
do
{
cin.clear();
cin.sync();
cout<<"How much tokens can you get:"<<endl;
cout<<"[1]"<<endl;
cout<<"[2]"<<endl;
cout<<"[3]"<<endl;
cin>>zeton;
}while((zeton<1 || zeton>3)||(zeton>wygrane));
losowanie(A);
switch(porownanie(A))
{
case 0:
cout<<"Sorry, but you lose"<<endl;
wygrane=odejmowanie(wygrane,zeton);
break;
default:
a=przelicznik(porownanie(A),zeton);
cout<<"You win "<<a<<" tokens!"<<endl;
wygrane=dodawanie(wygrane,a,zeton);
break;
}
}break;
case 2:
{
ranking=true;
if(czygral==true)
{
dodaj_gracza(g,wygrane,imie);
zapisz_liste(g);
czygral=false;
zeton=50;
}
wyswietl_liste(g);
}
break;
case 3:
cout<<"Goodbay"<<endl;
exit(0);
break;
}
cin.clear();
cin.sync();
if(wygrane>0)
{
do
{
cout<<"Do you want to continue? [y/n]:"<<endl;
cin>>kontynuacja;
if(kontynuacja=='n'&&ranking==false)
{
dodaj_gracza(g,wygrane,imie);
zapisz_liste(g);
}
}while(kontynuacja!='y' && kontynuacja!='n');
system("cls");
}
else
cout<<"Sorry but you doesn't have tokens and you can't continue the game."<<endl;
}while(kontynuacja=='y' && wygrane>0);
}break;
case 3:
{
do
{
cout<<"Geld:"<<endl;
cout<<wygrane<<endl;
cout<<"Auswahlmenu: "<<endl;
cout<<"[1].Start"<<endl;
cout<<"[2].Liste des Spieler"<<endl;
cout<<"[3].Ende des Spiele"<<endl;
cout<<endl;
do
{
cin.clear();
cin.sync();
cout<<"Wahle: "<<endl;
cin>>liczba;
}while(liczba<1 || liczba>3);
switch(liczba)
{
case 1:
{
if(czygral==false)
{
cout<<"Geben Sie Ihren vollen Namen an: "<<endl;
cin>>imie;
}
czygral=true;
ranking=false;
do
{
cin.clear();
cin.sync();
cout<<"Wie viele Geld konnen Sie stellen:"<<endl;
cout<<"[1]"<<endl;
cout<<"[2]"<<endl;
cout<<"[3]"<<endl;
cin>>zeton;
}while((zeton<1 || zeton>3)||(zeton>wygrane));
losowanie(A);
switch(porownanie(A))
{
case 0:
cout<<"Es tut mir leid, aber verlieren Sie"<<endl;
wygrane=odejmowanie(wygrane,zeton);
break;
default:
a=przelicznik(porownanie(A),zeton);
cout<<"Gewinnen Sie "<<a<<" Geld!"<<endl;
wygrane=dodawanie(wygrane,a,zeton);
break;
}
}break;
case 2:
{
ranking=true;
if(czygral==true)
{
dodaj_gracza(g,wygrane,imie);
zapisz_liste(g);
czygral=false;
zeton=50;
}
wyswietl_liste(g);
}
break;
case 3:
cout<<"Auf Wiedersehen"<<endl;
exit(0);
break;
}
cin.clear();
cin.sync();
if(wygrane>0)
{
do
{
cout<<"Wollen Sie fortfahren? [j/n]:"<<endl;
cin>>kontynuacja;
if(kontynuacja=='n'&&ranking==false)
{
dodaj_gracza(g,wygrane,imie);
zapisz_liste(g);
}
}while(kontynuacja!='j' && kontynuacja!='n');
system("cls");
}
else
cout<<"Tut mir leid, aber du hast keine Token und du kannst das Spiel nicht fortsetzen."<<endl;
}while(kontynuacja=='j' && wygrane>0);
}break;
}
}