# TITLE: Cheap and Cheerful Bingo Caller # AUTHOR: BazzaB # EMAIL: barries_ecdl@hotmail.com # DATE: 1st December 2003 # MAKE: Casio # MODEL: CFX-9850G or similar # NOTES: The last 2 numbers called, shown at the # top should be read from right to left. # KEYS: # * multiply by below [ DEL ] # -> assignment above [ AC/ON] # => if-then shift vars f3 f3 # <> not equal shift vars f6 f3 f2 # <= less or equal shift vars f6 f3 f6 # \^-1 reciprocal shift [ ) ] key # { left brace shift [ * ] # [ left bracket shift [ + ] # ] right bracket shift [ - ] #__________________________________________________ ## Program "BINGO" # This program listing is repeated below without comments # for compatibility with Xchange. Lbl A Norm ClrText ClrList 0->A~E 90->D "SHUFFLING" Seq(A,A,1,D,1->List 1 Seq(0,A,1,D,1->List 2 ' SHUFFLE 3 TIMES For 1->C To 3 For 1->A To D Int DRan#+1->B List 1[B->E List 1[A->List 1[B E->List 1[A Next Next ' EYES DOWN ClrText Locate 1,1,"LAST 2 OUT:" Locate 3,3,"NUMBER" Locate 13,3,"IS" Locate 16,4,"--" Locate 2,6,"F1= NOT 'BINGO' YET" Locate 2,7,"F2= YES... 'BINGO'" For 1->A To D Locate 13,1," " ; 5 spcs Locate 16,3," " ; 2 spcs Locate 10,3,A Locate16,3,List 1[A List 1[A->List 2[A A>1=>Locate 16,1,List 1[A-1 A>2=>Locate 13,1,List 1[A-2 0->B While (B<>69)(B<>79 Getkey->B WhileEnd B=69=>Break Next A->E If (E=D)(B=79 Then ClrText "DON'T BE SILLY." " " ; 1 spc "SOMEBODY MUST HAVE" "WON BY NOW..." Locate 6,7,"PRESS 'EXE'" While Getkey<>31 WhileEnd Goto A IfEnd ' CHECK WINNING CARD {0->List 1 SortD(List 2 Seq(0,A,1,A,1->List 1 For 1->A To E List 2[A->List 1[A Next {0->List 2 SortA(List 1 ClrText "--CHECK NUMBERS--" Locate 1,7,"PRESS 'EXE' WHEN DONE" 0->D Do Isz D For 30D-29->A To 30D If A<=E Then 6Frac (6\^-1A+.01->B B+6(B<.1->B Int (3B-2->B List 1[A]<10=>Isz B 2+Int (6\^-1(A-30D+29->C Locate B,C,List 1[A IfEnd Next While Getkey<>31 WhileEnd For 2->A To 6 Locate 1,A," " ; 17 spcs Next LpWhile E>30D Goto A #_____________________________________________ @@ Program "BINGO" Lbl A Norm ClrText ClrList 0->A~E 90->D "SHUFFLING" Seq(A,A,1,D,1->List 1 Seq(0,A,1,D,1->List 2 ' SHUFFLE 3 TIMES For 1->C To 3 For 1->A To D Int DRan#+1->B List 1[B->E List 1[A->List 1[B E->List 1[A Next Next ' EYES DOWN ClrText Locate 1,1,"LAST 2 OUT:" Locate 3,3,"NUMBER" Locate 13,3,"IS" Locate 16,4,"--" Locate 2,6,"F1= NOT 'BINGO' YET" Locate 2,7,"F2= YES... 'BINGO'" For 1->A To D Locate 13,1," " Locate 16,3," " Locate 10,3,A Locate16,3,List 1[A List 1[A->List 2[A A>1=>Locate 16,1,List 1[A-1 A>2=>Locate 13,1,List 1[A-2 0->B While (B<>69)(B<>79 Getkey->B WhileEnd B=69=>Break Next A->E If (E=D)(B=79 Then ClrText "DON'T BE SILLY." " " "SOMEBODY MUST HAVE" "WON BY NOW..." Locate 6,7,"PRESS 'EXE'" While Getkey<>31 WhileEnd Goto A IfEnd ' CHECK WINNING CARD {0->List 1 SortD(List 2 Seq(0,A,1,A,1->List 1 For 1->A To E List 2[A->List 1[A Next {0->List 2 SortA(List 1 ClrText "--CHECK NUMBERS--" Locate 1,7,"PRESS 'EXE' WHEN DONE" 0->D Do Isz D For 30D-29->A To 30D If A<=E Then 6Frac (6\^-1A+.01->B B+6(B<.1->B Int (3B-2->B List 1[A]<10=>Isz B 2+Int (6\^-1(A-30D+29->C Locate B,C,List 1[A IfEnd Next While Getkey<>31 WhileEnd For 2->A To 6 Locate 1,A," " Next LpWhile E>30D Goto A