숫자 야구 소스코드

숫자야구.html 다운로드
<!DOCTYPE html>
<html>
<head>
<title>Number Baseball</title>

<script type="text/javascript">
    var getNum = new Array();
    var numLength;
    var check = true;

    window.onload = function() {
        numLength = document.getElementById("select").value;
        setNumber();
    }

    //get random numbers
    //numbers must not be same each other
    function setNumber() {
        var random;
        getNum.splice(0, getNum.length);
        while (getNum.length < numLength) {
            random = Math.floor(Math.random() * 9) + 1;

            for (var i = 0; i < getNum.length; i++) {
                if (getNum[i] == random) {
                    check = false;
                    break;
                }
            }

            if (check) {
                getNum.push(random);
            }
            check = true;
        }
    }

    //check user number
    function checkUserText() {
        var userText = document.getElementById("userText").value;
        var setText = document.getElementById("textArea");
        //check if userText is number
        for (var i = 0; i < userText.length; i++) {
            if (userText.charCodeAt(i) < 48 || userText.charCodeAt(i) > 57
                    || userText.length != numLength) {
                setText.innerHTML += "Type only " + numLength + " numbers!\n";
                check = false;
                break;
            }
        }

        //check strike,ball,out
        var strike, ball;

        if (check) {
            strike = 0;
            ball = 0;

            for (var i = 0; i < getNum.length; i++) {
                for (var k = 0; k < userText.length; k++) {
                    if ((getNum[i] == userText[k]) && (i == k)) {
                        strike++;
                    } else if ((getNum[i] == userText[k]) && (i != k)) {
                        ball++;
                    }
                }
            }

            if (strike == 0 && ball == 0) {
                setText.innerHTML += "out!\n";
            } else if (strike == numLength) {
                setText.innerHTML += numLength
                        + "strike! you won the game!!!\nclick restart to play again\n";
            } else {
                setText.innerHTML += userText + " : ";
                setText.innerHTML += (strike + " strike, " + ball + " ball!\n");
            }
        }
        check = true;

    }

    //change difficulty
    function difficulty() {
        numLength = document.getElementById("select").value;
        reload();
    }

    //restart game
    function reload() {
        setNumber();
        document.getElementById("textArea").innerHTML = "";
    }
</script>

</head>
<body>
    <label for="userText">type here: </label>
    <input id="userText" type="text" />
    <br />
    <button id="ch" onclick="checkUserText()">check</button>
    <button id="re" onclick="reload()">restart</button>
    &nbsp;length :
    <select id="select" onchange="difficulty()">
        <option>3</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
    </select>
    <br />
    <textarea cols="30" id="textArea" readonly="readonly" rows="20"
        style="overflow-y: scroll;"></textarea>
</body>
</html>

댓글