2016-12-05 2 views
1

이것은 간단한 턴 기반 게임을위한 턴 카운터를 만드는 시작입니다. 현재 무한 루프 일지라도, 내가하고 싶은 일을 더 훌륭하게 또는보다 세련되게하는 방법이 있다면 궁금해합니다. 완벽한 게임을 진행하면서 플레이어를 순서대로 유지하십시오.중첩 된 for 루프 내부 플레이어의 턴 순서를 유지하는 동안 수행

public class Main { 
    public static void main(String args[]){ 

     int i;  // player turn counter 
     int j = 6; // number of players created + 1 

     do { 
      for (i=1; i < j; i++){ 
       System.out.println("Player " + i); // just for visualization 
      } 
     }while (true); 
    } 
} 

저는 매우 새로운 자바입니다. 나는 for 루프가 -1을 더하는 것을 피하기 위해 기본적인 루프가 필요하다는 것을 발견했다.

조건이 승자에 대한 확인 될 것입니다 동안 내는 말 :

while(winner == false) 

또는 단일 =while(winner == false) 몇 가지 관찰, 완전히 괜찮

while(!winner) 
+1

실제로 'while (! winner)'. 'while (winner = false)'는'= '가 할당 연산자이기 때문에 확실히 원하지 않습니다. – khelwood

+1

'='은 대입 연산자입니다. 비교를 위해서'=='를 사용하십시오. – Pshemo

+0

내가 편집했습니다. 나는 그다지 새로운 것이 아니다, 나는 제출을 명중하기 전에 그것을 붙 잡지 않았다. Thanks @khelwood –

답변

1

귀하의 방법이 현재 가장 좋은 시나리오 인 것으로 보입니다. 다른 방법은 배열을 사용하여 여기에있는 것들을 복잡하게합니다. 비록 당신은이 좋은 일을하고 다른 루프를 절약 할 수 루프

for (i=1; i < j && winner == false; i++) 
    { 
     System.out.println("Player " + i); 
     if(i==j) 
      i=1; 
    } 

의에 !winner의 조건을 추가 할 수 있습니다, 중첩 된 루프를 저장합니다.

+0

아직 배열이 아닙니다. 내 코드 스 니프에'! winner'를 추가하고 위의 질문도 편집했습니다. ty @Yashovardhan –

+0

이제 do do while 루프를 더 이상 사용하지 않아도됩니다. – Yashovardhan

+0

if 조건을 추가하여 i == j를 확인한 다음 다시 1로 설정할 수 있습니다. – Yashovardhan

0

할당 및 ==을 의미 비교를 의미합니다.