It's very fun to play with.
Here the SC:
ZELDISH:
Code: ZELDISH
det(0
maxYSPRITE
maxYGETMAP
maxYDRAWMAP
det(75,16)
8*5→X
8*3→Y
0→A
2→O→N
LFA→LA
1→E
det(9,1)
det(63,LA,X,Y,2,2)
Repeat getKey(15)
maxYDRAWMAP
If E≤2
det(63,LA,X,Y,2,2)
Else
det(63,LB,X,Y,2,2)
End
det(10
If E≥5
1→E
End
If getKey(1)
Y+8→Y
E+1→E
LFA→LA
LFB→LB
End
If getKey(2)
X-8→X
E+1→E
LLA→LA
LLB→LB
End
If getKey(3
X+8→X
E+1→E
LRA→LA
LRB→LB
End
If getKey(4
Y-8→Y
E+1→E
LBA→LA
LBB→LB
End
If getKey(2) and getKey(4)
LLA→LA
LLB→LB
End
If getKey(3) and getKey(4)
LRA→LA
LRB→LB
End
If X≤0:N-1→N:280→X:maxYGETMAP:End
If X≥288:N+1→N:8→X:maxYGETMAP:End
If Y≤0:O-1→O:168→Y:maxYGETMAP:End
If Y≥176:O+1→O:8→Y:maxYGETMAP:End
End
If getKey(15)
Goto END
End
Goto END
Lbl DRAWMAP
det(5,0
0→D
For(T,0,240-32,32
For(S,0,320,32
sub(Str1,D,2)→Str2
AsmComp(ZELDRAW)
det(62,SPRITE,S,T,2,2)
D+2→D
End
End
Return
Lbl GETMAP
'01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101'→Str1
If O=2 and N=2
'01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101'→Str1
End
Return
Lbl SPRITE
AsmComp(ZELSPR
Return
Lbl END
det(1
ZELSPR:
Code: GRASS=GRASS
LINK LEFT A/B=LLA/B
LINK FRONT A/B=LFA/B
LINK BACK A/B=LBA/B
LINK RIGHT A/B=LRA/B
minY16,16→LRA
minY16,16→LRB
minY16,16,"101010101010000000000010101010101010101010000404EEEE04001010101010101000000404040000040000101010101000EE0004EEEEEEEE0000EE001010101000EE00EE00000000EE00EE001010101000EE0000000000000000EE0010101010000404000000000000040400101010101000EEEE00EEEE00EEEE001010101010100004EE00EEEE00EE040010101010100004000404EEEEEE04000400101010100004000000000000000004EE001010100004EEEE00040404040000EE001010101000EEEE00EEEEEEEE040000101010101010000004040400000000101010101010000000000000EEEE040000101010101010000000000000000000101010")→LFB
minY16,16,"101010101010101010101010101010101010101010101000000000101010101010101010101000EEEEEEEE0010101010101010100000EE00000000EE0000101010101000EE000004EEEE040000EE001010101000EE000404EEEE040400EE001010101000EE000404EE04000400EE00101010100004000404EE04040000040010101010100000000404040400000010101010100004000400040404000400101010101000040004040004040004EE0010101010000004EE040400000400EE001010101010000404EEEEEEEEEE04001010101010100000000404040404000010101010100000EEEE00000000000000101010101010000000000000000000101010")→LBB
minY16,16,"2604040426260404260404260404F72626260426262626042604262604F72604042626040404F7040404260426F72604F704260404F72604040426042626040426F7040426260426F70404042626040426F726042626040426F7040426260404042626042604042604262604260404F70404260426042604040426042604F726F726040404262604F72604040426260404F726040426260404F72604042626040426F72604260404042626260426040404042626040404F704042626040404F7260426260404F726042604260404F704262604260426260404262604042626042626042604260426042626040426260404260404040404262604260404260404")→GRASS
minY16,16,"101010101010101010101010101010101010101010101000000000101010101010101010101000EEEEEEEE0010101010101010100000EE00000000EE0000101010101000EE000004EEEE040000EE001010101000EE000404EEEE040400EE001010101000EE00040004EE040400EE0010101010000400000404EE040400040010101010100000000404040400000010101010101000040004040400040004001010101000EE040004040004040004001010101000EE000400000404EE04000010101010100004EEEEEEEEEE0404001010101010100000040404040400000010101010101000000000000000EEEE00001010101010100000000000000000001010")→LBA
minY16,16,"1010101010100000000000101010101010101010100004EEEE040400101010101010101000000400000404040000101010101000EE0000EEEEEEEE0400EE001010101000EE00EE00000000EE00EE001010101000EE0000000000000000EE0010101010000404000000000000040400101010101000EEEE00EEEE00EEEE001010101010100004EE00EEEE00EE0400101010101000040004EEEEEEEE0400040010101000EE040000000000000000040010101000EE00000404040400EEEE040010101010000004EEEEEEEE00EEEE00101010101010000000000404040000101010101010000004EEEE000000000000101010101010000000000000000000101010")→LFA
minY16,16,"101010101010101010101010101010101010101010100000000000001010101010100010000004EEEE0404040000101010100000EEEE000404EEEE04040400101010000004EEEE000404000404040010101010000004EEEE0000EE0004040010101010100000000400EEEE000400101010100000EE00EE0000EEEE0004001010101000EEEE00EEEE00EEEE00001010101010100004EEEEEE00EE04001010101010101010000000000000000010101010101010101000EEEE0004040000101010101010101000EEEE00040400EE001010101010100000000004040000EE00101010101000EEEEEEEE000000EEEE00101010101000000000000000000000000010")→LLB
minY16,16,"1010101010100000000000101010101010101010000004EE040404001010101010101000EEEE0004EEEE0404001010101000000004EEEE000404000404001010101000000004EEEE0000EE0004040010101010100000000400EEEE000404001010100000EE00EE0000EEEE0004001010101000EEEE00EEEE00EEEE00001010101010100004EEEEEE00EEEE0010101010101010100004040400040000101010101010101000000000000004001010101010101010000400EEEE000404001010101010101000EE00EEEE000404001010101010101000040000000000000010101010101010000000EEEEEEEE001010101010101000000000000000000000101010")→LLA
det(64,LLA,LRB)
det(64,LLB,LRA)
ZELDRAW:
Code: If not(MedStr2,'01'))
GRASS→SPR
End
SPR→SPRITE