その他
桐を完璧に使いこなせれば業務の仕事はラクチンになりますね。
昔のDOS版の時は、起動させるのにconfig.sysをいじったりして大変でしたが、今は直ぐに起動できるので良いですね。
只、検索スピードはDOS時代の時は異常に速かったです。
あ~、でも今はCPUもメモリーも大きくなりましたし、どちらが速いのかな?。
価 格
オープンプライスですが、4万円弱という所ですね。大分安くなりました。
思い起こせば
桐を知って使い始めて、前にも書きましたが、売上管理、仕入管理、経費処理、給与計算、商品出庫システム等を色々作り、仕事をする上で手放せないものになりました。
全部の機能を使いこなせてませんが、必要なところだけでも十分でした。
今後も何かと使っていきます。
SPACE EMPIRE
後、全然違う話ですが昔からのソフト案内繋がりで(更に昔なのですが)
たしか1975年頃のDOS時代でPC-8801とかの頃ですが、当時小学生で兄から「これは面白いから打て」と言われて
当然意味もわからずアスキーという雑誌のゲームプログラムを打たされた事があります。
確かに出来上がった時は面白かったので、いつかもう一度やってみたいと思っているのですがコンパイル?とかいう方法がわかりません。
兄も忘れてしまったようです。そこでどなたかご存知の方いらっしゃいませんでしょうか?
プログラムは国立国会図書館に行って当時の雑誌をコピーして、一通りテキストで入力終わりました。
(全ての過去の雑誌や本があるというのは聞いてたのですが、実際に出てくると感激しました。
国会図書館、恐るべし。
ネット上に無いものも出てきますし、近くに寄る事がありましたら覘いて見るのも面白いですよ。マンガ本もあるようです。)
では、よろしくお願い致します。
これの5倍程続きます。(これは一部です。)
l x x x x x x x
2 x
3 x S P A C E E M P I R E (SEI)
4 x
5 x Copyright (C) by
6 x
7 x Atsuhiro Kin0shita Tetsumei Tsuruoka x
8 x
9 x all rights reserved. x
10 x
11 x No part bf this program can be used without permission.
12 x
13 x x x x x x x x x x
20 GOTO 1000
500 PRINT CHR$(135)SPACE$(I1)STRING$(I1+1,29);: B$= " " : O0=0:O=0
502 A$=INKEY$:IF A$=""GOTO 510 ELSE A9=ASC(A$)
504 IF A9=13 THEN IF B$<>" " OR I1=0 THEN BEEP 1:A#=INT(CDBL(VAL(B$))):PRINT STRI
NG$(LEN(B$) ,29 )RIGHT$(SPACE$(I1)+STR$(A#) , I1) " " ;:BEEP 0:RETURN
506 IF A9=127 OR A9=8 OR A9=29 THEN IF LEN(B$) THEN BEEP 1:B$=LEFT$(B$,LEN(B$)-1
):PRINT CHR$(29) " "STRING$(2,29);:BEEP 0 :GOTO 510
507 IF A$="M" OR A$="m" THEN BEEP 1:MS=(MS+2) MOD 4:SCREEN 0,MS:BEEP 0:GOTO 510
508 IF 47
510 O=(O+1)MOD 10:IF O GOTO 502
512 IF O0 THEN BEEP 1:PRINT CHR$(135)CHR$(29);:O0=0:BEEP 0 ELSE PRINT " "CHR$(29
);: O0=1
514 GOTO 502
550 COLOR 6:LOCATE 67,24:PRINT "RETURN KEY ";: I1=0:GOSUB 500:LOCATE 67,24:PRINT
SPC(10);:RETURN
1000 GOSUB 10000
1200 ON ERROR GOTO 1600:CHAIN "SEU.N88" ,1000,ALL
1600 IF ERR=62 OR ERR=68 OR ERR=53 THEN BEEP:PRINT:PRINT "Set PROGRAM DISK in dr
ive 1" :GOSUB 550:RESUME ELSE ERROR ERR
10000 DEFINT E,F,I-Q:I=0:J=0:K=0:Q=0:P=0:N=0:M=0:L=0:A=0:B=0:C=0:A#=0:COLOR 5,0,
0,0
10010 DEF FNR(X)=INT(RND*X)
10020 CONSOLE 0,25,0,1:WIDTH 80,25:SCREEN 0,3:FOR I=0 TO 7:COLOR=(I,I):NEXT
10100 DIM AP#(1),LW(I),BP#(1),MC(1,1),TP(1),DR(1),TR(1),GP(1),CZ(1),M0
(1,1),M1(1
,1),M2(1,1),RM(1),KM(1),LC(1,30),UF(91,1,1),UW(91,1,1),IU(91),JU(91)
,KU(91),PA(1
1),PN(11),PX(11),PY(11),NW(11),RP(29),VP(29),PL(29),GC(29),CP(29),
P0(29,1),P1(29
,1),P2(29,1)
10110 DIM KP(29),JP(29),LB(29),NS(29),PZ(31),RN(7,30,2),KF(1,30,2),JF(3,30),LX(1
,30),LY(1,30),LZ(1,30),MX(1,30),MY(1,30),MZ(1,30),PC(1,30),PU(1,30)
,PW(1,30),NX(
1,30),NY(1,30),QS(2,2,1),SP(2),SC(2),NC(2),SR(2),NT(29),LD(30),LN(7)
,ZN(7),ND(30
),ZK$(5)
10120 DIM ST$(2),CI(29)
10200 RESTORE 10280:FOR L=0 TO 2:FOR Q=0 TO 2:FOR P=0 TO 1:READ QS(L,Q,P):NEXT:N
EXT:READ SP(L),SC(L),NC(L),SR(L):NEXT:FOR N=1 TO 7:READ ZN(N) :NEXT:LN(1)=1000:LN
(2)=1000:FOR I=0 TO 5:READ ZK$(I):NEXT:FOR L=0 TO 2:READ ST$(L):NEXT:FD=2000
10202 FOR P=0 TO 1:M0(p,0)=1000+1700*p:M0(p,1)=500+800*P:M1(P,0)=1500+2500*P
:M1(
p,1)=1000+1000*P:M2(P,0)=100:M2(P,1) =200:NEXT
10210 CDLOR 5:PRINT "0=スクリ-ン 1=プリンタ ";:GOSUB 12600: IF A# THEN F$="LPT1
:" ELSE F$="SCRN:"
10220 PRINT:PRINT "0=新規 1=継続 ";:GOSUB 12600:lF A# THEN GOSUB 6100
0:OPEN F$ FOR OUTPUT AS 1:RETURN ELSE OPEN F$ FOR OUTPUT AS 1
10230 PRINT:PRINT "0=スタンダ-ド 1=ランダム ";:GOSUB 12600:lF A# THEN PRINT:PRIN
T "ランダム No. (1-65536) ";:I1=5:GOSUB 500:IF A#>65536! THEN BEEP:GOTO 10230 ELSE
RANDOMIZE(A#-32769! ) ELSE RANDOMIZE(8087)
10240 PRINT:PRINT "0=Low -- 9=High レベル ";: I1=1:GOSUB 500:LV=A#+1
10280 DATA 100,20,150,150,200,100,250E+07,1E+07,30,150
10281 DATA 10, 1,150,150, 80, 40,125E+07,5E+06,10,100
10282 DATA 1, 1, 3, 1, 1. 1,2.5E+07,5E+05, 1, 1
10283 DATA .01,.01, .05, .01, .00, .03, .03
10284 DATA ----, U .N . ,G1GA, , xxxU , xxxG
10285 DATA 戦艦,空母,小型機
10400 AD#=1600000000# : AF#=750000000# : AC=1.4E+09 : DI#=3000000000#:wF#=3500000000#:
PT=1500:LP=5000:BR#=1000000000#:ML=5000:DP=1.00003+LV*
.00002:AR#=250000000#:FOR
P=0 TO 1:AP#(P)=750000000#:LW(P)=6000:BP#(P)=0:TP(P)=1E+11:DR(P)
=200:TR(P)=150:N
EXT
10600 FOR P=0 TO 1:GP(P)=1E+11:CZ(P)=1E+09:RM(P)=150:KM(P)=10000:NEXT
10700 px(0)=FNR(19)+3:PY(0)=FNR(19)+3:PX(1)=FNR(19)+3:PY(1)=FNR(
19)+3:Q=ABS(PX(1
)-PX(0)):P=ABS(PY(1)-PY(0)): IF P>Q THEN Q=P
10730 I=ABS(PX(0)-12):K=ABS(PY(0)-12):IF K>1 THEN I=K
10740 J=ABS(PX(1)-12) :K=ABS(PY(1)-12):IF K>J THEN J=K
10750 IF Q+5<1+J OR Q<15 GOTO 10700
10760 FOR Q=2 TO 11
10770 N=0:pX(Q)=FNR(23)+1:PY(Q)=FNR(23)+1:FOR P=0 TO Q-1:IF PX(Q)=PX(P) AND PY(Q
)=PY(P) THEN N=-1:P=Q-1
10800 NEXT:IF N GOTO 10770 ELSE NEXT
10830 PN(0)=4:PN(1)=4:FOR Q=0 TO 23:P=FNR(10)+2:PN(P)=PN(P)+1:NEXT:N=0:FOR Q=2 T
O 11:IF PN(Q)=0 THEN N=-1:Q=11
10840 NEXT: IF N THEN FOR Q=0 TO 11:PN(Q)=0:NEXT:GOTO 10830
10880 N=0:FOR Q=0 TO 11:PA(Q)=N-2:FOR K=N TO N+PN(Q)-1:IF K>1 THEN NS(K-2)=Q
10920 PZ(K)=FNR(PN(Q))+1:M=0:FOR P=N TO K-1: IF P
10950 NEXT:IF M GOTO 10920 ELSE NEXT:N=N+PN(Q):NEXT:IF PN(0)>1 THEN SWAP PZ(1),P
Z(PN(0)) : NS(PN(0)-2)=0
11000 PN(0)=PN(0)-1 :PN(1)=PN(1)-1:PA(0)=0 : PA(1)=PA(1)+1
11020 FOR K=0 TO 29
11022 RP(K)=FNR (150)+50:A=FNR(2)*FNR(5000)*1E+06:PL(K)=(FNR(6)+4)*SGN( A ) : GC( K )=P
L(K)*A:FOR L=0 TO 1:P0(K,L)=PL(K)*(FNR(70-30*L)+75-60*L):P1(K,L)=(PL(K)+3)*(FNR(
75-30*L)+75-60*L):P2(K,L)=(PL(K)*.5+5)*(FNR(20+10*L)+20+10*L):NEXT:KP(K)
=10000:N
EXT
12000 FOR I=0 TO 1:FOR J=11+I*(7+LV) TO 30:JF(I,J)=-1:NEXT:FOR J=0 TO 10+I*(7+LV
):JF(I,J)=7000:LX(I,J)=PX(I):LY(I,J)=PY(I):LZ(I,J)=PZ(I):MX(I,J)=PX
(I):MY(I,J)=P
Y(I):MZ(I,J)=PZ(I):NX(I,J)=MX(I,J)-LX(I,J):NY(I,J)=MY(I,J)-LY(I,J):PW(I,J)=ABS(N
X(1,J))
12065 IF PW(I,J)
A BS(N Y(I,J)) THEN PW(I,J)=ABS (NY(I,J))
12070 PW(I,J)=PW(I,J)/2:PC(I,J)=-1:PU(I,J)=I:RN(I,J,0)=2:RN(I,J,1)
=2:RN(I,J,2)=2
00:RN(I+2,J,0)=60:RN(I+2,J,1)=20:RN(I+2,J,2)=200:FOR L=0 TO 2:KF(I,J,L)=10000:NE
XT:NEXT:NEXT:RN(2,0,0)=300:RN(2,0,1)=0:RN (2,0,2)=0
12200 DT#=1
12410 FOR K=0 TO 31:IF K<2 THEN Q=K ELSE Q=NS(K-2)
12420 IU(K)=PX(Q):JU(K)=PY(Q):KU(K)=PZ(K):NEXT:FD=800:ZS=1E-08*FD
12460 FOR I=0 TO 11:NT(I)=I:J=ABS(PX(I)-PX(1)):IF J
12470 NT(I)=I :J=ABS(PX( I )-PX(1) ) : IF J
NT( I ) ,NT( J) :SWAP NT( I+15) ,NT( J+15)
12530 NEXT:NEXT:Q=29:FOR I=11 TO 0 STEP -1:FOR J=PA(NT(I)) TO PA(NT(I))+PN(NT(I)
)-1 : NT ( Q ) = J : Q=Q- 1 : NEXT : NEXT : RETURN
12600 I1=1:GOSUB 500: IF A# AND A#<>1 THEN BEEP:PRINT STRING$(2,29); :GOTO 12600 E
LSE RETURN
27000 FOR I=0 TO 1:FOR M=0 TO 1:UW(I,I,M)=M2( I,M):UW(I,1-I,M)=0:IU(I)=PX( I):JU(I
)=PY( I ) :KU( I )=PZ( I ) :UF( I , I ,M)=M0( I ,M)*KM( I )*LW( I )*1E-08 :UF(I,1-I,M)=0 :NEXT :NEXT:
FOR K=0 TO 29
27110 IF LB(K)<1 OR LB(K)>3 THEN FOR M=0 TO 1:FOR I=0 TO 1:UF(K+2,1,M)=0:UW(K+2,
I,M)=0:NEXT:NEXT:GOTO 27250 ELSE I=LB(K)-1:FOR M=0 TO 1:UF(K+2, I,M)=P0(K,M)*KP(K
)*PL( K )* JP( K )*1E-12 : UF ( K+2,1-I,M)=0:UW(K+2,I,M)=P2(K,M):UW(K+2,1-I,M)=0:NEXT
27250 NEXT:NU=31:EU=31:FOR I=0 TO 1:FOR J=1 TO 30:IF JF(I,J)<0 GOTO 27600 ELSE I
F IN GOTO 27400 ELSE IF LX(I,J)<>MX(I,J) OR LY(I,J)<>MY(I,J) GOTO 27350 ELSE IF
LZ( I,J)=MZ( I ,J) AND PU( I,J)<32 GOTO 27500 ELSE LZ( I,J)=MZ( I ,J) :GOTO 27400
27350 IF LZ( I ,J)>0 THEN LZ( I,J)=0:GOTO 27400 ELSE P=SGN(NX( I ,J) ):Q=SGN(NY( I ,J)):
N=ABS( NX( I , J ) ) : 0=ABS( NY( I , J ) )
27370 IF N>0 THEN LX(I,J)=LX(I,J)+P:PW(I,J)=PW(I,J)+O:IF PW(I,J)>=N THEN PW(I,J)
=PW( I,J)-N:LY( I ,J)=LY( I ,J)+Q ELSE ELSE LY( I ,J)=LY( I ,J)+Q:PW( I ,J)=PW( I ,J)+N: IF PW
( I ,J) >=O THEN PW( I ,J)=PW( I ,J)-O:LX( I ,J)=LX( I , J)+P
27400 Q=0:IF LZ(1,J)=0 THEN Q=32:IF NU
27420 IF LX(I,J)=IU(Q) AND LY(I,J)=JU(Q) AND LZ(I,J)=KU(Q) THEN PU(I,J)=Q:GOTO 2
7500 ELSE IF Q
27500 Q=PU( I,J):B=JF( I,J )*LW( I )/1E+12:D=UF( Q , I ,0 ):G=UF(Q, I ,1) :H=UW(Q, I ,0):R=UW(Q
,I,1):FOR L=0 TO 2:C=RN( I,J,L):IF C=0 GOTO 27590 ELSE A=RN(I+2,J,L)/NC(L)/C:IF A>1 THEN A=1
27550 D=D+C*QS( L,0,0)*KF( I , J , L )*B*A : G=G+C*QS( L ,0,1)*KF(I,J,L )*B*A:H=H+C*QS(L,2,0
) : R=R+C*QS ( L , 2 ,1)
27590 NEXT : UF(Q, I,0)=D :UF(Q, I,1)=G:UW(Q , I ,0)=H:UW(Q, I ,1)=R
27600 NEXT:NEXT:RETURN
61000 GOSUB 62000:OPEN B$+' .SE' FOR INPUT AS 1: INPUT#1 ,AD#,AF#,AC,AR#,DI#,WF#,RL
# ,CC ,PT ,BG# , LP , BR# ,TL# ,ML , DS# ,BS#,DP,RT# ,NU ,EU,DT# ,ZB# ,KN , KC ,ZX,LV:FOR P=0 TO 1:
INPUT#1 ,AP#(P) ,LW(P) ,BP#(P) ,TP(P),DR(P) ,TR(P) ,GP(P) ,RM(P) ,KM(P) :FOR Q=0 TO 1
61120 INPUT#1 ,MC(P,Q) :NEXT :FOR Q=0 TO 30 : INPUT#1 ,LC(P,Q) ,LX(P,Q) ,LY(P,Q) ,LZ(P,Q)
,MX(P,Q) ,MY(P,Q) ,MZ(P,Q) ,PC(P,Q) ,PU(P,Q) ,PW(P,Q) ,NX(P,Q) ,NY(P,Q) :FOR N=0 TO 2: IN
PUT#1 ,KF(P,Q,N) :NEXT :NEXT :NEXT:FOR P=0 TO 3: INPUT#1 ,LN(P+1)
61130 FOR Q=0 TO 30:INPUT#1,JF(P,Q):NEXT:NEXT:FOR P=0 TO 7:FOR Q=0 TO 30:FOR N=0
TO 2: INPUT#1 ,RN(P,Q,N) :NEXT:NEXT:NEXT:FOR P=0 TO 11: INPUT#1 ,PA(P) ,PN(P) ,PX(P) ,P
Y(P ) :NEXT:FOR P=0 TO 29: INPUT#1 ,NT(P) ,RP(P) ,PL(P) ,GC(P) ,KP(P) ,JP(P) ,LB(P) ,NS(P):
FOR Q=0 TO 1
61140 INPUT#1,P0(p,Q) ,p1(p,Q) ,P2(P,Q) :NEXT:NEXT:FOR P=0 TO 30: INPUT#1 ,ND(P),LD(P
),PZ(P) :NEXT: INPUT#1 ,PZ(31):FOR P=0 TO 91 : INPUT#1 , IU(P) ,JU(P) ,KU(P):FOR Q=0 TO 1
:FOR N=0 TO 1: INPUT#1 , UF( P, Q, N) ,UW(P ,Q,N) :NEXT:NEXT :NEXT : CLOSE:RETURN
62000 ON ERROR GOTO 62100:SCREEN 0,2:COLOR 5:PRINT:PRINT "0=デイスク 1=テ-プ
; :GOSUB 12600: IF A# THEN PRINT:B$=
:PRINT:FILES:PRINT:COLOR 5:PRINT "FILE CODE : S" ; :I1=5:GOSUB 500:B$="S"+B$
62010 RETURN
62100 IF ERR=62 OR ERR=68 THEN BEEP:GOSUB 62200:RESUME ELSE PRINT ERL:ERROR ERR
62200 PRINT:PRINT "Set DATA DISK in drive 1":X$=B$:GOSUB 550:B$=X$:RETURN
1 x x x x x x x x x
2 x S P A C E E M P I R E (SEU)
3 x
4 x Copyright (C) by
5 x
6 x
7 x Atsuhiro Kinoshita Tetsumi Tsuruoka *
8 x
9 x all rights reserved. x
10 x
11 x No part of this program can be used without permission. x
12 x
13 x x x x x x x
20 GOTO 1000
100 LINE (PX(P)*16+1,PY(P)*8+1)-(PX(P)*16+14,PY(P)*8+6) ,Q,B:LINE (PX(P)*16,PY(P)
*8 )-( PX ( P )*16+15,PY ( P )*8+7 ) ,1, B : RETURN
200 LINE ( IU(P)*,16+8,JU(P)*8+3+M)-( IU(P)*16+11,JU(P)*8+3+M) ,Q:LINE ( IU(P)*16+2,J
U(P)*8+4+M)-(IU( P )*16+13 , JU( P )*8+4+M ),Q: RETURN
210 LINE ( IU(P)*16+2,JU( P)*8+4)-( IU(P)*16+13,JU(P)*8+4 ) ,0 :RETURN
500 PRINT CHR$(135 )SPACE$( I1)STRING$,( I1+1 ,29);:B$="":O0=0 :O=0
502 A$=INKEY$:IF A$="" GOTO 510 ELSE A9=ASC(A$)
504 IF A9=13 THEN IF B$<>"" OR I1=0 THEN BEEP 1:A#=INT(CDBL(VAL(B$))):PRINT STRI
NG$(LEN( B$) , 29)RIGHT$( SPACE$( I1)+STR$(A# ), I1) " " ;:BEEP 0 :RETURN
506 IF A9=127 OR A9=8 OR A9=29 THEN IF LEN(B$) THEN BEEP 1:B$=LEFT$(B$,LEN(B$)-1
) :PRINT CHR$(29) " "STRING$(2,29);:BEEP 0 :GOTO 510
507 IF A$="M" OR A$="m" THEN BEEP 1:MS=(MS+2) MOD 4:SCREEN 0,MS:BEEP 0:GOTO 510
508 IF 47
510 O=(O+1)MOD 10: IF O GOTO 502
512 IF O0 THEN BEEP 1:PRINT CHR$(135)CHR$(29);:O0=0:BEEP 0 ELSE PRINT " "CHR$(29
);:O0=1
514 GOTO 502
550 COLOR 6:LOCATE 67,24:PRINT "RETURN KEY ";: I1=0:GOSUB 500 :LOCATE 67 ,24 :PRINT
SPC( 10 ) ; : RETURN
600 A#=INT(A#*.000001+.5):PRINT USING "######## MT";A#;:A#=A#*1000000#:RETURN
610 A#=INT(A#+.5):PRINT USING "########";A#; :RETURN
700 A#=INT(A#*.000001+.5)*1000000#:TU#=TU#-A#:LOCATE 27,P:PRINT " ";: I1=6 : GOSUB
500: A#=A#*1000000# : RETURN
710 LOCATE 27,P:GOSUB 600:RETURN
720 P=6:A#=TI#:GOSUB 710:RETURN
730 P=20:A#=TU#:GOSUB 710:RETURN
800 LOCATE 1,P:READ B$:PRINT B$SPACE$(26-LEN(B$) ) ; :GOSUB 600 :TU#=TU#+A#:P=P+1:RE
TURN
900 GOSUB 15700:M=POINT( Q0*16,Q1*8):J=6: I=0:GOSUB 930
902 A$=INKEY$:IF A$="" GOTO 916 ELSE A=ASC(A$)
904 IF A=28 THEN GOSUB 940:Q0=Q0+1:GOSUB 950 ELSE IF A=29 THEN GOSUB 940:Q0=Q0+2
4:GOSUB 950 ELSE IF A=30 THEN GOSUB 940:Q1=Q1+24:GOSUB 950 ELSE IF A=31 THEN GOS
UB 940:Q1=Q1+1:GOSUB 950 ELSE IF A=13 THEN BEEP 1:J=M:GOSUB 930:BEEP 0:RETURN
914 IF A$="0" THEN BEEP 1:J=M:GOSUB 930:M=-1:BEEP 0:RETURN
916 I=(I+1)MOD 10:IF I GOTO 902 ELSE IF J=6 THEN J=M ELSE BEEP 1:J=6:BEEP 0
920 GOSUB 930:GOTO 902
930 LINE (Q0*16,Q1*8)-(Q0*16+15,Q1*8+7) ,J,B:RETURN
940 BEEP 1:J=M:GOSUB 930: I=9:BEEP 0:RETURN
950 Q0=Q0 MOD 25:Q1=Q1 MOD 25:M=POINT(Q0*16,Q1*8) :J=6:GOSUB 930:RETURN
960 GOSUB 15700:J=6: I=0:GOSUB 980
962 A$=INKEY$:IF A$="" GOTO 972 ELSE A=ASC(A$)
964 IF A=28 THEN BEEP 1:J=5:GOSUB 980: I=7:Q=Q+1:BEEP 0: IF Q>PN(P)+N THEN Q=11
966 IF A=29 THEN BEEP 1:J=5:GOSUB 980: I=7:Q=Q-1:BEEP 0:IF Q<1 THEN Q=1 ELSE IF Q
=10 THEN Q=PN(P)+N
968 IF A=13 THEN BEEP 1:J=6:GOSUB 980:BEEP 0:RETURN ELSE IF A$="0" THEN BEEP 1:J
=5:GOSUB 980 :M=-1 :BEEP 0:RETURN
972 I=(I+1)MOD 8:IF I GOTO 962 ELSE IF J=6 THEN J=5 ELSE BEEP 1:J=6:BEEP 0
976 GOSUB 980:GOTO 962
980 PAINT (452+Q*16,29) ,J,3:RETURN
1000 GOSUB 1500
1050 GOSUB 13000