10 ' SAVE "B:MENU",A 20 ' SAVE "B:MENU.CPY",A 30 '********************************************** 40 '**** 日の出日の入りを出すシミュレーション ** 50 '****  1989年11月 山田 洋  ******* 60 '********************************************** 65 CLEAR 70 WIDTH 80,25:CONSOLE 0,25,1,1:SCREEN 3,0,0,1:CLS 3 75 WINDOW(0,0)-(639,399):VIEW(0,0)-(639,399) 80 DIM CH(256) 90 MOZIX=8:MOZIY=16 '(640*400)ラインの文字ドット 100 MN=29 '1ラインの文字数 110 MK=3 'メニューの間隔(ライン数) 120 MI=3 'メニューの始の行 130 MENUN=5 'メニューの数 140 CH(30)=1 150 CH(31)=2 160 CH(13)=3 170 FOR I=0 TO 9:CH(48+I)=4:NEXT I 180 KEYWD$="山田 洋" 190 LOCATE 60,19:COLOR 6:PRINT " BY ";KEYWD$:COLOR 7 200 MENUMX=MI+(MENUN-1)*MK 210 LOCATE 19,0:COLOR 6:PRINT "******* 地軸の傾きと昼の長さ夜の長さ *****":COLOR 7 220 LOCATE 20,MI:PRINT "0・・・・ END" 230 LOCATE 20,MI+MK:PRINT "1・・・・ 冬至における変化" 240 LOCATE 20,MI+2*MK:PRINT "2・・・・ 四季における変化" 250 LOCATE 20,MI+3*MK:PRINT "3・・・・ 任意の日における変化" 255 LOCATE 20,MI+4*MK:PRINT "4・・・・ 一年間を通した変化" 260 MENUY=MI+MK 270 LINE(152,MENUY*MOZIY)-STEP(MN*MOZIX,MOZIY),1,BF 280 NA$=INKEY$:IF NA$="" THEN 280 290 ICH=CH(ASC(NA$)):IF ICH=1 OR ICH=2 OR ICH=3 OR ICH=4 THEN 300 ELSE GOTO 280 300 ON ICH GOTO *UP,*DOWN,*RT,*SUU 310 *SUU 320 W=VAL(NA$) 330 GOTO 360 340 *RT 350 W=(MENUY-MI)\MK 360 'PRINT "KETTEI BANGOU=";W 370 ON W+1 GOSUB *E,*TOUJI,*SIKI,*NINNI,*GR 380 *UP 390 IF MENUY=MI THEN MENUY=MENUMX :LINE(152,MI*MOZIY)-STEP(MN*MOZIX,MOZIY),0,BF:LINE(152,MENUMX*MOZIY)-STEP(MN*MOZIX,MOZIY),1,BF:GOTO 280 400 MENUY=MENUY-MK:LINE(152,(MENUY+MK)*MOZIY)-STEP(MN*MOZIX,MOZIY),0,BF:LINE(152,MENUY*MOZIY)-STEP(MN*MOZIX,MOZIY),1,BF 410 GOTO 280 420 *DOWN 430 IF MENUY=MENUMX THEN MENUY=MI:LINE(152,MENUMX*MOZIY)-STEP(MN*MOZIX,MOZIY),0,BF:LINE(152,MI*MOZIY)-STEP(MN*MOZIX,MOZIY),1,BF:GOTO 280 440 MENUY=MENUY+MK:LINE(152,(MENUY-MK)*MOZIY)-STEP(MN*MOZIX,MOZIY),0,BF:LINE(152,MENUY*MOZIY)-STEP(MN*MOZIX,MOZIY),1,BF 450 GOTO 280 460 *E 470 CLS 3:LOCATE 20,5:PRINT " お疲れさまでした。" 480 LOCATE 20,8:PRINT "フロッピーディスクを抜いて電源を切ってください" 490 END 500 *TOUJI 510 RUN"touji" 520 RETURN 530 *SIKI 540 RUN"siki" 550 RETURN 560 *NINNI 570 RUN"ninni" 580 RETURN 590 *GR 600 RUN"gr" 610 RETURN