34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
DECLARE MON$[] = { "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" }
|
|
DECLARE MON[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
|
|
Y$ = "1969"
|
|
' Leap year
|
|
INCR MON[1], IIF(MOD(VAL(Y$), 4) = 0 OR MOD(VAL(Y$), 100) = 0 AND MOD(VAL(Y$), 400) <> 0, 1, 0)
|
|
PRINT ALIGN$("[SNOOPY HERE]", 132, 2)
|
|
PRINT ALIGN$(Y$, 132, 2)
|
|
FOR NR = 0 TO 11
|
|
ROW = 3
|
|
GOTOXY 1+(NR %6)*22, ROW+(NR/6)*9
|
|
PRINT ALIGN$(MON$[NR], 21, 2);
|
|
INCR ROW
|
|
GOTOXY 1+(NR %6)*22, ROW+(NR/6)*9
|
|
PRINT ALIGN$("MO TU WE TH FR SA SU", 21, 2);
|
|
INCR ROW
|
|
' Each day
|
|
FOR D = 1 TO MON[NR]
|
|
' Zeller
|
|
J = VAL(LEFT$(Y$, 2))
|
|
K = VAL(MID$(Y$, 3, 2))
|
|
M = NR+1
|
|
IF NR < 2 THEN
|
|
INCR M, 12
|
|
DECR K
|
|
END IF
|
|
H = (D + ((M+1)*26)/10 + K + (K/4) + (J/4) + 5*J)
|
|
DAYNR = MOD(H, 7) - 2
|
|
IF DAYNR < 0 THEN INCR DAYNR, 7
|
|
IF DAYNR = 0 AND D > 1 THEN INCR ROW
|
|
GOTOXY 1+(NR %6)*22+DAYNR*3, ROW+(NR/6)*9
|
|
PRINT D;
|
|
NEXT
|
|
NEXT
|