JAVA

JAVA - 하나빼기게임(가위바위보 응용)

로픽 2016. 4. 7. 20:59
300x250

JAVA - 하나빼기일게임 (가위바위보 응용)


Math.random 메소드를 이용해서 가위바위보 응용 게임 하나빼기를 만들어 보았습니다



나와 컴퓨터의 대결로 가정하여 게임이 진행되는데 숫자는 Math.random 메소드를 이용하여 뽑습니다


나와 컴퓨터가 이기는 경우를 각각 카운트하고 비기는 경우는 카운트하지 않습니다

if문 주석 처리를 없애면 똑같은 걸 2개 낼수도 있습니다

(그런데 사람도 똑같은 걸 내는 경우도 있으니 재미를 위해서 if를 없애는 것도 ㅋㅋㅋㅋㅋ)



public class HanaBbagi {


public static void main(String[] args) {

int i=3;

int win=0, lose=0;

while(i>0)

{

int hright = (int)(Math.random()*3)+1; //사람의 오른손

int hleft = (int)(Math.random()*3)+1; //사람의 왼손

int cright = (int)(Math.random()*3)+1;  //컴퓨터의 오른쪽손

int cleft = (int)(Math.random()*3)+1; //컴퓨터의 왼손

/* if((hright == hleft) || (cright == cleft))

continue; */

System.out.println("<-- 1.주먹 2.가위 3.보 중 2개 선택 -->");

System.out.printf("내 오른손은 %d, 왼손은 %d를 선택\n", hright, hleft);

System.out.printf("컴퓨터의 오른손은 %d, 왼손은 %d를 선택\n", cright, cleft);

System.out.println("<-- 오른손, 왼손 중 선택 -->");

int hresult = (int)(Math.random()*2)+1;

int cresult = (int)(Math.random()*2)+1;

if(hresult ==1 )

hresult = hright;

else

hresult = hleft;

if(cresult ==1)

cresult = cright;

else

cresult = cleft;

System.out.printf("나 : %d, 컴퓨터 : %d\n", hresult, cresult);

if((hresult == 1 && cresult ==2) || (hresult == 2 && cresult ==3) || (hresult == 3 && cresult ==1))

{

System.out.println("내가 이겼다!");

win++;

}else if(hresult == cresult)

System.out.println("비겼구만...");

else if((hresult == 1 && cresult == 3) || (hresult ==2 && cresult ==1) || (hresult ==3 && cresult ==2))

{

System.out.println("내가 졌다.......");

lose++;

}

i--;

System.out.printf("\n\n");

}

System.out.printf("최종 결과 --> 나 : %d, 컴퓨터 : %d\n", win, lose);

}


}


- 실행결과 -


컴퓨터 잘하네......



** 틀린부분이나 보완할 점 있으면 알려주세요~ 공부하는데 많은 도움이 됩니다


반응형

'JAVA' 카테고리의 다른 글

JAVA 예외와 예외처리방법1  (0) 2016.07.06
자바 스레드(Thread), 스레드 우선순위  (0) 2016.07.05
JAVA - 추상 클래스(Abstract Class)  (2) 2016.06.06
자바(JAVA) - this()  (0) 2016.05.22
자바 - 버블정렬(Bubble Sort)  (0) 2016.05.22