Witam. Robie że tak powiem gre. Mam funkcje mapa która sprawdza pozycje. Jesli ta funkcja jest w main ona normalnie działa, jezeli jest w innym pliku (.hpp) to program kompiluje sie, jednak nie ma tak jakby zmiennych które są w tej funkcji.
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <cstdlib>
#include "Funkcje/eq.hpp"
#include "Funkcje/menu.hpp"
#include "Funkcje/mapa.hpp"
using namespace std;
int x=0,y=0;
string rasa;
string nazwapostaci;
int menu();
int eq();
//------SWIAT------//
int mapa(int y,int x,string lokacja,string decyzja_postaci1,string decyzja_postaci2,string decyzja_postaci3,string decyzja_postaci4);
int main()
{
HANDLE h0ut;
h0ut = GetStdHandle(STD_OUTPUT_HANDLE );
SetConsoleTextAttribute(h0ut, FOREGROUND_RED);
/*------------------------------<<<MENU>>>*/
menu();
//----------------------------NAZWA-POSTACI-----------------------------//
system("cls");
cout <<"Wpisz swoja nazwe postaci:";
cin >>nazwapostaci;
system("cls");
//----------------------------RASY---------------------------------//
cout <<"Wybierz rase:"<<endl;
cout <<"[1].Czlowiek [3].Elf"<<endl;
cout <<"[2].Ogr [4].Mutant"<<endl;
switch(getch())
{
case '1':
rasa="Czlowiek";
break;
case '2':
rasa="Ogr";
break;
case '3':
rasa="Elf";
break;
case '4':
rasa="Mutant";
break;
}
system("cls");
//---------------------------------------------WSTEP-----------------------------------//
cout <<"Witaj w grze "<<nazwapostaci<<" wybrales rase:"<<rasa<<endl;
cout <<endl;
cout <<"Na poczatku znajdujesz sie na pozycji (0,0)"<<endl;
cout <<endl;
cout <<"Dla komfortu ustaw konsole na wymiary 12x16 oraz czionke rastrowa :)"<<endl;
//-------------------------------------------ROZGRYWKA-------------------------------//
//-----PORUSZANIE-SIE-I-LOKACJE--------//
char ruch;
do{
mapa(x,y,lokacja,decyzja_postaci1,decyzja_postaci2,decyzja_postaci3,decyzja_postaci4);
cout <<"Znajdujesz sie na pozycji ("<<x<<","<<y<<")"<<endl;
cout <<"Twoja lokacja to: "<<lokacja<<endl;
cout <<"----------RUCH--------------|----DECYZJE-POSTACI--------------------------------";
cout <<" [W]Naprzod | 1."<<decyzja_postaci1<<" 3."<<decyzja_postaci3<<endl;
cout <<"[A]Lewo [S]Cofnij [D]Prawo | 2."<<decyzja_postaci2<<" 4."<<decyzja_postaci4<<endl;
ruch=getch();
if(ruch=='W'||ruch=='w')
{
y++;
}
if(ruch=='S'||ruch=='s')
{
y--;
}
if(ruch =='A'||ruch=='a')
{
x--;
}
if(ruch =='D'||ruch=='d')
{
x++;
}
if (ruch == 'E'||ruch=='e')
{
eq(rasa,nazwapostaci);
}
if (ruch == 27)
{
exit (0);
}
system("cls");
}while(true);
return 0;
}
A tutaj jest mapa.hpp
string lokacja;
string decyzja_postaci1,decyzja_postaci2,decyzja_postaci3,decyzja_postaci4;
int mapa(int y,int x,string lokacja,string decyzja_postaci1,string decyzja_postaci2,string decyzja_postaci3,string decyzja_postaci4)
{
bool sprawdzenie=false;
if( x==2&&y==2)
{
sprawdzenie=true;
lokacja="Zamek";
decyzja_postaci1="Wejdz do zamku";
}
if(sprawdzenie==false)
{
lokacja="Brak";
decyzja_postaci1="Brak";
decyzja_postaci2="Brak";
decyzja_postaci3="Brak";
decyzja_postaci4="Brak";
}
}