예제 홀짝 게임
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | package exam; // @author kosta, 2015. 8. 20 , 오후 2:31:41 , ExamGame import java.util.Scanner; /* 홀 / 짝 게임 사용자가 입력한 숫자(1,2)가 CPU 가 발생시킨 변수가 일치할 경우 You win , 아니면 You lose 를 출력하고 사용자가 종료를 눌렀을 때 게임 결과와 경품결과를 출력한다. */ public class Exam_OddNumber_EvenNumber_Game { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int total = 0; // 총 실행한 게임수 int winConut=0; // 총 이긴 횟수 // ========================= 사용자 메뉴 UI ========================== exit:while (true) { System.out.println(" 1. 홀 2. 짝 3. 종료 "); int num = Integer.parseInt(sc.nextLine()); // 사용자로부터 입력 boolean res=false; switch(num) { case 1: System.out.println("홀을 선택했습니다."); ++total; res=outCome(num); if(res){ System.out.println("You win"); ++winConut; }else { System.out.println("You lose"); } break; case 2: System.out.println("짝을 선택했습니다."); ++total; res =outCome(num); if(res){ System.out.println("You win"); ++winConut; }else { System.out.println("You lose"); } break; case 3: displayResult(total,winConut); break exit; } // end swich } // end while } // end main // ============================= 메소드 선언부 =============================== /** * 총 게임 횟수와 총 이긴횟수를 파라미터로 받아서 * 게임의 결과를 출력하는 메소드 * @param total // 총 게임횟수 * @param winConut // 총 이긴 횟수 */ private static void displayResult(int total, int winConut){ // 결과 출력창 System.out.println("Total : "+ total); System.out.println("WIN SCORE : "+winConut); System.out.println("LOSE SCORE :"+(total-winConut)); System.out.println("승률 :"+(int)(((float)winConut/(float)total)*100)+"%"); prizeResult(winConut); // => 상품 결과 추가 출력 } // end displayResult() /** * 획득한 점수에 따라서 상품에 대한 결과를 출력하는 메소드 * @param winConut // 총 이긴 횟수 * dispaly() 메소드로부터 호출 받아서 */ private static void prizeResult(int winConut) { if (winConut>=90) { System.out.println("상품 A "); }else if (winConut>=80) { System.out.println("상품 B "); }else if (winConut>=70) { System.out.println("상품 C "); }else if (winConut<=60){ System.out.println("상품 X "); } System.out.println("종료 합니다."); } // end prizeResult() /** * 랜덤의 값을 발생시켜 홀수 짝수의 따른 일치여부로 승패 결과를 * 처리해주는 메소드 * 난수 발생 범위 :(1<= Random <11) * @param num 사용자가 선택한 홀 / 짝을 파라미터로 받음 * @return 사용자의 승패를 결과에 따른 결과를 반환 */ private static boolean outCome(int num) { boolean res=false; int cpuNum=(int) ((Math.random()*10) + 1); System.out.println("CPU 난수: "+ cpuNum); if(num==1) res=cpuNum%2!=0; // 홀수 if(num==2)res=cpuNum%2==0; // 짝수 return res; } // end outCome() } // end class | cs |
'Programing > Java' 카테고리의 다른 글
자바 메모리 구조 2 (0) | 2015.08.22 |
---|---|
String 객체 특징 (== 연산자 특징) (0) | 2015.08.22 |
자바 메모리 구조1. 변수의 저장영역 (0) | 2015.08.22 |
1일차 Subnote (0) | 2015.08.17 |
1. Variable (0) | 2015.08.15 |