Here's the source
TICRAFT/The main TI-Craft program
Code:
prgmTICSETUP
:6→X
:1→Y
:0→A
:10→H
:10→M
:
:While A≠22
:
:0→A
:
:While A=0
:getKey→A
:End
:
:0→[J](Y,X)
:
:
:0→θ
:X→K
:Y→L
:
:If A=25 and Y>2
:Then
:Y-1→Y
:[J](Y,X)→θ
:2→[J](Y,X)
:real(2,9,0,0,8,12,0,12,0,8,9,0,8,1
:0→A
:For(N,1,25
:If A=0
:Then
:getKey→A
:End
:End
:Y→L
:X→K
:0→[J](Y,X)
:End
:
:0→N
:
:If A=24 and X>1
:Then
:X-1→X
:End
:
:If A=26 and X<12
:Then
:X+1→X
:End
:
:If A=34 and Y<7
:Then
:Y+1→Y
:End
:
:If A=73 or A=93 or A=82 or A=84
:Then
:prgmTICBLKPL
:End
:
:If A=21
:Then
:prgmTICCRAFT
:End
:
:If A=31
:Then
:prgmTICINVTY
:End
:
:If M<0
:Then
:K→X
:L→Y
:End
:
:[J](Y,X)→W
:
:If W=1 or θ=1
:Then
:1→[H](1,1)
:∟INVTY(1)+1→∟INVTY(1)
:If W=1 and θ=1
:Then
:∟INVTY(1)+1→∟INVTY(1)
:End
:End
:
:If W=3 or θ=3
:Then
:4→[H](1,2)
:∟INVTY(2)+4→∟INVTY(2)
:If W=3 and θ=3
:Then
:∟INVTY(2)+4→∟INVTY(2)
:End
:End
:
:If Y<8:Then
:prgmTICGRAV
:End
:
:2→[J](Y,X)
:
:real(2,9,0,0,12,8,0,12,0,8,9,0,8,1)
:
:If H≤0
:Then
:Goto X
:End
:
:End
:Lbl X
TICSETUP/game setup
Code:
:1→W
:
:{3,3}→dim([I])
:
:{8,12}→dim([J])
:{3,9}→dim([H])
:
:7→dim(∟INVTY)
:Fill(0,∟INVTY)
:
:Fill(0,[J])
:
:Fill(0,[H])
:
:Fill(0,[I])
:
:For(N,1,8
:For(I,1,12)
:If N>2
:Then
:prgmTICTERRN
:End
:If I≤10
:Then
:5→[J](1,I)
:End
:1→[J](8,I)
:0→[J](2,I)
:End
:End
:
:2→[J](2,6)
:real(2,9,0,0,12,8,0,12,0,8,9,0,8,1
TICTERRN/terrain maker
Code:
:If W=0:Then
:randInt(1,38)→A
:End
:
:If W=1:Then
:randInt(1,25)→A
:End
:
:If A<22:Then
:
:If W=0:Then
:0→[J](N,I)
:Else
:randInt(1,5)→A
:If A<5:Then
:1→[J](N,I)
:Else
:
:3→[J](N,I)
:End
:End
:
:Else
:
:If W=0:Then
:1→W
:Else
:
:0→W
:End
:
:End
TICGRAV/gravity
Code:
:If W=0:Then
:randInt(1,38)→A
:End
:
:If W=1:Then
:randInt(1,25)→A
:End
:
:If A<22:Then
:
:If W=0:Then
:0→[J](N,I)
:Else
:randInt(1,5)→A
:If A<5:Then
:1→[J](N,I)
:Else
:
:3→[J](N,I)
:End
:End
:
:Else
:
:If W=0:Then
:1→W
:Else
:
:0→W
:End
:
:End
TICBLKPL/block placing
Code:
:X→D
:Y→E
:
:If A=73
:Then
:E-1→E
:End
:
:If A=93
:Then
:E+1→E
:End
:
:If A=82
:Then
:D-1→D
:End
:
:If A=84
:Then
:D+1→D
:End
:
:[J](E,D)→W
:
:If W≠1 and W≠3 and ∟INVTY(1)>0
:Then
:1→[J](E,D)
:∟INVTY(1)→W
:W-1→∟INVTY(1)
:End
:
:
:
:real(2,9,0,0,12,8,0,12,0,8,9,0,8,1
:
:
TICINVTY/inventory
Code:
:1→S
:1→T
:0→U
:0→V
:
:real(0,1
:
:real(2,7,0,0,9,3,0,9,0,3,9,0,8,1
:
:real(1,U,V,1,8,9,10,0,3,0,1
:
:0→A
:
:While A≠21
:
:0→A
:
:While A=0
:getKey→A
:End
:
:If A=24 or A=25 or A=26 or A=34
:Then
:
:real(1,U,V,1,8,9,10,0,3,0,1
:
:If A=24 and S>1
:Then
:S-1→S
:End
:
:If A=26 and S<9
:Then
:S+1→S
:End
:
:If A=25 and T>1
:Then
:T-1→T
:End
:
:If A=34 and T<3
:Then
:T+1→T
:End
:
:(S-1)*8→U
:(T-1)*8→V
:
:real(1,U,V,1,8,9,10,0,3,0,1
:
:
:End
:End
:
:[H](T,S)→Z
TICCRAFT(crafting not finished)
Code:
:2→O
:2→P
:
:real(0,1
:
:{3,3}→dim([I]
:
:Fill(0,[I]
:
:While A≠21
:0→A
:While A≠0
:getKey→A
:End
:
:O→Q
:P→R
:
:
:If A=
ya its a lot