File QTOCK.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file


1200   IF V(2)=0 THEN 1300
1205   IF T(3)>21 THEN 1300 
1210    LET P=1 
1215   IF T(1)<17 THEN 1360 
1220   IF T(1)>17 THEN 1230 
1225   IF E(1)>0 THEN 1360
1230   IF T(1)>21 THEN 1375 
1235    LET P=2 
1240 PRINT "MY TOTAL IS";T(1)
1245   IF T(P)>21 THEN 1300 
1250   IF T(1)>21 THEN 1265 
1255   IF T(1)>T(P) THEN 1300 
1260   IF T(1)=T(P) THEN 1330 
1265    LET W1=W1+W(P)
1270   IF C1>3 THEN 1445
1275   IF C1>2 THEN 1465
1280   IF C1>1 THEN 1485
1285   IF C1>0 THEN 1505
1290   GOTO 1525
1295   GOTO 1330
1300    LET W1=W1-W(P)
1302 LET C1=INT(3*RND(0))
1305   IF C1>3 THEN 1545
1310   IF C1>2 THEN 1565
1315   IF C1>1 THEN 1585
1320   IF C1>0 THEN 1605
1325   GOTO 1625
1330   IF V(2)>0 THEN 1345
1335   GOSUB 1405 
1340   GOTO 265 
1345    LET P=3 
1350    LET V(2)=0
1355   GOTO 1245
1360 PRINT "I DRAW",
1365   GOSUB 865
1370   GOTO 1210
1375   IF E(1)=0 THEN 1395
1380    LET E(1)=E(1)-1 
1385    LET T(1)=T(1)-10
1390   GOTO 1210
1395   PRINT"I BUSTED*****" 
1397 LET B=0
1400   GOTO 1235
1405   IF W1<0 THEN 1425
1410   IF W1=0 THEN 1435
1415 PRINT "YOU'RE AHEAD $";W1
1420   RETURN 
1425 PRINT "YOUR BEHIND";-W1;"DOLLARS."
1426 IF B=0 GOTO 1430
1427 GOTO 1683
1430   RETURN 
1435   PRINT"YOU'RE EVEN" 
1440   RETURN 
1445   PRINT
1450   PRINT"I MUST HAVE DEALT WRONG."
1453 LET B=0
1455   PRINT
1460   GOTO 1330
1465   PRINT
1470   PRINT"YOU LUCKED OUT AGAIN:" 
1473 LET B=0
1475   PRINT
1480   GOTO 1330
1485   PRINT
1490   PRINT"YOU MUST HAVE BEEN PEEKING." 
1493 LET B=0
1495   PRINT
1500   GOTO 1330
1505   PRINT
1510   PRINT"I COULD LOSE MY JOB THIS WAY." 
1513 LET B=0
1515   PRINT
1520   GOTO 1330
1525   PRINT
1530   PRINT"THE CARDS HAVE TURNED AGAINST ME:" 
1533 LET B=0
1535   PRINT
1540   GOTO 1330
1545   PRINT
1550   PRINT"THE BOTTOM OF THE DECK STRIKES AGAIN:" 
1555   PRINT
1560   GOTO 1330
1565   PRINT
1570   PRINT"A VICTORY FOR US GOOD GUYS." 
1575   PRINT
1580   GOTO 1330
1585   PRINT
1590   PRINT"YOU CAN'T BEAT SKILL." 
1595   PRINT
1600   GOTO 1330
1605   PRINT
1610   PRINT"YOU CAN'T WIN 'EM ALL."
1615   PRINT
1620   GOTO 1330
1625   PRINT
1630   PRINT"BABY GETS A NEW PAIR OF SHOES:"
1635   PRINT
1640   GOTO 1330
1645   FOR M9 = 1 TO 52 
1650    LET D(M9)=0 
1655   NEXT M9
1660    LET R=0 
1665   PRINT
1670   PRINT" I RESHUFFLED" 
1675 PRINT
1680   RETURN 
1683 PRINT
1685 RANDOMIZE
1690 LET K1=INT(10*RND(0))
1695 IF K1<1 THEN 1690
1700 IF K1>6 THEN 1690
1705 IF K1=1 THEN 1800
1710 IF K1=2 THEN 1805
1715 IF K1=3 THEN 1810
1720 IF K1=4 THEN 1815
1725 IF K1=5 THEN 1820
1730 IF K1=6 THEN 1825
1800 PRINT "OK PARDNER, READY TO LOSE AGAIN?"
1801 GOTO1430
1805 PRINT "BABY IS GOING TO BE REAL HUNGRY IF YOU KEEP THIS UP!"
1806 GOTO 1430
1810 PRINT "THEY SAY 'THERE'S A SUCKER BORN EVERY MINUTE."
1811 GOTO 1430
1815 PRINT "HA - HA, YOU BLEW THAT ONE!!!!!!!"
1816 GOTO 1430
1820 PRINT "YOU'D BE BETTER OFF PLAYING HOP SCOCTH!"
1821 GOTO 1430
1825 PRINT "WHY DIDN'T YOU QUITE WHILE YOU WERE AHEAD??"
1826 GOTO 1430
1830 END
1 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER....DEC
2 PRINT\PRINT "** KB0 ** PLEASE DO NOT USE CONTROL/C"
3 PRINT "          IT IS TEMPORARILY INOPERATIVE"
4 PRINT "          WE WILL NOTIFY YOU WHEN  IT IS BACK UP"\PRINT\PRINT
5 PRINT\PRINT "READY"\PRINT
110 INPUT A$
120 IF SEG$(A$,1,3)<>"RUN" THEN 130\PRINT "     I'D RATHER WALK"\GOTO 5
130 IF SEG$(A$,1,4)<>"LIST" THEN 140\PRINT "     I DON'T FEEL UP TO IT"\GOTO 5
140 IF SEG$(A$,1,4)<>"SAVE" THEN 150\PRINT "     I DON'T LIKE BANKS"\GOTO 5
150 IF SEG$(A$,1,3)<>"OLD" THEN 160\PRINT "     NO, I FEEL YOUNG AND CAREFREE"\GOTO 5
160 IF SEG$(A$,1,3)<>"NEW" THEN 170\PRINT "     YES, I'M QUITE NEW"\GOTO 5
170 IF SEG$(A$,1,3)<>"CAT" THEN 180\PRINT "     TRY SEARS, ROEBUCK"\GOTO 5
180 IF SEG$(A$,1,4)<>"NAME" THEN 190\PRINT "     WHO ARE YOU CALLING NAMES?"\GOTO 5
190 IF SEG$(A$,1,6)<>"RENAME" THEN 200\PRINT "     BUT I LIKE MY NAME"\GOTO 5
200 IF SEG$(A$,1,6)<>"UNSAVE" THEN 210\PRINT "     O.K.  THE ENTIRE DISK!"\GOTO 350
210 IF SEG$(A$,1,3)<>"DEL" THEN 220\PRINT "     O.K.  THE ENTIRE DISK!"\GOTO 350
220 IF SEG$(A$,1,4)<>"STOP" THEN 230\PRINT "     THE FUN IS JUST STARTING!"\GOTO 5
230 IF SEG$(A$,1,3)<>"BYE" THEN 240\PRINT "     NO, YOU CAN'T LEAVE NOW!"\GOTO 5
240 IF SEG$(A$,1,5)<>"HELLO" THEN 300\PRINT "      WELL, HI TO YOU TOO!"\GOTO5
300 PRINT\PRINT "WHAT??"\GOTO 5
350 X=RND(0)
355 IF X<.998 GOTO 350
400 PRINT "#$%&&&()=*+?><MH#!(<<@@0)JFTE^^///*))))$%568N#VT%"
410 PRINT "SYSTEM HAS JUST RECOVERED FROM A CRASH."\GOTO 5
999 END
80 REM *** REVERSE WRITTEN BY BOB ALBRECHT, PEOPLE'S COMPUTER CO
90 REM *** MODIFIED AND CONVERTED TO BASIC-PLUS BY DAVID AHL
95 REMARKABLY TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC
100 PRINT\PRINT "REVERSE -- A GAME OF SKILL"\PRINT
120 RANDOMIZE
130 DIM A(20)
140 REM *** N=NUMBER OF NUMBERS
150 N=9\G=0\T1=0
160 PRINT "DO YOU WANT THE RULES (YES OR NO)";\INPUT A$
180 IF A$="NO" THEN 210
190 GOSUB 710
200 REM *** MAKE A RANDOM LIST A(1) TO A(N)
210 A(1)=INT((N-1)*RND(0))+2
220 FOR K=2 TO N
230 A(K)=INT(N*RND(0))+1
240 FOR J=1 TO K-1
250 IF A(K)=A(J) THEN 230
260 NEXT J\NEXT K
280 REM *** PRINT ORIGNIAL LIST AND START GAME
290 PRINT\PRINT "HERE WE GO ... THE LIST IS:"
310 T=0
320 GOSUB 610
330 PRINT "HOW MANY SHALL I REVERSE";\INPUT R
340 IF R<>1 THEN 350\PRINT "OOPS!  ONE DOESN'T DO ANYTHING.  AGAIN..."\GOTO 330
350 IF R=0 THEN 530
360 IF R<=N THEN 390
370 PRINT "OOPS! TOO MANY - I CAN REVERSE AT MOST"N\GOTO 330
390 T=T+1
400 REM *** REVERSE R NUMBERS AND PRINT NEW LIST
410 FOR K=1 TO INT(R/2)
420 Z=A(K)
430 A(K)=A(R-K+1)
440 A(R-K+1)=Z
450 NEXT K
460 GOSUB 610
470 REM *** CHECK FOR A WIN
480 FOR K=1 TO N
490 IF A(K)<>K THEN 330
500 NEXT K
510 PRINT "YOU WON IT IN";T;"MOVES !!!"\PRINT
520 G=G+1\T1=T1+T
530 PRINT "TRY AGAIN (YES OR NO)";\INPUT A$
550 IF A$="YES" THEN 210
560 PRINT \PRINT "YOU PLAYED";G;"GAMES AND REVERSED THE LISTS IN AN"
570 PRINT "AVERAGE OF";T1/G;"MOVES PER GAME.  HOPE YOU HAD FUN!"\GOTO 999
600 REM *** SUBROUTINE TO PRINT LIST
610 PRINT\FOR K=1 TO N\PRINT A(K);\NEXT K
650 PRINT\PRINT\RETURN
700 REM *** SUBROUTINE TO PRINT THE RULES
710 PRINT\PRINT "THIS IS THE GAME OF 'REVERSE'. TO WIN, ALL YOU HAVE"
720 PRINT "TO DO IS ARRANGE A LIST OF NUMBERS (1 THROUGH'N')"
730 PRINT "IN NUMERICAL ORDER FROM LEFT TO RIGHT. TO MOVE, YOU"
740 PRINT "TELL ME HOW MANY NUMBERS (COUNTING FROM THE LEFT) TO"
750 PRINT "REVERSE. FOR EXAMPLE, IF THE CURRENT LIST IS:"
760 PRINT\PRINT "2 3 4 5 1 6 7 8 9"
770 PRINT\PRINT "AND YOU REVERSE 4, THE RESULT WILL BE:"
780 PRINT\PRINT "5 4 3 2 1 6 7 8 9"
790 PRINT\PRINT "NOW, IF YOU REVERSE 5, YOU WIN!"
800 PRINT\PRINT "1 2 3 4 5 6 7 8 9"\PRINT
810 PRINT "NO DOUBT YOU WILL LIKE THIS GAME OF SKILL, BUT"
820 PRINT "IF YOU WANT TO QUIT, REVERSE 0 (ZERO)."\PRINT\RETURN
999 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search