369 게임 문법 알아보기

Kim Da HEE·2023년 11월 29일
0

Dart 언어

목록 보기
1/11

오름캠프 이틀차! 369게임을 만들어보았다.

처음 코딩을 하는길은 막막하고 앞이 하나도 보이지 않는 정글을 가는것 같았고, 내 길을 내가 만들진 못했지만 누군가 뚫어 놓은 길을 직접 걸어보며 길을 익히는 시간은 되었다고 생각한다.

이제 365 게임에서 제시된 문제와 기초적인 문법들을 알아보고 제시된 문제를 분석해 보자

문제

4명의 플레이어가 369게임을 한다.

  • 플레이어는 돌아가며 숫자를 출력하고, 30의 배수에는 'ahh'를, 3의 배수에는 'clap'을, 10의 배수에는 'rool'을 출력한다.

범위 1 에서 100 까지

  • clap, rool, ahh의 총 갯수 출력
  • 플레이어 당 clap 횟수 출력
  • 가장많은 clap을 한 플레이어 출력

기초 문법

for 문

  • 예시
for (int i = 0; i < 100; i++) {
  print(i);
}
``
(i가 0에서 시작하여 99까지 반복하며) {매 반복마다 'i'를 출력한다} 

if문
if( )이면 { }해라 else if( )이면 { }해라 else 이면 {}해라

  • 예시
  if (number > 0) {
    print("positive");
  } else if (number < 0) {
    print("negative");
  } else {
    print("zero");
  }
}

문법 분석

  • List로 플레이어 4명을 선언하고, 변수를 지정한다.
  List<String> players = ['Player1', 'player2', 'player3', 'player4']; //   플레이어 4명 지정
  int currentPlayerIndex = 0;  //현재 플레이어 순서
  int clapCount = 0;   //총 clap 갯수
  int roolCount = 0;   //총 rool 갯수
  int ahhCount = 0;    //총 ahh 갯수
  List<int>clapCounts = [0,0,0,0]; 각 clap 갯수
  • 이제 각자의 플레이어가 자신의 차례에 숫자 또는 ahh, clap, rool을 말할 수 있게 for 문과 if 문을 사용해서 제어구문을 만든다.
 for(int i =1; i<=100;i++){     
 // for 구문:  1부터 100까지 i는 1씩 증가하는 동안, 

    String currentPlayer=players[currentPlayerIndex]; 
    //리스트 'Players'에서 currentPlayerIndex'를 순서로 갖는 요소 를 변수 'currentPlayer'로 선언
    
    
    if(i%30==0){
      print('$currentPlayer:ahh');
      ahhCount ++;}
      //만약 i를 30으로 나눈 나머지가 0이면, 'currentPlayer 변수 : ahh ' 출력하고
      'ahhCount'1을 더해라
      
    else if(i%3==0){
      print('$currentPlayer:clap');
      clapCount ++;
      clapCounts[currentPlayerIndex]++;
      //만약 i를 3으로 나눈 나머지가 0이면, 'currentPlayer 변수 : clap ' 출력하고
      //'clapCount'에 1을 더해라 clapCounts[currentPlayerIndex] : ('currenPlayerIndex'를 순서로 갖는'clapCounts'의 요소)에 1을 더해라
      
    }else if(i%10==0){
      print('$currentPlayer:rool');
      roolCount++;
    }else{print('$currentPlayer:$i');}
    //만약 i를 10으로 나눈 나머지가 0이면, 'currentPlayer 변수 : i변수 ' 출력하고
      //'roolCount'에 1을 더해라
  • 플레이어가 순서대로 숫자를 외칠수있도록 currentPlayerInex를 설정하고 각 횟수를 출력한다.
 currentPlayerIndex=(currentPlayerIndex+1)%players.length; 
  } // currentPlayerIndex 에 (currentPlayer +1)를 players의 요소 갯수로 나눈 나머지를 대입해라
  print(clapCount);  //'clapCount'를 출력해라
  print(roolCount);  // 'roolCount'를 출력해라
  print(ahhCount);  // 'ahhCount'를 출력해라
  
  • 각 플레이어별 clap횟수를 출력하고, 가장 clap 을 많이 한 플레이어를 출력한다.
* int maxClapCount = 0;
  String maxClapPlayer = '';
  for(int i=0; i<players.length;i++){
    int count = clapCounts[i];
    print('${players[i]}: $count');
    if(count>maxClapCount){
      maxClapCount = count;
      maxClapPlayer=players[i];
    }

  }print('\n 가장 많은 clap을 출력한 플레이어: $maxClapPlayer');
}

0개의 댓글