2015 IT 웹 기반 개발자과정/JAVA
JAVA 가위바위보 & 주사위 [Interface]
한여름밤의코딩
2015. 11. 13. 23:46
package kr.ac.kr.day05.homeWork; //인터페이스 GAME public interface Game { int startGame(int you); int getPoint(); } =============================================================== //게임 메인클래스 package kr.ac.kr.day05.homeWork; public class GameMain { public static void main(String[] args) { GameVw vw = new GameVw(); vw.start(); } } =============================================================== //가위바위보 클래스 package kr.ac.kr.day05.homeWork; import java.util.Scanner; public class ScissorsRockPaper implements Game { final static int SCISSOR = 1; final static int ROCK = 2; final static int PAPER = 3; private Scanner sc = new Scanner(System.in); private int point; @Override public int startGame(int you) { int me = (int)(Math.random()*3)+1; if(me==you) { System.out.println("Com : ["+getWord(me)+"] vs You : ["+getWord(you)+"] \n=====<비겼습니다>====="); return 0; // regame // System.out.println("가위바위보중 하나를 선택하세요. \n (1:가위, 2:바위, 3보)"); // startGame(sc.nextInt()); } if((me==SCISSOR && you==PAPER) || //질 경우 (me==ROCK && you==SCISSOR) || (me==PAPER && you==ROCK)){ System.out.println("Com : ["+getWord(me)+"] vs You : ["+getWord(you)+"] \n=====<you lose>====="); return 0; }else{ System.out.println("Com : ["+getWord(me)+"] vs You : ["+getWord(you)+"] \n=====<you Win>====="); point++; return 1; } } @Override public int getPoint() { return point; } private String getWord(int num){ switch (num) { case 1: return "가위"; case 2: return "주먹"; case 3: return "보"; default: return ""; } } } =============================================================== //주사위 클래스 package kr.ac.kr.day05.homeWork; public class Dice implements Game { private int point; @Override public int startGame(int you) { int me = (int)(Math.random()*6)+1; if(me==you){ System.out.println("숫자 : "+me+" 를 맞췄습니다. "); System.out.println("You win"); point++; return 1; }else{ System.out.println("Com : "+me+" , You lose"); return 0; } } @Override public int getPoint() { return point; } } =============================================================== // 게임 View [게임선택창] package kr.ac.kr.day05.homeWork; import java.util.Scanner; public class GameVw { private Scanner sc = new Scanner(System.in); int totalScore = 0; ScissorsRockPaper s = new ScissorsRockPaper(); Dice d= new Dice(); void start() { while (true) { String str; System.out.println("게임을 선택하세요"); System.out.printf("%s \n%s \n%s", "A. 가위바위보", "B. 주사위 값 맞추기", "C. 종료\n"); str = sc.nextLine(); switch (str) { case "a": case "A": System.out.println("가위바위보중 하나를 선택하세요. \n (1:가위, 2:바위, 3보)"); int num = sc.nextInt(); totalScore += s.startGame(num); sc.nextLine(); break; case "b": case "B": System.out.println(">주사위 값 맞추기 게임입니다"); System.out.println("주사위을 선택하세요 (1~6값 중 하나) "); totalScore += d.startGame(sc.nextInt()); sc.nextLine(); break; case "c": case "C": System.out.println("게임을 종료합니다. "); System.out.println("가위바위보 Score : "+s.getPoint()); System.out.println("주사위 Score : "+d.getPoint()); System.out.println("Total score : " + totalScore); System.exit(0); break; default: System.out.println("잘못 입력하셨습니다"); break; } } } } ===============================================================