forked from robhagemans/basicode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path04_Biorhythmen.bc2
297 lines (296 loc) · 7.84 KB
/
04_Biorhythmen.bc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
1000 A=200:GOTO20:REM BIORHYTHMEN
1010 REM
1020 REM H + M FILLINGER
1030 REM 10.04.1984
1040 REM
1050 GOSUB100
1060 GOSUB9000
1070 GOSUB100
1080 A$="":A1$="":N$="":X$=""
1090 B=0:D=0:E=0:G=0:H=0:H1=0:I=0:II=0:J=0
1100 JJ=0:K=0:L=0:M=0:MM=0:MW=0:S=0:T=0:T1=0
1110 TT=0:TZ=0:Z=0
1120 REM
1200 REM VARIABLENLISTE
1210 REM A$,A1$......HILFSTRING F.AUSGABE
1220 REM B...........BIOJAHRESRHYTHMUS
1230 REM D...........AUSGABEAUSWAHL
1240 REM E...........ANZAHL BERECHNUNGSTAGE
1250 REM G...........GEISTIGER RHYTHMUS
1260 REM H,H1........HILFSVAR.SCHALTJAHR
1270 REM I,II........LAUFVAR.
1280 REM J...........BERECHNUNGSJAHR
1290 REM JJ..........GEBURTSJAHR
1300 REM K...........KOERPERLICHER RHYTHMUS
1310 REM L...........LAENGE TITELSTRING
1320 REM M...........BERECHNUNGSMONAT
1330 REM MM..........GEBURTSMONAT
1340 REM MW..........MODULAUSWAHL
1350 REM N$..........NAME
1360 REM S...........SEELISCHER RHYTHMUS
1370 REM T...........BERECHNUNGSTAG
1380 REM T1..........LEBENSTAGE
1390 REM TT..........GEBURTSTAG
1400 REM TZ..........HILFSVAR.ZU T1
1410 REM X$..........TITELSTRING
1420 REM
1500 PRINT"WIRD ERKLAERUNG GEWUENSCHT";:INPUTE$
1510 IFLEFT$(E$,1)="N" THEN1800
1520 IFLEFT$(E$,1)<>"J" THEN1500
1530 GOSUB100
1540 PRINT"ERLAEUTERUNG DER ABKUERZUNGEN :"
1550 PRINT"K....KOERPERLICHER RHYTHMUS (23 TAGE)"
1560 CR=2:GOSUB22000
1570 PRINT"S....SEELISCHER RHYTHMUS (28 TAGE)"
1580 CR=4:GOSUB22000
1590 PRINT"G....GEISTIGER RHYTHMUS (33 TAGE)"
1600 CR=8:GOSUB22000
1610 PRINT"B....BIOJAHRESRHYTHMUS (644 TAGE)"
1620 PRINT
1630 CR=1:GOSUB22000
1640 PRINT"WENN WEITER, BITTE 'RETURN'":GOSUB210
1650 PRINT:PRINT
1660 PRINT"BEIM UEBERSCHNEIDEN EINZELNER KURVEN"
1670 PRINT"WURDEN FOLGENDE SYMBOLE GEWAEHLT :"
1680 PRINT
1690 CR=3:GOSUB22000
1700 PRINT". = S,K"
1710 CR=5:GOSUB22000
1720 PRINT": = G,K"
1730 CR=6:GOSUB22000
1740 PRINT"; = G,S"
1750 CR=7:GOSUB22000
1760 CR=1:GOSUB22000
1770 PRINT
1780 PRINT"WENN WEITER, BITTE 'RETURN'":GOSUB210
1790 REM
1800 GOSUB100
2000 REM EINGABEN
2010 PRINT"NAME";:INPUTN$
2020 PRINT"GEBURTSDATUM"
2030 PRINT"TAG";:INPUTTT
2040 PRINT"MONAT";:INPUTMM
2050 PRINT"JAHR";:INPUTJJ
2060 PRINT"ANFANGSDATUM FUER DIE"
2070 PRINT"BERECHNUNG DER BIORHYTHMEN"
2080 PRINT"TAG";:INPUTT
2090 PRINT"MONAT";:INPUTM
2100 PRINT"JAHR";:INPUTJ
2110 PRINT"-1- AUSGABE DRUCKER"
2120 PRINT"-2- AUSGABE MONITOR"
2130 INPUTD
2140 IF(D<1) OR(D>2) THEN2110
2150 GOSUB100
2160 PRINT"-1- AUSGABE DER AKTUELLEN "
2170 PRINT" RHYTHMENTAGE"
2180 PRINT"-2- AUSGABE KURVEN"
2190 INPUTMW
2200 IF(MW<1) OR(MW>2) THEN2150
2210 PRINT"ANZAHL DER BERECHNUNGSTAGE";:INPUTE
2220 REM
3000 REM BERECHNUNG DER LEBENSTAGE
3010 T1=(J-JJ)*365
3020 IFJ=JJ THEN3110
3030 FORI=JJ TOJ
3040 H=I/4
3050 H1=INT(I/4)
3060 IFH=H1 THENT1=T1+1
3070 IFH<>H1 THEN3100
3080 IF(MM<2) AND(I=JJ) THENT1=T1-1
3090 IFI=J THENT1=T1-1
3100 NEXTI
3110 T1=T1+T
3120 IFJJ=J THEN3280
3130 T1=T1+1
3140 ONM GOTO3280,3160,3170,3190,3200,3210
3150 ONM+6 GOTO3220,3230,3240,3250,3260,3270
3160 T1=T1+31
3170 T1=T1+28
3180 IFH=H1 THENT1=T1+1
3190 T1=T1+31
3200 T1=T1+30
3210 T1=T1+31
3220 T1=T1+30
3230 T1=T1+31
3240 T1=T1+31
3250 T1=T1+30
3260 T1=T1+31
3270 T1=T1+30
3280 T1=T1-TT
3290 IFJJ=J THEN3430
3300 IFMM=1 THEN3430
3310 IFMM=2 THENT1=T1-31:GOTO3430
3320 IFMM=3 THENT1=T1-59
3330 IFMM=4 THENT1=T1-90
3340 IFMM=5 THENT1=T1-120
3350 IFMM=6 THENT1=T1-151
3360 IFMM=7 THENT1=T1-181
3370 IFMM=8 THENT1=T1-212
3380 IFMM=9 THENT1=T1-243
3390 IFMM=10 THENT1=T1-273
3400 IFMM=11 THENT1=T1-304
3410 IFMM=12 THENT1=T1-334
3420 IF(JJ/4)=INT(J/4) THENT1=T1-1
3430 GOSUB100
3440 REM
4000 REM RHYTHMENTAGE
4010 ZE=1
4020 IFMW=2 THEN5000
4030 SR$="TAGESTABELLE FUER "+N$
4040 GOSUB8000
4050 A$="BERECHNUNG AB :"
4060 CT=3:CN=0
4070 SR=T:GOSUB310:A$=A$+SR$+"."
4080 SR=M:GOSUB310:A$=A$+SR$+"."
4090 SR=J:GOSUB310:A$=A$+SR$
4100 SR$=A$:GOSUB8000:CR=8:GOSUB22000
4110 SR$="TAG":ZE=0:GOSUB8000:CR=1:GOSUB22000
4120 SR$=" K":GOSUB8000
4130 SR$=" S":CR=4:GOSUB22000:GOSUB8000
4140 SR$=" G":CR=2:GOSUB22000:GOSUB8000
4150 SR$=" B":CR=8:GOSUB22000:ZE=1:GOSUB8000
4160 CR=1:GOSUB22000
4170 SR$=""
4180 GOSUB8000
4190 SR$="****************"
4200 GOSUB8000
4210 FORI=0 TOE
4220 IFI>0 THENT=T+1
4230 IFT>31 THENT=1:M=M+1
4240 IF(T>30) AND((M=4) OR(M=6)) THENT=1:M=M+1
4250 IF(T>30) AND((M=9) OR(M=11)) THENT=1:M=M+1
4260 IF(T>28) AND(M=2) AND(H<>H1) THENT=1:M=3
4270 IF(T>29) AND(M=2) AND(H=H1) THENT=1:M=3
4280 IFM=13 THENM=1:J=J+1
4290 TZ=T1+I
4300 GOSUB6000:ZE=0
4310 SR=T:GOSUB310:CR=8:GOSUB22000:GOSUB8000
4320 SR=K:GOSUB310:CR=1:GOSUB22000:GOSUB8000
4330 SR=S:GOSUB310:CR=4:GOSUB22000:GOSUB8000
4340 SR=G:GOSUB310:CR=2:GOSUB22000:GOSUB8000
4350 CT=4:SR=B:GOSUB310:ZE=1:CR=8
4360 GOSUB22000:GOSUB8000
4370 CT=3
4380 NEXTI
4390 CR=1:GOSUB22000
4400 SR$="****************"
4410 GOSUB8000
4420 END
5000 REM KURVEN K,S,G
5010 SR$="BIORHYTHMEN FUER : "+N$
5020 GOSUB8000
5030 CT=3:CN=0
5040 A$="BERECHNUNG AB : "
5050 SR=T:GOSUB310:A$=A$+SR$+"."
5060 SR=M:GOSUB310:A$=A$+SR$+"."
5070 SR=J:GOSUB310:A$=A$+SR$
5080 SR$=A$:GOSUB8000
5090 SR$="TAG HOCH * TIEF "
5100 GOSUB8000
5110 FORI=0 TOE
5120 IFI>0 THENT=T+1
5130 IFT>31 THENT=1:M=M+1
5140 IF(T>30) AND((M=4) OR(M=6)) THENT=1:M=M+1
5150 IFT>30 AND(M=9 ORM=11) THENT=1:M=M+1
5160 IFT>28 ANDM=2 ANDH<>H1 THENT=1:M=3
5170 IFT>28 ANDM=2 ANDH=H1 THENT=1:M=3
5180 IFM=13 THENM=1:J=J+1
5190 TZ=T1+I
5200 GOSUB6000
5210 SR=T:GOSUB310:ZE=0:CR=8:GOSUB22000:GOSUB8000
5220 FORII=15 TO-15 STEP-1
5230 A1$=" "
5240 IFII=K THENA1$="K":CR=1
5250 IF(II=S) AND(A1$=" ") THENA1$="S":CR=4
5260 IF(II=S) AND(A1$="K") THENA1$=".":CR=3
5270 IF(II=G) AND(A1$=" ") THENA1$="G":CR=2
5280 IF(II=G) AND(A1$="K") THENA1$=":":CR=5
5290 IF(II=G) AND(A1$="S") THENA1$=";":CR=6
5300 IF(II=G) AND(A1$=".") THENA1$="&":CR=7
5310 IF(II=0) AND(A1$=" ") THENA1$="*":CR=8
5320 GOSUB22000:SR$=A1$:GOSUB8000
5330 NEXTII
5340 SR$="":ZE=1:GOSUB8000
5350 NEXTI
5360 END
6000 REM BERECHNUNG DER RHYTHMENTAGE
6010 K=INT(((TZ/23)-INT(TZ/23))*23+.5)
6020 S=INT(((TZ/28)-INT(TZ/28))*28+.5)
6030 G=INT(((TZ/33)-INT(TZ/33))*33+.5)
6040 B=INT(((TZ/644)-INT(TZ/644))*644+.5)
6050 IFMW=1 THENRETURN
7000 REM BERECHNUNG DER SINUSKURVEN
7010 K=K*100/23
7020 S=S*100/28
7030 G=G*100/33
7040 B=B*100/644
7050 K=SIN(6.283/100*K)*15
7060 S=SIN(6.283/100*S)*15
7070 G=SIN(6.283/100*G)*15
7080 B=SIN(6.283/100*B)*15
7090 IFK<0 THENK=INT(K+.5)
7100 IFK>0 THENK=INT(K-.5)
7110 IFS<0 THENS=INT(S+.5)
7120 IFS>0 THENS=INT(S-.5)
7130 IFG<0 THENG=INT(G+.5)
7140 IFG>0 THENG=INT(G-.5)
7150 IFB<0 THENB=INT(B+.5)
7160 IFB>0 THENB=INT(B-.5)
7170 RETURN
7180 REM
8000 REM AUSGABE
8010 PRINTSR$;
8020 IFZE=1 THENPRINT
8030 IFD=1 THENGOSUB350
8040 IF(D=1) AND(ZE=1) THENGOSUB360
8050 RETURN
8060 REM
8070 REM
9000 REM TITEL
9010 CR=1:GOSUB22000
9020 REM
9030 X$="BIORHYTHMEN"
9040 L=LEN(X$)
9050 VE=2*I+1
9060 FORI=1 TOL
9070 HO=3+I:GOSUB110
9080 PRINTMID$(X$,I,1);
9090 NEXTI
9100 PRINT:PRINT:PRINT:PRINT
9110 CR=4:GOSUB22000
9120 PRINT" CO. H. & M. FILLINGER"
9130 PRINT" MCMLXXXIV"
9140 FORI=1 TO2000:NEXTI
9150 GOSUB100
9160 CR=1:GOSUB22000
9170 RETURN
9180 REM
9190 REM
22000 REM STEUERUNG DER BILDSCHIRMFARBEN
22010 REM --- GILT FUER C64 ---
22020 ONCR GOTO22050,22070,22090,22110
22030 ON(CR-4) GOTO22130,22150,22170,22190
22040 RETURN
22050 REM WEISS
22060 PRINTCHR$(5);:RETURN
22070 REM ROT
22080 PRINTCHR$(28);:RETURN
22090 REM BRAUN
22100 PRINTCHR$(149);:RETURN
22110 REM GELB
22120 PRINTCHR$(158);:RETURN
22130 REM GRUEN
22140 PRINTCHR$(30);:RETURN
22150 REM BLAU
22160 PRINTCHR$(31);:RETURN
22170 REM VIOLETT
22180 PRINTCHR$(156);:RETURN
22190 REM TUERKIS
22200 PRINTCHR$(159);:RETURN
22210 REM
30000 REM LITERATURHINWEIS
30010 REM FALKENVERLAG NR. 0458
30020 REM WALTER A.APPEL
30030 REM BIORHYTHMIK
30040 REM ISBN 3 8068 0458 3
30050 REM