Posts /

농구 게임

Twitter Facebook Google+
22 Jul 2019

농구 게임

책을 보며 만든 농구 게임입니다. 컴퓨터와 사용자가 번갈아 가며 슛을 하고, 컴퓨터의 2,3점 슛은 랜덤으로 정합니다.

html

<div class="scoreboard">
  <div class="inner">
    <div class="shot_left">
      <span>남은 슛 횟수</span>
      <span id="shot_left">10</span>
    </div>
    <div class="score">
      <h2 class="name">컴퓨터</h2>
      <p id="computer_score" class="score_number">0</p>
    </div>
    <div class="score">
      <h2 class="name">사용자</h2>
      <p id="user_score" class="score_number">0</p>
    </div>
  </div>
  <p id="txt">컴퓨터부터 시작합니다.</p>
</div>
<div id="control">
  <div id="computer_panel">
    <h2 class="control_name">컴퓨터</h2>
    <button id="shoot_computer" class="btn_computer">슛하기</button>
  </div>
  <div id="user_panel">
    <h2 class="control_name">사용자</h2>
    <button class="btn_user2">2점 슛</button>
    <button class="btn_user3">3점 슛</button>
  </div>
</div>

JQuery

var shotLeft = 10;
var shotLeftNum = $('#shot_left');
var computerTurn = true;
var txt = $('#txt');
var btnShootComputer = $('#shoot_computer');
var comSroreNum = $('#computer_score');
var comScore = 0;

var btnShootUser2 = $('.btn_user2');
var btnShootUser3 = $('.btn_user3');
var userSroreNum = $('#user_score');
var userScore = 0;

btnShootComputer.on('click', computerShoot);
btnShootUser2.on('click', { number: 2 }, userShoot);
btnShootUser3.on('click', { number: 3 }, userShoot);

function computerShoot() {

  if (!computerTurn)
    return;

  if (shotLeft == 0) {
    console.log('stop');
    return false;
  }

  shotLeft--;
  shotLeftNum.text(shotLeft);

  var shootType = Math.random() < 0.5 ? 2 : 3;
  console.log(shootType);
  if (shootType === 2) {
    if (Math.random() < 0.5) {
      txt.text('컴퓨터가 2점슛을 성공했습니다');
      comScore += 2;
      comSroreNum.text(comScore);
    } else
      txt.text('컴퓨터가 2점슛을 실패했습니다.');

  } else {
    if (Math.random() < 0.33) {
      txt.text('컴퓨터가 3점슛을 성공했습니다.');
      comScore += 3;
      comSroreNum.text(comScore);
    } else
      txt.text('컴퓨터가 3점슛을 실패했습니다');

  }

  computerTurn = false;
}

function userShoot(shootType) {

  if (computerTurn)
    return;

  if (shotLeft == 0) {
    console.log('stop');
    return false;
  }

  shotLeft--;
  shotLeftNum.text(shotLeft);

  if (shootType.data.number === 2) {
    if (Math.random() < 0.5) {
      txt.text('2점슛을 성공했습니다');
      userScore += 2;
      userSroreNum.text(userScore);
    } else
      txt.text('2점슛을 실패했습니다');

  } else {
    if (Math.random() < 0.33) {
      txt.text('3점슛을 성공했습니다');
      userScore += 3;
      userSroreNum.text(userScore);
    } else
      txt.text('3점슛에 실패했습니다');

  }

  if (shotLeft === 0) {
    if (userScore > comScore)
      txt.text('승리했습니다');
    else if (userScore < comScore)
      txt.text('패배했습니다');
    else
      txt.text('비겼습니다');
  }

  computerTurn = true;
}

jsfiddle 에서 보기


Twitter Facebook Google+