LinkedHashMap & Random 클래스를 이용한 게임
LinkedHashMap 클래스와 Random 클래스를 이용하여 "가위 바위 보" 게임을 만들어 봅니다.
먼저 import 문을 이용하여 LinkedHashMap 클래스와 Random 클래스를 추가시켜 주어야 합니다.
import java.util.LinkedHashMap;
import java.util.Random;
메인 함수 내에서는 Random 클래스를 이용한 Random 클래스 객체인 random 객체를 생성해 주고, user 와 computer 두 개의 난수를 생성해서 출력해 줍니다.
Random random = new Random( );
// Random 클래스 객체인 random 객체 생성함
int user = random.nextInt( ) % 3;
int computer = random.nextInt( ) % 3;
// 두개의 난수(정수)를 구함
System.out.println("user 의 난수 = : " + user );
System.out.println("computer 의 난수 = : " + computer );
생성된 user 와 computer 두 개의 난수가 음수이면 양수로 만들어 주기 위해서 -1 을 곱하는 작업이 필요합니다.
양수로 만든 user 와 computer 두 개의 값을 출력해 줍니다.
if(user<0)
user = user * -1;
if(com<0)
computer = computer * -1;
// 음수인 난수가 발생할 경우 -1을 곱하여 양수로 변환해줌
System.out.println("user 의 값 = : " + user );
System.out.println("computer 의 값 = : " + computer );
LinkedHashMap 객체인 table 객체를 생성하여 "가위 바위 보" 에 해당하는 3개의 요소들을 입력해 줍니다.
LinkedHashMap<String, String> table = new LinkedHashMap<String, String>( );
// LinkedHashMap 객체인 table 객체를 생성함
table.put("0", "가위");
table.put("1", "바위");
table.put("2", "보");
// table 객체에 3개의 요소들을 입력해줌
System.out.println("table 객체 = : " + table );
LinkedHashMap 객체인 table 객체에서 user 변수의 값과 computer 변수의 값을 key 로 지정하여 Value 값을 가져와 출력해 줍니다.
Object value1 = table.get(String.valueOf(user));
// table 객체에서 user 변수의 Key 에 해당하는 Value 값을 가져옴
System.out.println("당신은 " + value1 + "를 냈습니다");
Object value2 = table.get(String.valueOf(computer));
// table 객체에서 comuter 변수의 Key 에 해당하는 Value 값을 가져옴
System.out.println("컴퓨터는 " + value2 + "를 냈습니다");
System.out.println("======================================");
user 변수의 값과 computer 변수의 값을 if 조건문으로 비교하여 게임의 결과를 출력해 줍니다.
System.out.println("가위 바위 보 게임 결과 : ");
if(user == computer)
System.out.println("서로 비겼습니다 !!!");
else if(user == (computer+1) % 3)
System.out.println("당신이 이겼습니다 !!!");
else
System.out.println("컴퓨터가 이겼습니다 !!!");
댓글