본문 바로가기
코스웨어/10년 스마트폰BSP

[BSP]업무일지 - 임종현 -20100730

by 알 수 없는 사용자 2010. 8. 2.
728x90
반응형
java- 볼링게임 입니다.
아직 80%정도의 작업상태 입니다.


 

아직 미완성인 소스 코드입니다.

package game;
import java.io.IOException;
import java.util.Scanner;

public class bowling
{
 public static void main(String[] args)throws IOException
 {
  
  Scanner input = new Scanner(System.in);
  int frm; //프레임카운트
  int []f_num = new int[20]; //첫번째 점수
  int []s_num = new int[20]; //두번째 점수
  int []result= new int[10]; //합계
  int i = 0;
  
 
   for(frm=0; frm <=9; frm++)
   { 
  
    while(true)
    {
    System.out.print("첫번째 핀을 쓰러뜨린 개수(0~10) :");
     f_num[frm] = input.nextInt();//첫번째 핀 입력
     if(f_num[frm] < 11) 
      break;
     System.out.println("잘못 입력되었습니다.");
    } 
    
    if(10 - f_num[frm] != 0)//핀이 남아 있지 않을경우 남은핀 출력하지 않음
    {
    System.out.println("\n남은핀수 :" + (10 - f_num[frm]));
    }     
     
    if(f_num[frm] == 10)
    {
     System.out.print("strake\n");
     s_num[frm] = 0;
    }
    else
    {
     while(true)
     {
      System.out.printf("\n두번째 핀을 쓰러뜨린 개수 (1" + "~%d) :",10 - f_num[frm]);
      s_num[frm] = input.nextInt();
      if(s_num[frm] < 11) 
       break;
      System.out.println("잘못 입력되었습니다.");
     } 
     
    }
     
    if((f_num[frm] + s_num[frm]) == 10)
    {
     if(f_num[frm] != 10)
      System.out.println("spare");
    }
    else
    {
     System.out.println("\n남은핀수 :" + (10 - (f_num[frm] + s_num[frm])));
    }
    
    System.out.println("Frame"+frm);//프레임 카운트
    System.out.println("┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────────┐");
    System.out.println("│   1   │   2 │   3   │   4 │   5   │   6   │   7   │   8   │   9   │    10     │");
    System.out.println("├───┬───┼───┬───┼───┬───┼───┬───┼───┬───┼───┬───┼───┬───┼───┬───┼───┬───┼───┬───┬───┤");
    
    for(i = 0 ; i <= 9 ; ++i)
    {
     if(f_num[i] == 10)
     {
      System.out.print("│ X │ "+s_num[i] + " ");//스트라이크일 경우 'X'를 출력한다.
     }
     else if(f_num[i] + s_num[i] == 10)
     {
      System.out.print("│ "+f_num[i]+" │ / "); //스페어일 경우 '/'를 출력한다.
     }
     else
     {
      System.out.print("│ "+f_num[i]+" │ "+s_num[i] + " ");//이도저도 아닐경우 핀의 수를 출력한다.
     }
    }
    System.out.println("│   │");
    
    System.out.println("├───┴───┼───┴───┼───┴───┼───┴───┼───┴───┼───┴───┼───┴───┼───┴───┼───┴───┼───┴───┴───┤");
    //System.out.print("│");
    for(i = 0 ; i <= frm ; ++i)
    {
     if(i > 0) //핀을 하나라도 맟춘경우
     {
      if(f_num[i]+s_num[i] == 10) //스페어처리일경우
      {
       result[i]= f_num[i] + s_num[i] + result[i-1] + f_num[i+2];//2프레임 부터 그다음 첫번째 던진공으로 맟춘 핀의수가 보너스로 들어가 합산된다.
      }
      else
      {
       result[i]= f_num[i] + s_num[i] + result[i-1]; //스페어가 아닐경우~그냥 패스
      }
     }
     else
      if(f_num[i]+s_num[i] == 10) 스페어 처리일경우//
      {
       result[i]= f_num[i] + s_num[i] + f_num[i+2];//1프레임의 경우 그다음 첫번째 던진공으로 맟춘 핀의수가 보너스로 들어가 합산된다.
      }
      else
      {
       result[i]= f_num[i] + s_num[i]; //스페어가 아닐경우 그냥 패스
      }
     
     if(i != frm+1)
      System.out.printf("│  %3d  ",result[i]);
    }
    System.out.println("    │");
    System.out.println("└───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────────┘");
    
  
  }
 }
}
   
   
   

728x90