3D−LOGO
TO STAR :L LOCAL :Y :T
MAKE "Y :L ÷ 2
MAKE "T :Y ÷ TAN 72
SETPC ( RANDOM 6 ) + 1
PU ML :Y FD :T RT 90 PD
REPEAT 5 [FD :L RT 144]
PU LT 90 BK :T MR :Y PD
END
TO TUISEKI
MANUAL ASK 0 [SETPOS ASK 1 [POS] BK 100 MU 10 SETVECTOR ASK 1 [VECTOR]] AUTO
END
・宇宙ステーション(タートルの形を宇宙ステーションに変形している)
TO 主軸
PU MU 150 PD CIRCLE 20 PU MR 20 PD MD 300 PU ML 20 PD
CIRCLE 20 PU ML 20 PD MU 300 PU MR 20
FD 20 PD MD 300 PU BK 40 PD MU 300 PU FD 20 MD 150 PD
END
TO 本体 :N :C :M LOCAL :D :L
MAKE "D 360 ÷ :N MAKE "L 2 × :M × COS ( ( 180 - :D ) ÷ 2 )
PU MU 30 PD REP :N [部品1 :M :C 90 + :D ÷ 2 :L LT :D] PU MD 30 PD
END
TO 部品1 :M :C :R :L
PU FD :C PD 部屋 :M - :C LT :R 部屋 :L
LT :R PU FD :M PD LT 2 × ( 180 - :R )
END
TO 部屋 :F
FD :F MD 60 BK :F MU 60 PU FD :F PD
END
TO 宇宙駅
DRAW DN 90 SETPC 7 主軸 SETPC 5 本体 30 250 300 SETPC 3 本体 30 20 250
SAVESHAPE "COSMO "EKI LOADSHAPE "COSMO DRAW
END
TO 映像
DRAW CT FKEY OFF IF NOT SHAPE? "EKI [宇宙駅]
ASK 0 [HOME] HOME 大地 REP 30 [星空] HOME SETSH "EKI MANUAL
WHILE TRUE [RR 10 RFR IF RC? [判断 飛行 2 飛行 3 飛行 4 飛行 5 UP 10]]
END
TO 大地
PU BK 600 DN 90 ML 3000 BK 3000 SETPC 1
REP 15 [PD FD 6000 PU MR 200 PD BK 6000 PU MR 200] PD FD 6000
PU BK 6000 LT 90
REP 15 [PD FD 6000 PU MR 200 PD BK 6000 PU MR 200] PD FD 6000
HOME
END
TO 星空 LOCAL :CX :CY :CZ :R
MAKE "CX ( RANDOM 8000 ) - 4000
MAKE "CY ( RANDOM 3000 )
MAKE "CZ 0 - ( 3000 + RANDOM 3000 )
MAKE "R 100 + RANDOM 150
PU SETPOS # [:CX :CY :CZ] PD
RR 180 - INT RANDOM 360 RT 180 - INT RANDOM 360 UP 180 - INT RANDOM 360
SETPC 1 + INT RANDOM 7 REP 5 [FD :R RT 144]
END
TO 判断 LOCAL :C
MAKE "C RC CLEARINPUT
IF EQUAL? :C "Q [終了]
END
TO 飛行 :B LOCAL :U :M
TELL :B SETSH "TURTLE
IF :B > 2 [UP 180 - INT RANDOM 360 RT 180 - INT RANDOM 360] [UP 85]
RR 180 ST REP 10 [FD 100 RFR] HT SETSH "NULL HOME TELL 1
END
TO 終了
TELL 0
REP 36 [MR 180 LT 10 RFR] REP 36 [MU 180 DN 10 RFR] REP 3 [REP 60000 []]
TELL 1 AUTO DRAW FKEY ON TOPLEVEL
END
宇宙ステーションがくるくる回っています。「スペースバー」を押すと回転が止まり、3台の宇宙船(3つのタートル)がランダムな方向に飛び出し、宇宙ステーションの傾きが変化し、また、くるくると回転しだします。「Q」を押すと宇宙ステーションの周りを視点が移動した後、このプログラムを終了します。
Home Page | Index Page | Pre Page | Next Page |