2016-12-05 14 views
0

게임에는 4 명이 있습니다. 각 플레이어는 라운드가 끝난 후 카드 황제가됩니다. 각 플레이어에게 할당 된 카드를 벡터로 저장했습니다. 이 게임에서 어떻게 라운드를 만들 수 있습니까? 내가 주 함수에서 루프를 만들어 4 번 실행하고 벡터를 지우고 루프 내에서 함수를 호출 할 수 있습니까?카드 게임 라운드

int main() 
{ 

vector<string> player; 
vector<string> blackCards; 
vector<string> whiteCards; 
vector<string> CardCzar; 
vector<string> player2; 
vector<string> player3; 
vector<string> player4; 
int sz = 0; 
int i = 0; 
string n; 

     for(i=0;i<4;i++) 
     { cout<<"Enter name for player"<<" "<< i+1 << " : "<<" "; 
     cin>> n; 
     player.push_back(n); 
    } 

BlackCards(blackCards); 
WhiteCards(whiteCards); 
order(player); 
sz = player.size(); 
cout<<" "<<endl; 
cout<<"*"<<player[sz - 4]<<" , you are the card czar for this round *" <<endl; 

assign_bcards(blackCards , CardCzar, player); 
assign_wcards(whiteCards, player2, player3, player4, player); 





    return 0; 
} 
+0

작동하지 않을 수 있습니다 무엇

class Player{ vector<string> whiteCards; vector<string> wonBlackCardsl //Boilerplate class code } vector<Player> players; *assign cards and create players* int currentCzar = 0; while(gameIsNotOver) { *Do game stuff* //Have players[currentCzar] choose a black card //Have every other player put down a white card currentCzar = (currentCzar+1) % numPlayers; } 

같은 것을 가질 수 있도록 ? – AndyG

+0

게임은 한 라운드 동안 진행됩니다. 내가 원하는 것은 플레이어 2가 카드 황제가되고 나머지 사람들이 일반 흰색 카드를 얻을 수 있도록 라운드가 끝나는 것입니다. 이것은 4 명의 모든 플레이어가 카드 칸이 될 때까지 반복되어야합니다. – Darklord098

+0

현재'main()'의 이름을'game_round()'로 변경하십시오. 그런 다음이를 호출하는 새로운'main()'을 작성하십시오. – hyde

답변

0

당신이 순서에있는 모든 플레이어 안타 원형 표시와 루프를 가질 수 라운드를 만들려면 : 여기 내 주요 기능입니다. 이 작업을 수행하는 쉬운 수치 방법은 currentCzar 이후

int currentCzar = 0; 
while(gameIsNotOver) 
{ 
    *Do game stuff* 
    currentCzar = (currentCzar+1) % numPlayers; 
} 

(currentCzar+1) % numPlayers; 

항상 값 C를 반환합니다 numPlayers보다 항상 적은 곳

0 <= c <= numPlayers-1 

은 그럼 그냥 다른 플래그가 말하게 당신은 언제 승리 조건처럼 경기를 그만 둘 수 있습니다. 또한 numPlayers는 배열의 크기입니다.

편집 : 데이터 구조화 방법을 변경하고자 할 수도 있습니다. 어쩌면 선수에게 클래스 나 구조체를함으로써 당신은 그럼 당신은 몇 훨씬 더 직접적인 방법으로 그들의 손에 선수 구체적으로 현재의 접근 방식에

+0

에 의해 '게임 물건'내 함수 호출을 의미합니까? 그리고이 루프는 주요 기능에 있을까요? – Darklord098

+0

게임의 실제 메커니즘, 현재 황제가 누구인지 알았고 누가 흑인 카드를 고르는 지 결정할 수 있습니다. 그러면 다른 사람들이 모두 흰색 카드를 내려 놓을 수 있습니다. 이 카운터를 사용하면 범위를 벗어난 인덱스에 대해 걱정할 필요없이 플레이어를 반복 할 수 있습니다. 그래서 그것은 당신에게 당신의 둥근 메커니즘을 줄 것입니다. * 게임 스터프는 라운드에서 일어나는 모든 일이 될 것입니다. 다음 큐어를 결정하는 것 외에 –

+0

클래스를 사용하지 않을 것입니다. OOP에 대한 일반적인 개념이 있지만 CS100 과정에는 포함되지 않았습니다. 그러나 그것의 지옥을 위해, 나는 일하지 않을 것을 제안하는 방법 일 것인가? 모든 함수 호출을 포함하는 주 함수 (아마 제안한 것과 같은)에 루프를 작성한 다음 끝에 각 플레이어의 모든 벡터를 지우시겠습니까? – Darklord098