Full BASICでは,PLOT LINESの描点(ビーム)は,PLOT POINTSやPLOT TEXTなど,他の描画命令を実行するとオフとなるように規定されています。この動作は,たいていの場合,不便です。
次のプログラムの1000行以降に示すようなモジュールを用意すると,他の描画命令の干渉を受けないで折れ線が描けます。
このモジュールを利用するプログラム単位には,100行のようなDECLARE EXTERNAL宣言を書き,
PLOT LINES: x, y; の代わりに CALL PlotTo(x,y)を,
座標を指定しないPLOT LINESの代わりに CALL BeamOff を用います。
SET LINE COLOR,SET LINE STYLE などはそのまま使えます。
100 DECLARE EXTERNAL SUB LINES.PlotTo, LINES.BeamOff 110 DATA 1, 0.6 120 DATA 2, 1.1 130 DATA 3, 3.2 140 DATA 4, 2.1 150 SET WINDOW 0,5,0,5 160 SET LINE STYLE 3 170 DO 180 READ IF MISSING THEN EXIT DO:x,y 190 CALL PlotTo(x,y) 200 PLOT POINTS: x,y 210 LOOP 220 END 1000 MODULE LINES 1010 PUBLIC SUB PlotTo, BeamOff 1020 SHARE NUMERIC x0,y0,beam 1030 LET beam=0 1040 EXTERNAL SUB PlotTo(x,y) 1050 IF beam<>0 THEN PLOT LINES:x0,y0; x,y 1060 LET x0=x 1070 LET y0=y 1080 LET beam=1 1090 END SUB 1100 EXTERNAL SUB BeamOff 1110 LET beam=0 1120 END SUB 1130 END MODULE
<Note.>
Ver. 7.1.4以降では,独自拡張命令の
SET BEAM MODE "IMMORTAL"
を実行すると, PLOT POINTS,PLOT AREA,PLOT TEXT,GET POINT,DRAW文 を実行したとき,描点の状態を変更しないようになります。