# Need help with my simon game

**URL:** <https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220>\
**Category:** General\
**Created:** [November 14, 2016, 12:26pm UTC](https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220 "2016-11-14T12:26:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tcar](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/tcar/32/64928_2.png) [@tcar](https://forum.freecodecamp.org/u/tcar)\
**Post date:** [November 14, 2016, 12:26pm UTC](https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220/1 "2016-11-14T12:26:53Z")

</div>

Hi, can anyone look at my simon game project? i don’t understand why it works ok in first few steps, but than gets crazy. here is my code, [http://codepen.io/Tcar/pen/GNZWGg](http://codepen.io/Tcar/pen/GNZWGg)

---

<div class="post-metadata">

**Author:** ![rickstewart](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/rickstewart/32/66490_2.png) [@rickstewart](https://forum.freecodecamp.org/u/rickstewart)\
**Post date:** [November 14, 2016, 2:28pm UTC](https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220/2 "2016-11-14T14:28:09Z")

</div>

Hi tcar,

Its because of the non-blocking nature of JavaScript.

Have a look at this, it describes the problem quite well…

[Event-Based Programming: What Async Has Over Sync](https://code.tutsplus.com/tutorials/event-based-programming-what-async-has-over-sync--net-30027)

---

<div class="post-metadata">

**Author:** ![tcar](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/tcar/32/64928_2.png) [@tcar](https://forum.freecodecamp.org/u/tcar)\
**Post date:** [November 16, 2016, 11:40am UTC](https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220/3 "2016-11-16T11:40:34Z")

</div>

ok, i start it all over again… and it works good. but i want to disable user from clicking when computer is playing. i tray to do with putting unbind in ponovi function and bind in randomSeries function. but it dosn’t work. i dont know why:S [http://codepen.io/Tcar/pen/GNZWGg?editors=1010](http://codepen.io/Tcar/pen/GNZWGg?editors=1010)

---

<div class="post-metadata">

**Author:** ![rickstewart](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/rickstewart/32/66490_2.png) [@rickstewart](https://forum.freecodecamp.org/u/rickstewart)\
**Post date:** [November 16, 2016, 1:45pm UTC](https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220/4 "2016-11-16T13:45:04Z")

</div>

There are lots of ways to achieve that - I used something called interlocks.

Create a var playersTurn or something like that, set to true when player can click, false when computer is playing.

```
if(playersTurn) {
    flash red();
    play redTone()
}

```

Here is what I did - your code will be quite different, but you should be able to make something similar work for you…

```
function chooseColorAndPlay(color, whoClicked) {
        if (whoClicked === 'computer') {
            switch (color) {
                case 0:
                    flashRed();
                    break;
                case 1:
                    flashGreen();
                    break;
                case 2:
                    flashYellow();
                    break;
                case 3:
                    flashBlue();
                    break;
            }
        }
        else if (whoClicked === 'player' && clickEnabled && !maskClickEvents) {
            maskClickEvents = true;
            timeout = 0;
            switch (color) {
                case 0:
                    flashRed();
                    playersMoves.unshift(0);
                    break;
                case 1:
                    flashGreen();
                    playersMoves.unshift(1);
                    break;
                case 2:
                    flashYellow();
                    playersMoves.unshift(2);
                    break;
                case 3:
                    flashBlue();
                    playersMoves.unshift(3);
                    break;
            }
        }
    }
```

---

<div class="post-metadata">

**Author:** ![jwilkins.oboe](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/jwilkins.oboe/32/179497_2.png) [@jwilkins.oboe](https://forum.freecodecamp.org/u/jwilkins.oboe)\
**Post date:** [January 16, 2021, 5:31am UTC](https://forum.freecodecamp.org/t/need-help-with-my-simon-game/55220/5 "2021-01-16T05:31:40Z")

</div>


