import java.util.Random;
import java.util.Scanner;
public class rockGame {
static int gameResult(String a, String b){
if(a.equals(b)){
return 0;
}else if(a.equals("가위")){
if(b.equals("바위")){
return 1;
}else if(b.equals("보")){
return 2;
}
}else if(a.equals("바위")){
if(b.equals("보")){
return 1;
}else if(b.equals("가위")){
return 2;
}
}else if(a.equals("보")){
if(b.equals("가위")){
return 1;
}else if(b.equals("바위")){
return 2;
}
}else return -1;
return 4;
}
public static void main(String[] args) {
String[] comHand={"가위","바위","보"};
String[] gift={"꽝","곰돌이인형","치킨","적축키보드","아이패드","아파트"};//상품
int giftNum=0;//이긴횟수
int result=-1;//게임결과 값
int prs=-1;
String comCard;//컴퓨터가 내는 패
Random rand=new Random();
Scanner scanner = new Scanner(System.in);
for(int i=0;i<5;i++){//총 5번의 플레이
System.out.println("가위 바위 보 중 하나를 입력해주세요!");
String playerCard = scanner.nextLine();
prs=rand.nextInt(3);//3이하의 숫자를 랜덤으로 받아서
comCard=comHand[prs];//가위바위보 배열 중 하나를 고름
result=gameResult(playerCard,comCard);
//입력값을 계산하는 함수. 이기면 2, 지면 1, 비기면 0, 그 외는 -1을 반환한다.
if(result==0){//비겼을 경우
System.out.println("당신의 "+playerCard+" 그리고 상대는 "+comCard+" 으로 서로 비겼습니다.");
}else if(result==1){//졌을 경우
System.out.println("당신의 "+playerCard+" 그리고 상대는 "+comCard+" 으로 당신이 졌습니다..");
}else if(result==2){//이겼을 경우
System.out.println("당신의 "+playerCard+" 그리고 상대는 "+comCard+" 으로 당신이 이겼습니다!");
giftNum++;
}else if(result==-1){
System.out.println("잘못된 입력입니다!");
i--;//잘못된 입력으로 경기횟수 차감 방지.
}
}
if(giftNum==0){
System.out.println("컴퓨터의 승리입니다.");
}else {
System.out.println("축하합니다! 총" + giftNum + "회 승리하여 경품으로 [" + gift[giftNum] + "]을 획득하셨습니다!");
}
}
}
확실히 코드가 길어지는 부분을 함수로 따로 작성하니 가독성이 좋아졌다.
어떻게든 사전캠프동안 강의와 퀘스트를 완료해서 다행이고,
이틀 남았지만 이제부터 전공책이나 검색으로 자율 공부를 해야겠다.
직장에서 가장 중요한 건 코드작성보다 커뮤니케이션 실력이라는데,
다음 주 본캠프 때 팀원한테 민폐 끼치지 않게 열심히 집중해서 노력해야겠다.