WHAT'S YOURS


Do you know that awful feeling when you have been put in charge of the drinks purchase at your friend's wedding?

You can be sure that you will get a soft drink for the big fellow in the corner or, even worse, a double whisky with pint chaser for someone's grandmother.

Anyway, it's your turn to buy the drinks and the order is on the bar. If you remember to get everyone the correct drink you will receive a whisky from each of them as they will be so pleased with your effort. If you get the total round correct, they will all pitch in and pay for the drinks themselves.


All the drinks are £1 each, so everytime you get the round right you make £1 per drink for yourself.

Oh, we almost forgot, everytime you get it right someone else joins your circle of friends.

How to play

Five different types of drinks can be ordered as follows:-

BeerRed MugB
LagerYellow MugL
Red WineRed GlassR
White WineWhite GlassW
WhiskyYellow Glass-

Look at the order details on the bar and key in your copy. As you key in your order, the drinks will appear on the screen. When you finish the first round, a second will appear in a different order and, if the last round was correct, an additional member will be added to your group.

When the drink runs out, you can go home - by taxi.

Programming hints

This program is a good example of the use of user-defined graphics. Just two shapes are defined, a glass and a mug shape, but as they are displayed in many different colours there appears to be a large number of shapes. Remember to use COLOUR and not GCOL for user-defined graphics, as they are handled in the same way as text.

You may wish to add some more drinks in the appropriate shaped glass or mug. For example, a white beer mug could represent lemonade, or you could define a brandy or sherry glass shape. If you add more drinks you must allow W in line 320 to have a larger maximum value. Check for the letter that represents the new drinks in line 480. Display the new drinks after line 250.

   10 REM WHAT'S YOURS?
   20 REM COPYRIGHT (C) G. LUDINSKI 1983
   30 MODE 5
   40 DIM W(20)
   50 GOTO 160
   60 DEF FNB(N$)
   70 TF=0
   80 FOR L=0 TO 7
   90 TF=TF+(2^L)*VAL(MID$(N$,8-L,1))
  100 =TF
  110 CLS
  120 REM
  130 REM DEFINE GLASS AND BEER MUG SHAP
E
  140 REM
  150 VDU 23,224,FNB("00111110"),FNB("00
111110"),FNB("00111110"),FNB("00011100")
,FNB("00001000"),FNB("00001000"),FNB("00
001000"),FNB("00111110")
  160 VDU 23,225,FNB("01111000"),FNB("01
111000"),FNB("01111110"),FNB("01111010")
,FNB("01111010"),FNB("01111010"),FNB("01
111110"),FNB("01111000")
  170 MG$=CHR$(225):GL$=CHR$(224)
  180 REM
  190 REM DRAW BAR AND NOTEPADS
  200 REM
  210 CLS
  220 GCOL0,1:PROC_BLOCK(0,520,1279,240)
  230 GCOL0,3:PROC_BLOCK(250,0,255,280)
  240 GCOL0,3:PROC_BLOCK(755,0,270,280)
  250 COLOUR0:COLOUR131:PRINTTAB(4,24)"B
ill"TAB(12,24)"Back"TAB(4,26)"`"TAB(12,2
6)"`":COLOUR3:COLOUR128
  260 REM
  270 REM DRAW DRINKS ORDERED
  280 REM
  290 M=0:OW=0
  300 FORJ=2TO20
  310   FORI=1TOJ
  320     W(I)=INT(RND(1)*4)
  330     IFW(I)=0 THEN CL=1:C$=GL$
  340     IFW(I)=1 THEN CL=1:C$=MG$
  350     IFW(I)=2 THEN CL=2:C$=MG$
  360     IFW(I)=3 THEN CL=3:C$=GL$
  370     COLOUR CL:PRINTTAB(I-1,7);C$:P
RINTTAB(I-1,16)" ";
  380   NEXTI
  390   EI=0
  400   COLOUR3:COLOUR128:PRINTTAB(0,18)
"What's your order?  B=Beer  L=Lager    
 R=Red & W=White Wine"
  410   OW=OW+J:VDU19,1,1;0;19,2,3;0;19,
3,7;0;
  420   REM
  430   REM DRAW DRINKS BOUGHT
  440   REM
  450   FORK=1TOJ
  460     I$=GET$
  470     IFK=1 THEN PRINTTAB(0,7);STRIN
G$(20," ");
  480     IFI$<>"B" AND I$<>"L" AND I$<>
"R" AND I$<>"W" THEN 460
  490     IFI$="R" THEN COLOUR1:PRINTTAB
(K-1,7)GL$:IP=0
  500     IFI$="W" THEN COLOUR3:PRINTTAB
(K-1,7)GL$:IP=3
  510     IFI$="B" THEN COLOUR1:PRINTTAB
(K-1,7)MG$:IP=1
  520     IFI$="L" THEN COLOUR2:PRINTTAB
(K-1,7)MG$:IP=2
  530     IFIP=W(K) THEN COLOUR2:PRINTTA
B(K-1,16)GL$:M=M+1:GOTO550
  540     EI=1
  550     COLOUR0:COLOUR131:PRINTTAB(5,2
6);OW;TAB(13,26);M:COLOUR128
  560   NEXTK
  570   IF EI=0 THEN M=M+J:COLOUR0:COLOU
R131:PRINTTAB(13,26);M:COLOUR128
  580   RB$=INKEY$(50*J)
  590   *FX 15,1
  600   IF EI=1 THEN GOTO 310
  610 NEXTJ
  620 PRINTTAB(0,16)"You did it! You    
 will need a real    drink after that ";
  630 END
  640 DEFPROC_BLOCK(X,Y,W,H)
  650 MOVE X,Y:MOVEX+W,Y
  660 PLOT 85,X,Y+H
  670 PLOT 85,X+W,Y+H
  680 ENDPROC