아직 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("└───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────────┘");
}
}
}
'코스웨어 > 10년 스마트폰BSP' 카테고리의 다른 글
[BSP]업무일지 - 김강수 -20100806 (2) | 2010.08.06 |
---|---|
[BSP]업무일지 - 김병찬 -20100804 (0) | 2010.08.04 |
[BSP]2010 08/03 업무일지- 이도헌 (0) | 2010.08.03 |
[BSP]업무 일지 정홍환 0802 (0) | 2010.08.02 |
[BSP]업무일지-전현수-20100729 (0) | 2010.07.29 |
[BSP]업무일지-손대원-20100728 (0) | 2010.07.28 |
[BSP]업무일지-김상식-20100727 (0) | 2010.07.27 |
[BSP]업무일지-김석희-20100726 (0) | 2010.07.26 |