공부/JavaScript

[JavaScript] 내 맘대로 주사위 게임 예제

bumcrush 2019. 12. 4. 13:43
반응형

[JavaScript] 내 맘대로 주사위 게임 예제

자바스크립트 공부하면서 만든 기초적인 예제

간단한 주사위 게임 예제이지만

역시 목표가 있어야 공부가 좀 재밌는 것 같다 ㅎㅎ


<던질까 말까 주사위 게임 규칙> 

1. 1~50까지 단계가 존재, 주사위를 던져 나온 수만큼 단계를 이동 

   ex> 주사위 결과=2 , 2단계 전진


2. 따봉또치의 축복 : 숫자 7이 들어간 단계에 도착 시 주사위 수가 +7이 됩니다.   

   ex>현재 위치=17 >> 따봉또치의 축복 +7 >> 현재 위치 17+7이 되서 24단계가 됩니다.


3. 주사위의 눈물 : 주사위 숫자 4가 걸리면 방금 던진 주사위 숫자가 무효화가 됩니다.

   ex>현재 위치=12 ,주사위 결과=4 >> 현재 위치=12


  //난수 생성 함수
  function rand(m,n){
    return m+Math.floor((n-m+1)*Math.random());
  }

  // 주사위 던지기 함수
  function die(){
    return rand(1,6);
  }


  let whereAreYou = 0;  //현재 내가 있는 곳
  let roundNum = 0;     //라운드


  console.log(`  <던질까 말까 주사위 게임 규칙> \n
    1. 1~50까지 단계가 존재, 주사위를 던져 나온 수만큼 단계를 이동\n\t\tex> 주사위 결과=2 , 2단계 전진\n
    2. 따봉또치의 축복 : 숫자 7이 들어간 단계에 도착 시 주사위 수가 +7이 됩니다.\n\t\tex>현재 위치=17 >> 따봉또치의 축복 +7 >> 현재 위치 17+7이 되서 24단계가 됩니다.\n
    3. 주사위의 눈물 : 주사위 숫자 4가 걸리면 방금 던진 주사위 숫자가 무효화가 됩니다.\n\t\tex>현재 위치=12 ,주사위 결과=4 >> 현재 위치=12 \n`);

  console.log("던질까말까 게임 시작!");

  while(whereAreYou<50){
    roundNum++;
    console.log(`\t[Round ${roundNum}]`);

    //주사위 던저
    let dieResult = die();
    console.log(`\t\t주사위 결과 : ${dieResult}`);
    whereAreYou = whereAreYou + dieResult;

    //따봉또치의 축복
    const CharWhereAreYou = whereAreYou.toString();    //match 사용을 위해 문자형으로 형변환
    if(CharWhereAreYou.match(/7/)){
      console.log(`\t\t나의 현재 위치는? ${whereAreYou}`);
      console.log(`\t\t********* 따봉또치의 축복 (주사위+7) **********`);
      whereAreYou = whereAreYou + 7;
    }else if (dieResult===4) {
      //console.log(`\t나의 현재 위치는? ${whereAreYou}`);
      console.log(`\t\t--------- 주사위의 눈물 (주사위 무효화) ---------`);
      whereAreYou = whereAreYou - 4;
    }



    console.log(`\t\t나의 현재 위치는? ${whereAreYou}`);

  }

  console.log(`축하합니다! 최종 목적지에 도착 했습니다.`);

 

나중에 자바스크립트가 더 익숙해지면 

시각화해서 만들어 보고 싶다.

반응형