Runs a bingo game for “the Hammer Hutch Casino”. The caller draws the numbers 1 to 75 in random order without repeats and shows each with its letter, such as G-50, with a beep; ENTER gives the next call, N starts a new game and Q quits. A second option prints as many bingo cards as you ask for, each with five random numbers per column from the proper range (B 1–15 up to O 61–75), a FREE centre square and an asterisk frame. A third prints a master call sheet listing all 75 numbers under their letters, for marking off calls.
The REM in line 1 reads “BINGO ‘The HACKER’ by RALPH HAMMER for Full Size Printer”. The Hacker was the newsletter of the Timex/Sinclair User Group of Las Vegas, and it ran Bingo as its Program of the Month in September 1991.
Program Analysis
Structure
- Lines 1–10: colours and the option menu, dispatched with a computed
GO TO. - Lines 20–85: the caller.
y$(75)marks numbers already drawn with an asterisk. - Lines 90–225: card printing, one row at a time, with subroutines 300 and 400 for the ruled lines.
- Lines 500–525: the menu shown after printing. Lines 600–620: the welcome screen. Lines 700–820: the master call sheet.
Notable Techniques
- Line 10 picks the routine with
GO TO 20*(z=1)+90*(z=2)+700*(z=3)+85*(z=4), using the true/false values of the comparisons as 1 and 0. - The letter for a number comes from
l$(INT (r/15+.95))withl$="BINGO". - Each card column draws from
INT (RND*15+(z-1)*15+1)and rejects repeats through the samey$marker array.
Potential Issues
- Line 800 reads
LPRINT 7wherePAPER 7was evidently meant, so a stray 7 is printed after the master call sheet. - An option number outside 1–4 at the first menu computes
GO TO 0and restarts from the top. - The card and call-sheet options need a printer; only the caller works without one.
This program came from an Oliger (JLO SAFE) disk and was converted to load from tape. Line 3’s Oliger printer setup (LET /p=o and POKE 23324,10) was removed and the SAVE / in line 900 became a plain SAVE. It was tested in ZEsarUX.
Source Code
1 REM BINGO 'The HACKER' by RALPH HAMMER for Full Size Printer
2 BORDER 1: PAPER 6: INK 0
3 CLS : CLS
4 GO TO 600
6 PRINT AT 2,3;"Welcome to the Bingo Parlor";AT 3,6;"Here are your options";AT 6,4;" 1 - PLAY BINGO";AT 8,4;" 2 - PRINT OUT BINGO CARDS";AT 10,4;" 3 - MASTER CALL SHEET";AT 12,4;" 4 - STOP";AT 20,1;"Enter Option Number (1-4):"
8 INPUT z: CLS
10 GO TO 20*(z=1)+90*(z=2)+700*(z=3)+85*(z=4)
20 RANDOMIZE
25 DIM y$(75)
30 LET l$="BINGO"
35 BORDER 3: PAPER 7: CLS : CLS : PRINT AT 2,10;"Bingo Caller";AT 8,6;" CALLING: ";AT 12,6;"Press ENTER for next call";AT 16,3;" N for New Game";AT 18,3;" Q to Quit"
40 FOR z=1 TO 75
50 LET r=INT (RND*75)+1
55 IF y$(r)="*" THEN GO TO 50
60 PAUSE 80: PRINT AT 8,17;" ";l$(INT (r/15+.95));"-";r;: BEEP .2,4
65 LET y$(r)="*"
70 IF INKEY$="" THEN GO TO 70
72 IF INKEY$="N" OR INKEY$="n" THEN CLS : GO TO 6
74 IF INKEY$="Q" OR INKEY$="q" THEN PAUSE 200: CLS : STOP
76 PRINT AT 8,18;" "
80 NEXT z
85 CLS : STOP
90 PRINT AT 11,1;"HOW MANY CARDS DO YOU WANT?";
95 INPUT cards: PRINT AT 11,30;cards: PAUSE 80
100 FOR x=1 TO cards
102 LPRINT "--------------------------------"
103 LPRINT ,,,,
105 LPRINT : LPRINT " THE HAMMER HUTCH CASINO": LPRINT : LPRINT " * B * I * N * G * O *"
110 DIM y$(75)
115 DIM a(5)
120 GO SUB 300
125 FOR y=1 TO 5
130 GO SUB 400
135 FOR z=1 TO 5
140 LET a(z)=INT (RND*15+(z-1)*15+1)
145 IF y$(a(z))="*" THEN GO TO 140
150 LET y$(a(z))="*"
155 NEXT z
160 IF y=3 THEN LET a(3)=0
165 LPRINT TAB 3;"*";TAB 5;a(1);TAB 8;"*";TAB 10;a(2);TAB 13;"*";
170 IF y=3 THEN LPRINT TAB 14;"FREE";
175 IF y<>3 THEN LPRINT TAB 15;a(3);
180 LPRINT TAB 18;"*";TAB 20;a(4);TAB 23;"*";TAB 25;a(5);TAB 28;"*"
185 GO SUB 400
190 GO SUB 300
195 NEXT y
200 FOR z=1 TO 5
205 LPRINT ,,
210 NEXT z
215 NEXT x
220 CLS
225 GO TO 500
300 LPRINT " **************************"
305 RETURN
400 LPRINT " * * * * * * "
405 RETURN
500 PRINT AT 4,4;"Choose your next Option:";AT 7,6;" 1 - More Cards";AT 9,6;" 2 - Play BINGO";AT 11,6;" 3 - Master Calling Sheet";AT 13,6;" 4 - STOP";AT 20,1;"Enter Option Number (1-4):"
505 INPUT q$: PRINT AT 20,28;q$
510 IF q$="1" THEN CLS : GO TO 90
515 IF q$="2" THEN PAUSE 80: CLS : GO TO 20
520 IF q$="3" THEN CLS : GO TO 700
525 IF q$="4" THEN CLS : STOP
600 PRINT AT 4,8;"WELCOME TO THE"
605 FLASH 1: PRINT AT 6,8;" HAMMER HUTCH ";AT 7,8;" CASINO ": FLASH 0
610 PRINT AT 12,0;"COME IN AND SIT IN ONE OF OUR COMFORTABLE CHAIRS IN OUR BINGO PARLOR. PRINT OUT A COUPLE OF CARDS, GRAB A PEN OR PENCIL, AND HAVE SOME FUN."
615 PRINT AT 20,2; INVERSE 1;" Press Any Key to Continue. "
620 PAUSE 0: CLS : GO TO 6
700 BORDER 0: PAPER 7: INK 0
705 CLS : CLS
706 PRINT AT 10,1;"Master Call Sheet now printing"
708 PRINT ,,,,,,
710 LPRINT "MASTER CALL SHEET"
715 LPRINT "--------------------------------"
720 LPRINT "B"
722 LPRINT "1 2 3 4 5 6 7 8"
724 LPRINT "9 10 11 12 13 14 15"
726 LPRINT "I"
728 LPRINT "16 17 18 19 20 21 22 23"
730 LPRINT "24 25 26 27 28 29 30"
732 LPRINT "N"
734 LPRINT "31 32 33 34 35 36 37 38"
736 LPRINT "39 40 41 42 43 44 45"
738 LPRINT "G"
740 LPRINT "46 47 48 49 50 51 52 53"
742 LPRINT "54 55 56 57 58 59 60"
744 LPRINT "O"
746 LPRINT "61 62 63 64 65 66 67 68"
748 LPRINT "69 70 71 72 73 74 75"
750 LPRINT "--------------------------------"
755 LPRINT ,,,,,,,,
800 BORDER 0: LPRINT 7: INK 0
810 CLS : CLS
820 GO TO 6
900 SAVE "BINGOfsp" LINE 1: BEEP .75,12: BEEP .47,8
999 STOPNote: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

