내 프로그래밍 수업에서 배우는 것을 사용하여 C++로 된 작은 텍스트 기반 턴 기반 전투 게임을 만들고 있습니다. 더 복잡한 개념을 사용하거나 인식하는 방법을 모를 수도 있습니다.전역 변수를 사용하지 않고 함수간에 많은 변수를 사용하려면 어떻게해야합니까?
나는 게임에서 많은 변수를 가지고 있으며, 플레이어가 특정 아이템을 가지고 있는지, 건강, 갑옷을위한 ints 등을 확인하기 위해 bool을 가지고있다. 나는 전역 변수를 사용하지 말아야한다는 것을 알고 포인터를 사용할 것이다. 함수간에 변수를 전달하십시오.
은 일반적으로 이것은 문제가되지 않을 것입니다 :
attack(int *health, int *armor);
하지만 난 뭔가이 닮은 있습니다
attack(int *health, int *armor, int *enemyHealth, int *enemyArmor, ......etc);
그것은 입력 지루한가되어 즉시 해결책이 될 것입니다 전역 변수를 사용하고 있습니다. 그러나 나는 다른 방법을 알고 싶다. 또한 함수를 호출 할 때 플레이어가 아무 것도 입지 않으면 "갑옷"을 전달할 필요가없는 경우가 있습니다. 이것은 또한 많은 것을 만들어야 함을 의미합니다.
if (*armor != nullptr)
{
do things
}
솔루션? 이것이 명확하지 않은 경우에 미리 죄송합니다. 나는이 사이트를 처음 사용하므로 대답을 이해하는 데 잠시 시간이 걸릴 수 있습니다. 모두 감사합니다! :)
이 (가 난 그냥 우연히대로이 문제의하지 많은 경우는 아직,하지만 내 함수 호출을 보면이 다소 명확하게한다) 당신은
을 클래스/구조체에 대해 배웁니다. C++ 책을 가져옵니다. – Rapptz
구조체를 사용하고 포인터로 전달합니다. 또는 C++에서 포인터 대신 참조를 사용합니다. –