You seem to try to shrink boundaries in proportion to player size to avoid protrusion of enlarged player sprite.
However, I guess this challenge will yield the new issue, the collision detection between player and doors(stairs).
Same as before, we should shift initial location of coins as follows.
(before correction)
SPOFS N,RND(383),16+RND(208)
(after correction)
SPOFS N,8+RND(383),24+RND(208)
Replace N with 2 to 5.
I'm sorry I misunderstood the boundary issue.
We should shift all boundaries in proportion to the arguments of SPHOME as follows.
(before correction)
IF X<0 THEN X=0
IF X>385 THEN X=385
IF Y<18 THEN Y=18
IF Y>225 THEN Y=225
(after correction)
IF X<8 THEN X=8
IF X>393 THEN X=393
IF Y<26 THEN Y=26
IF Y>233 THEN Y=233
Both "&&" and "||" are logical operators. The difference of them is as follows.
(TRUE && TRUE)==TRUE
(TRUE && FALSE)==FALSE
(FALSE && TRUE)==FALSE
(FALSE && FALSE)==FALSE
(TRUE || TRUE)==TRUE
(TRUE || FALSE)==TRUE
(FALSE || TRUE)==TRUE
(FALSE || FALSE)==FALSE
"!=" stands for "not equal".
"(B AND #RIGHT)!=0" is almost same as "B==#RIGHT", but when you press RIGHT on D-pad and another button (e.g. A button) at the same time, the former can detect RIGHT press but the latter cannot.
Thank you very much for playing my game.
Current key is REVVY3RJ like Stewart said, however I may change key in the future.
I write the newest key just after the string "HNZBI" in my profile comment.
What's wrong about circle-pad?
Unfortunately it is hard for me to give you any suggestion about the position of BUTTON(2) because I haven't grasp the overall structure of your program.
I guess "IF BUTTON(2)==#UP THEN..." is correct.
"||" is a kind of logical operator.
A || B yields TRUE when either A or B are TRUE, and it yields FALSE when both A and B are FALSE.
Try to modify your program as follows.
1) Write "SPHOME 1,8,8" just behind "SPSET 1,502".
2) Write "IF(X MOD 16)>=4 &&(X MOD 16)<12 &&(Y MOD 16)>=4 &&(Y MOD 16)<12 THEN" instead of "IF((X MOD 16)>=12 || (X MOD 16)<4)&&((Y MOD 16)>=12 || (Y MOD 16)<4)THEN".
3) Write "BGGET(0,X,Y,1)==869" instead of "BGGET(0,X+8,Y+8,1)==869".