본문 바로가기
카테고리 없음

LinkedHashMap & Random 클래스를 이용한 게임

by 복제비 2022. 1. 31.

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("컴퓨터가 이겼습니다 !!!");

 

 

댓글