2016-11-25 9 views
0

좋아요, 그렇다면 클래스 내의 플레이어 이름 벡터와 파일에서 읽는 로그인 및 로그인 시스템이 있습니다. (예 : Allura.txt 또는 Bob.txt). ";" 사용자 이름과 암호는로 구분 저장, 나는의 getline 기능을 구분 기호로 사용하는 :벡터에서 플레이어 통계 가져 오기

getline(ReadFile, filename, ';'); 
getline(ReadFile, filepass, ';'); 

가 지금은 갇혔어요. 플레이어가 '통계'를 입력 할 때마다 명령을 생성했습니다. C++에서 어떤 플레이어가 통계를 입력하는지 파악하고 플레이어가 매번 벡터를 검색하기 위해 이름을 정의하라는 메시지를 표시하지 않고 벡터에서 해당 플레이어의 통계를 인쇄하는 가장 좋은 해결책은 무엇입니까? 임시 변수를 사용할 수는 있지만 한 명 이상의 플레이어가 통계를 입력하면 해당 변수는 다음 플레이어로 덮어 쓰게됩니다. 필요한 경우 더 명확하게 설명 할 것입니다. 나는 이것을 며칠 동안 혼동했다.

+0

홈페이지 : http://pastebin.com/61WkGFuM Character.h 클래스 파일 : http://pastebin.com/v0Aa4hrz

여기 FSM 디자인에 큰 가이드입니다 Character.cpp 소스 파일 : http://pastebin.com/y7HWZ9cY –

답변

0

아마도 UI가 FSM (Finite State Machine) 일 수 있기를 원할 것입니다. 이 시점에서 로그 아웃 및 로그인 한 두 가지 상태가 있습니다.

사용자가 "login"명령을 성공적으로 실행하면 UI는 어떤 사용자가 로그인했는지 기록하고 "stats"명령을 사용할 수있는 상태로 이동합니다. '통계'는 저장된 사용자 이름을 사용하여 해당 사용자의 통계를 표시 할 수 있습니다. http://gameprogrammingpatterns.com/state.html

+0

감사합니다. 여기에서 매우 복잡합니다. 이제 프로그램에서 플레이어가 stats 명령을 사용하여 로그인했는지 여부를 감지하지만 벡터에 플레이어 이름이 두 개 이상있는 경우 어떤 플레이어가 stats 명령을 입력했는지 감지 할 수있는 방법이 없습니다. 게임이 컨테이너를 사용할 때 어떤 플레이어인지를 어떻게 이해하는지 이해하지 못한다. –