# For loop driven by event crashes

**URL:** <https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065>\
**Category:** Coding Questions\
**Created:** [February 24, 2021, 9:23pm UTC](https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065 "2021-02-24T21:23:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmoredock](https://avatars.discourse-cdn.com/v4/letter/c/a9a28c/32.png) [@cmoredock](https://discourse.processing.org/u/cmoredock)\
**Post date:** [February 24, 2021, 9:23pm UTC](https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065/1 "2021-02-24T21:23:41Z")

</div>

[https://editor.p5js.org/cmoredock@rdschool.org/sketches/obDjqJJfM](https://editor.p5js.org/cmoredock@rdschool.org/sketches/obDjqJJfM)

```auto
  let lt = input1.value();
  let st = input2.value(); 
  let tt = input3.value(); // why does this infinite loop?
  for (let i = st; i < lt; i = i + tt) {
    fill(255);
    ellipse((30 * i), (30 * i), 40, 40);
    fill(0);
    text(i, (30 * i), (30 * i)+5)
  }

```

---

<div class="post-metadata">

**Author:** ![TfGuy44](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/tfguy44/32/41_2.png) [@TfGuy44](https://discourse.processing.org/u/TfGuy44)\
**Post date:** [February 25, 2021, 6:24am UTC](https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065/2 "2021-02-25T06:24:47Z")

</div>

Make sure you `lt` and `st` around the right way. The code shown in the sketch does not match what you’ve posted here.

---

<div class="post-metadata">

**Author:** ![cmoredock](https://avatars.discourse-cdn.com/v4/letter/c/a9a28c/32.png) [@cmoredock](https://discourse.processing.org/u/cmoredock)\
**Post date:** [February 25, 2021, 5:31pm UTC](https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065/3 "2021-02-25T17:31:46Z")

</div>

Thanks TfGuy44, but I am pretty sure the variables are being used correctly. I even colorized the text in each input box to be sure. In fact, if I comment out the portion of the code where I use var tt, it works as expected. Somehow the issue involves tt, not st or lt.

Still confused by what is happening.

-Cam

---

<div class="post-metadata">

**Author:** ![rbrauer](https://avatars.discourse-cdn.com/v4/letter/r/838e76/32.png) [@rbrauer](https://discourse.processing.org/u/rbrauer)\
**Post date:** [February 25, 2021, 7:40pm UTC](https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065/4 "2021-02-25T19:40:08Z")

</div>

The values from the input boxes are not automatically interpreted as numbers. Try this:

```javascript
  let lt = Number(input1.value());
  let st = Number(input2.value()); 
  let tt = Number(input3.value());

```

---

<div class="post-metadata">

**Author:** ![cmoredock](https://avatars.discourse-cdn.com/v4/letter/c/a9a28c/32.png) [@cmoredock](https://discourse.processing.org/u/cmoredock)\
**Post date:** [February 25, 2021, 7:56pm UTC](https://discourse.processing.org/t/for-loop-driven-by-event-crashes/28065/5 "2021-02-25T19:56:11Z")

</div>

Thank you, Rick. The lack of variable typing has always confounded me a bit with JavaScript. That was the trick!
