Bootcamp Notes – Day 18 (Sat) – Classwork Assignment – Color Game

Our class worked on this Color Guessing Game. I added a few things to mine to spice it up. Some things were heard to understand. I have decided to get a tutor before it gets really hard later. Anyway you can see my code here and at codepen.io.

 

<!DOCTYPE html>
<html lang=”en”>
<head>
    <meta charset=”utf-8″/>
    <title>Color Guessing Game</title>
</head>
<body>
    <div id = “box”>
        <h1>Color Guessing Game</h1>
        <button type=”button” onclick=”runGame()”>Start Game</button>
        <h1>Can you guess the right color?</h1>
    </div>
    <div id =”colorbox”>
        <table>
            <tr>
                <td style=”background-color:blue;”>blue</td>
                <td style=”background-color:cyan;”>cyan</td>
                <td style=”background-color:gold;”>gold</td>
                <td style=”background-color:gray;”>gray</td>
                <td style=”background-color:green;”>green</td>
            </tr>
            <tr>
                <td style=”background-color:magenta;”>magenta</td>
                <td style=”background-color:orange;”>orange</td>
                <td style=”background-color:red;”>red</td>
                <td style=”background-color:white;”>white</td>
                <td style=”background-color:yellow;”>yellow</td>
            </tr>
        </table>
    </div>
    <style>
        body {
            font-family: Verdana, Arial, sans-serif;
            background-color: rgb(153, 155, 233);
        }       
        #box {
            margin: auto;
            text-align: center;
            width: 50%;
            border: 8px solid green;
            padding: 10px;
            background-color: rgb(204, 151, 7);
        }
        #colorbox {
            margin: auto;
            width: 50%;
            text-align: center;
            border: 5px dotted green;
            padding: 10px;
            background-color: rgb(255, 218, 116);
            font-size: 35pt;
        }
        table {
            margin: auto;
            width: 50%;
            text-align: center;
            border: 10px dotted green;
            padding: 40px;
        }
    </style>
    <script>
        const COLORS_ARRAY = [‘blue’, ‘cyan’, ‘gold’, ‘gray’, ‘green’, ‘magenta’, ‘orange’, ‘red’, ‘white’, ‘yellow’];
        function runGame() {
            let guess = “”;
            let correct = false;
            let numTries = 1;
            const targetIndex = Math.floor(Math.random() * (COLORS_ARRAY.length – 1)); //Generates randomw number based on array length
            const target  = COLORS_ARRAY[targetIndex];
           
            do {
                //alert(‘I am thinking about this color number in my head now:’ + targetIndex) //Used for testing
                guess = prompt(‘I am thinking of one of these colors:\n\n’ + COLORS_ARRAY.join(” , “) + ‘\n\nWhat color am I thinking of?\n’);
                guess = guess.toLowerCase(); //Converts prompt Upercase input by user to LowerCase
                numTries += 1;
                if (guess === null) {
                    guess = “Cancel”
                    alert(“You hit cancel. You have stopped the game!”)
                    return ” “
                }
                
                correct = checkGuess(guess, target);
            } while (!correct) //this is the same as saying (correct === false))
            
            alert(“Congratulations! You guessed my color of ” + guess + “! It took you ” + (numTries – 1) + ” tries!”);
            document.body.style.background = guess;
            document.getElementById(“box”).style.background = “green”;
        }
        function checkGuess(guess, target) {
            let correct = false; //Set correct to false.
            if (COLORS_ARRAY.indexOf(guess) < 0) {
                alert(‘Color does not exist. Please try again!’);
            } else if (guess > target) {
                alert(‘Guess is incorrect. Hint: your color is alphabetically higher than mine. Try again!’);
            } else if (guess < target) {
                alert(‘Guess is incorrect. Hint: your color is alphabetically lower than mine. Try again!’);
            } else {
                correct = true;
             }
            return correct;
        }
//COLORS_ARRAY.join(” , “)
    </script>
</body>
</html>