18 lines
653 B
Text
18 lines
653 B
Text
N%=5
|
|
@%=LENSTR$(N%*N%-1)+1
|
|
BotCol%=0 : TopCol%=N%-1
|
|
BotRow%=0 : TopRow%=N%-1
|
|
DIM Matrix%(TopCol%,TopRow%)
|
|
|
|
Dir%=0 : Col%=0 : Row%=0
|
|
FOR I%=0 TO N%*N%-1
|
|
Matrix%(Col%,Row%)=I%
|
|
PRINT TAB(Col%*@%,Row%) I%
|
|
CASE Dir% OF
|
|
WHEN 0: IF Col% < TopCol% THEN Col%+=1 ELSE Dir%=1 : Row%+=1 : BotRow%+=1
|
|
WHEN 1: IF Row% < TopRow% THEN Row%+=1 ELSE Dir%=2 : Col%-=1 : TopCol%-=1
|
|
WHEN 2: IF Col% > BotCol% THEN Col%-=1 ELSE Dir%=3 : Row%-=1 : TopRow%-=1
|
|
WHEN 3: IF Row% > BotRow% THEN Row%-=1 ELSE Dir%=0 : Col%+=1 : BotCol%+=1
|
|
ENDCASE
|
|
NEXT
|
|
END
|