# Variable Not Defined Error Gen Codebox

Emmett Palaima

7月 04 2024 | 10:16 午後

Hi, I'm using gen codebox on a project for the first time, trying to figure out the syntax.

I'm getting an error saying a variable hasn't been declared that I have clearly declared just a few lines prior. What is causing this?

Here is a screenshot of my error which states:

`variable xdir is not defined`

Here's the relevant code section:

```
if (reset == 1) {
reset = 0;
x = 3;
y = 3;
xdir = 1; //xdir clearly declared here
ydir = 0;
len = 1;
step = 0;
change = 0;
// Initialize the array with a spiral pattern
for (i = 0; i < 64; i += 1) {
poke(out_list, x + (y * 8), i + 1);
x += xdir; //says xdir is not declared
```

xdir is very clearly defined as a variable just a few lines prior. Why is this happening?

Here is my complete codebox:

```
Data out_val(64);
Data out_list(64);
History reset(1);
amp = floor(in1 * 64);
if (reset == 1) {
reset = 0;
x = 3;
y = 3;
xdir = 1;
ydir = 0;
len = 1;
step = 0;
change = 0;
// Initialize the array with a spiral pattern
for (i = 0; i < 64; i += 1) {
poke(out_list, x + (y * 8), i + 1);
x += xdir;
y += ydir;
step += 1;
if (step == len) {
change += 1;
if ((change % 2) == 0) {
len += 1;
}
step = 0;
if (xdir == 1) {
xdir = 0;
ydir = 1;
} else if (ydir == 1) {
xdir = -1;
ydir = 0;
} else if (xdir == -1) {
xdir = 0;
ydir = -1;
} else if (ydir == -1) {
xdir = 1;
ydir = 0;
}
}
}
}
for(i = 0; i < 64; i += 1){
poke(out_val, 0, i);
}
for(i = 0; i < amp; i += 1){
index = peek(out_list, i);
poke(out_val, 1, index);
}
out1 = peek(out_val, 0);
out2 = peek(out_val, 1);
out3 = peek(out_val, 2);
out4 = peek(out_val, 3);
out5 = peek(out_val, 4);
out6 = peek(out_val, 5);
out7 = peek(out_val, 6);
out8 = peek(out_val, 7);
out9 = peek(out_val, 8);
out10 = peek(out_val, 9);
out11 = peek(out_val, 10);
out12 = peek(out_val, 11);
out13 = peek(out_val, 12);
out14 = peek(out_val, 13);
out15 = peek(out_val, 14);
out16 = peek(out_val, 15);
out17 = peek(out_val, 16);
out18 = peek(out_val, 17);
out19 = peek(out_val, 18);
out20 = peek(out_val, 19);
out21 = peek(out_val, 20);
out22 = peek(out_val, 21);
out23 = peek(out_val, 22);
out24 = peek(out_val, 23);
out25 = peek(out_val, 24);
out26 = peek(out_val, 25);
out27 = peek(out_val, 26);
out28 = peek(out_val, 27);
out29 = peek(out_val, 28);
out30 = peek(out_val, 29);
out31 = peek(out_val, 30);
out32 = peek(out_val, 31);
out33 = peek(out_val, 32);
out34 = peek(out_val, 33);
out35 = peek(out_val, 34);
out36 = peek(out_val, 35);
out37 = peek(out_val, 36);
out38 = peek(out_val, 37);
out39 = peek(out_val, 38);
out40 = peek(out_val, 39);
out41 = peek(out_val, 40);
out42 = peek(out_val, 41);
out43 = peek(out_val, 42);
out44 = peek(out_val, 43);
out45 = peek(out_val, 44);
out46 = peek(out_val, 45);
out47 = peek(out_val, 46);
out48 = peek(out_val, 47);
out49 = peek(out_val, 48);
out50 = peek(out_val, 49);
out51 = peek(out_val, 50);
out52 = peek(out_val, 51);
out53 = peek(out_val, 52);
out54 = peek(out_val, 53);
out55 = peek(out_val, 54);
out56 = peek(out_val, 55);
out57 = peek(out_val, 56);
out58 = peek(out_val, 57);
out59 = peek(out_val, 58);
out60 = peek(out_val, 59);
out61 = peek(out_val, 60);
out62 = peek(out_val, 61);
out63 = peek(out_val, 62);
out64 = peek(out_val, 63);
```