java

꿀팁 자바-자바스크립트(prompt)처럼 사용하기

sieunju 2016. 12. 29. 15:25
반응형

자바스크립트를 배우다 보면 prompt 의 기능을 알게되는데요


자바 이클립스에도 이거와 비슷하게 지원해주는 기능이 있습니다. 

우선 아래 소스를 입력합니다.


그후에 자바-이클립스 Luna 기준 

빨간 색으로 칠한 부분을 클릭후 "Run Configurations" 를 클릭합니다.



그럼 아래와 같은 설정 화면이 나오게됩니다.

위사진대로 순서대로 클릭 클릭 하게되면 



위와 같이 자바 스크립트에서 Prompt 같은 기능이 나오게 됩니다. 이것을 응용을 하면 컴퓨터와 "가위바위보" 게임을

할수 있습니다. 



위 소스를 보시게되면 조건은 사용자가 가위 바위 보 이 셋중 하나를 prompt 안에 5번 입력하게 됩니다.

아래 사진 참조 

(참고로 "Please input a value for 두번째 값 [가위 바위 보] 중 하나를 입력하시오 " 라는 값은 저위에 prompt 설정하는 곳에


"${string_prompt:첫번째 값 [가위 바위 보] 중 하나를 입력하시오} " 이런식으로 변경하면됩니다. 

기본 값은 ${string_prompt} 입니다.


그러면 출력된 값은 아래 사진 처럼 컴퓨터와 가위바위보를 하게됩니다.



그럼 소스 해석을 하도록 하겠습니다.

클래스 flash_Game 안에 _Method 라는 메소드가 있습니다. 

Prompt 로 받은 값들을 메인 함수에서 _Method를 실행하게 됩니다.

_Method 메소드에서는 사용자가 입력한 [가위,바위,보] 들을 컴퓨터와 비교를 할수있도록 


for(int i=0; i<5; i++)

{

switch(str[i])

{

case "가위" :

user_arr[i] = 1;

break;

case "바위" :

user_arr[i] = 2;

break;

case "보" :

user_arr[i] = 3;

break;

}

}

이 반복문을 통해 1,2,3 정수형으로 변환을 하여 user_arr 배열에 저장합니다.

그 후에 컴퓨터는 5번 랜덤 값을 가지게 되는데 범위는 1,2,3 이 되겠습니다.

 int computer_random = (random.nextInt(3) + 1);


그리고 컴퓨터가 랜덤으로 가진 값을 사용자가 입력한 값들을 switch(스위치) 문을 통하여 비교를 합니다.


이 알고리즘은 


"사용자가 제시한 값" - "컴퓨터가 랜덤으로 나온 값" = "결과 값"

int _verdict = (user_arr[i] - computer_random);


을 통하여 비교를 하는 알고리즘이 되겠습니다.


사용자가 이겼을시에는 -2 와 1 값이 되고

(ex: 사용자:가위(1) - 컴퓨터:보(3) = -2 or 사용자:바위(2) - 컴퓨터:가위(1) = 1)


컴퓨터가 이겼을시에는 2 와 -1 값이 되겠습니다.

(ex: 사용자:보(3) - 컴퓨터:가위(1) = 2 or 사용자:가위(1) - 컴퓨터: 바위(2) = -1)


이런식으로 통하여 몇번째에서 누가 이겼는지를 보여주는 간단한 게임이 되겠습니다  :D


그럼 이상 포스팅을 마치도록 하겠습니다. 감사합니다. :)









반응형