Omnimaga

Calculator Community => HP Calculators => HP Prime => Topic started by: DJ Omnimaga on May 27, 2014, 04:15:04 pm

Title: [SOLVED] Tunnel Syntax error (2014.0331)
Post by: DJ Omnimaga on May 27, 2014, 04:15:04 pm
Anyone knows why this HP Prime program gives Syntax error in the new HP Prime firmware?


Code: [Select]
EXPORT Tunnel() BEGIN
DIMGROB_P(G1,340,240);
BLIT_P(G1,G0);
FOR Z FROM 3 TO 237 STEP 3 DO
BLIT_P(G0,0,0,320,240,G1,0,0,320,240-Z);
END;
1▶C;
0▶P;
100▶Y;
20▶T;
128▶L;
0▶L1(512);


FOR Z FROM 0 TO 16 DO
RANDOM(100)▶L1(2*Z+1);
60-RANDOM(4)▶L1(2*Z+2);
END;
RECT_P(G1,0,0,319,35,RGB(30,100,255),RGB(30,100,255));
TEXTOUT_P("2013 DJ Omnimaga www.omnimaga.org",G1,128,25,1,RGB(255,255,255));
FOR Z FROM 0 TO 10 DO
TEXTOUT_P("Score:",G1,Z,0,7,RGB(25*Z,255-(25*Z),0),250);
TEXTOUT_P("τ υ η η ε ι  ρ ɾ ί м ɛ",G1,122+Z,0,7,RGB(0,25*Z,0),250);
END;
FOR Z FROM 0 TO 4 DO
LINE_P(G1,0,Z+35,319,Z+35,RGB(0,20*Z,0));
END;
WHILE Y>0 DO
FOR Z FROM 0 TO 15 DO
C+1▶C;
IF C>16 THEN
1▶C;
END;
L1(2*C+2)▶O;
L1(2*C+1)▶Q;
RECT_P(G1,20*Z,40,20*Z+19,O,RGB(0,50+Q,0),RGB(0,50+Q,0));
RECT_P(G1,20*Z,O,20*Z+19,O+L,RGB(100+Q,130,50),RGB(100+Q,130,50));
RECT_P(G1,20*Z,O+L,20*Z+19,246,RGB(0,50+Q,0),RGB(0,50+Q,0));
IF Z=0 THEN
RECT_P(G1,0,Y,8,Y+12,RGB(0,0,0),RGB(150,150,255));
RECT_P(G1,2,Y+4,14,Y+8,RGB(0,0,0),RGB(255,0,0));
IF Y<O OR Y+12>O+L THEN
−9▶Y;
END;
END;
END;
TEXTOUT_P(P,G1,70,2,6,RGB(0,0,0),200,RGB(30,100,255));
TEXTOUT_P(P,G1,72,2,6,RGB(5,255,255));


BLIT_P(G0,0,0,320,240,G1,0,0,320,240);
P+1▶P;
L1(2*C+2)▶S;
RANDOM(100)▶U;
S+RANDOM(30)-15▶Ans;
IF Ans<45 THEN
45▶Ans;
ELSE
IF Ans>213-L THEN
213-L▶Ans;
END;
END;
C+1▶C;
IF C>16 THEN
1▶C;
L-1▶L;
END;
Ans▶L1(2*C+2);
U▶L1(2*C+1);
Y-(5*ISKEYDOWN(2))+(5*ISKEYDOWN(12))▶Y;
END;
FOR Z FROM 0 TO 7 DO
INVERT_P();
WAIT(0.05);
END;
DIMGROB_P(G1,122,30);
BLIT_P(G1,0,0,122,30,G0,0,0,122,30);
RECT_P(RGB(30,100,255));
REPEAT
GETKEY▶Z;
BLIT_P(G0,RANDOM(10),RANDOM(10),320-RANDOM(10),240-RANDOM(10),G1,0,0,122,30);
WAIT(.02);
UNTIL ISKEYDOWN(4)=1 OR ISKEYDOWN(30)=1;
END;
 
END;

The syntax error points to the last END; command ???. The game works perfectly in the previous firmware.


EDIT: Nvm, it appears to work fine without the last End. Not sure why it did work fine on previous firmwares if that END was not necessary, though ???
Title: Re: [SOLVED] Tunnel Syntax error (2014.0331)
Post by: Sorunome on May 28, 2014, 07:59:56 am
(https://pbs.twimg.com/media/A6PSWTFCUAI7N-5.jpg)
Title: Re: [SOLVED] Tunnel Syntax error (2014.0331)
Post by: Streetwalrus on May 28, 2014, 08:07:38 am
Now that was awesome. XD
Title: Re: [SOLVED] Tunnel Syntax error (2014.0331)
Post by: timwessman on May 28, 2014, 08:42:32 am
There were other situations where you could inadvertently get an extra END inside a subroutine and it wouldn't be complained about, but would be very confusing when tracing through and you'd discover that they weren't paired up. We basically made it slightly stricter to avoid extra END words - especially as I suspect automatic indenting and similar would really not like that.
Title: Re: [SOLVED] Tunnel Syntax error (2014.0331)
Post by: DJ Omnimaga on May 28, 2014, 12:25:23 pm
Regarding indenting, I try to indent nowadays since I mostly code on the computer. However, when coding on the calc this can be annoying because you don't see as much code on the screen, especially the older TI-83+ models that only shows 8 rows of 16 characters in the program editor and that's with Doors CS7 installed during program debugging, else it only shows 7.
Title: Re: [SOLVED] Tunnel Syntax error (2014.0331)
Post by: Hayleia on May 28, 2014, 12:48:47 pm
I don't know if zStart's last update had a 83+ version (other ones had so maybe this one too) but the small font editor allows you to display a lot of chars on the screen :D