home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
MBUG
/
MBUG008.ARC
/
1985MAR.CAT
< prev
next >
Wrap
Text File
|
1979-12-31
|
55KB
|
1,311 lines
.mt 1
.mb 1
.HM 0
.op
$1.50 RECOMMENDED
RETAIL PRICE
Registered for transmission
by post as a periodical
Publication No: VBH 6579.
Vo∞ 3« N≥ 6 MARCH, 1985
FROM THE CHIEF MICROBUG 1
A.T. COLUMN 1
NUMCONV - BASIC NUMBER CONVERTOR 2
INSTRUCTIONS FOR MICROBEE CHESS 5
PASCAL FOR BASIC PROGRAMMERS PART II 7
LABELS - BASIC PROGRAM TO PRINT LABELS 10
SOFTWARE REVIEW - SMARTKEY PART 1 12
BLACKJACK - BASIC GAME 18
BASIC 20 LINE PROGRAM ENTRY 21
MICROBUGS
PRESIDENT Grant Forest 8748728
VICE-PRESIDENT Andrew Reid 8360316
SECRETARY Richard Collett 6908283
TREASURER Kevin Carr 2334629
TAPE LIBRARIAN David Soutar
MICROBEE HARDWARE Bob Denton 2331483
EDITORS, THE CATCHER -
MICROBEE Dixon Kenney 8734476
DGOS Z80 John Buxton 4350885
BULLETIN BOARD 7 X 24 HRS 8735734
---------------------------------------------------------------
| ADDRESSES FOR CORRESPONDENCE |
---------------------------------------------------------------
| |
| OFFICIAL ADDRESS |
| MICROBUG AUSTRALIA P.O. 157, NUNAWADING .VIC 3131. |
| |
---------------------------------------------------------------
| FOR OTHER CONTACTS AND ADDRESSES SEE INSIDE COVER |
---------------------------------------------------------------
| THE CATCHER is published by MICROBUG AUSTRALIA |
| All copyrights are reserved by MICROBUG |
---------------------------------------------------------------
NEX╘ MEETING ║ MAY 8THá
TIME & PLACE : 7:30 pm, MOUNT WAVERLEY COMMUNITY CENTRE
.PL66
.PO0
.HE ---- T H E C A T C H E R ---
TO : MICROBUG AUSTRALIA,
The Treasurer, 26 Alexander Cr., Ferntree Gully. 3156
I would like to - join MICROBUG AUSTRALIA [ ]è renew my subscription to M.A. [ ]
NAME :________________________________________________
ADDRESS :________________________________________________
________________________________________________
TELEPHONE :__________________ SYSTEM :_________________
HARDWARE :____________________________________________
[ ] $20 Melbourne subscription per year.
[ ] $17 Non-city subscription per year.
[ ] $A20 New Zealand subscription per year.
[ ] $10 Tape Library membership (payment only required once)
[ ] I would like a receipt, please
-------------------------------------------------------------
| |
| SERVICES PROVIDED BY MICROBUG AUSTRALIA |
| |
|------------------------------------------------------------
| TAPE LIBRARY * P.O. BOX 45 CANTERBURY 3126 |
|-----------------------------------------------------------|
| $2.0░áPE╥ S/W TAP┼ FO╥ ON┼ MONTH¼ RETURNED NEXT MEETING.|
| $5.00 PER SIG/M VOLUME, WE SUPPLY THE DISK. |
| $4.50 PER BLANK 5" DISKETTE |
-------------------------------------------------------------
| ADVERTISEMENTS * P.O. BOX 157 NUNAWADING 3131 |
|-----------------------------------------------------------|
| $80.00 FULL PAGE $40.00 HALF PAGE $25.00 QUARTER PAGE |
| $3.00 FOR SERVICE AND RECURRENT ITEMS (LESS THAN 5 LINES) |
| FREE FOR ADVERTISEMENTS THAT ARE NOT RECURRING ITEMS |ì
-------------------------------------------------------------
| MODEM HIRE * JOHN BUXTON 435-0885 |
|-----------------------------------------------------------|
| $5.00 FIRST WEEK THEN $10.00 EACH ADDITIONAL WEEK |
| PLUS $25.00 DEPOSIT |
-------------------------------------------------------------
| BAZAAR * MICK HOLZINGER 354-6742 P.O. BOX 253 COBURG 3058|
|-----------------------------------------------------------|
| $1.50 PER C30 TAPE OR $25.00 PER BOX OF 20. |
| $1.50 BACK ISSUES OF CATCHER VOL 1 NO 1 PRINTED OCT 82 |
-------------------------------------------------------------
| DISKETTE COPYING * GRANT FOREST 8748728 |
|-----------------------------------------------------------|
| 5"TO 8" OR 8"TO 5" MOST FORMATS $2.00 PER DISKETTE |
-------------------------------------------------------------
| FOR ALL POSTAL ORDERS ADD $1.50 MINIMUM |
-------------------------------------------------------------
.PN1
FROM-THE-CHIEF-MICROBUG-FROM-THE-CHIEF-MICROBUG-FROM-THE-CHIEF-MICROì
Sorr∙ tha⌠ thi≤ issuσ oµ TH┼ CATCHE╥ i≤ s∩ latσ bu⌠ wσ arσ changinτ ì
ove≥ t∩ ß ne≈ editor« Thi≤ ha≤ beeε causeΣ b∙ thσ workloaΣ oµ thσ ì
curren⌠ edito≥ witΦ hi≤ responsibilitie≤ t∩ hi≤ owε worδ anΣ hi≤ inpu⌠ ì
t∩ thi≤ magazine« Fo≥ thosσ wh∩ don'⌠ reaΣ thσ tutoria∞ oε PASCAL¼ hσ ì
i≤ thσ author« S∩ mucΦ fo≥ excuses« Iε thσ nex⌠ fe≈ issue≤ somσ oµ thσ ì
thing≤ yo⌡ havσ becomσ useΣ t∩ wil∞ changσ (hopefully⌐ fo≥ thσ better« ì
Thσ forma⌠ wil∞ changσ ß littlσ bu⌠ thi≤ shoulΣ leaΣ t∩ bette≥ thing≤ ì
fo≥ yo⌡ thσ reader« Aε introductioε t∩ thσ ne≈ edito≥ wil∞ bσ madσ t∩ ì
yo⌡ iε nex⌠ month≤ CATCHE╥ whicΦ shoulΣ bσ iε you≥ letterbo° iε thσ ì
nex⌠ tw∩ weeks« Wσ havσ pu⌠ ß fe≈ extrß page≤ iε thi≤ issuσ t∩ makσ u≡ ì
fo≥ beinτ s∩ late«
è
Jiφ DUF╞ wil∞ bσ demonstratinτ ß USE─ CA╥ packagσ tha⌠ ha≤ beeε ì
writteε iε DBAS┼ II¼ a⌠ thσ nex⌠ meeting« I⌠ use≤ ß RUNTIM┼ tha⌠ ì
allow≤ thσ packagσ t∩ ruε ver∙ fast..
FROM-THE-CHIEF-MICROBUG-FROM-THE-CHIEF-MICROBUG-FROM-THE-CHIEF-MOCRO
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
FO╥á SAL┼ PERMACLOCK«á ┴ HARDWAR┼ REA╠ TIM┼ CLOC╦ FO╥ BEE'╙ AN─ OTHE╥ ì
Z8░ COMPUTERS«á FEATURE╙ INCLUD┼ 1▓ O╥ 2┤ HOU╥ FORMAT¼á HOUR╙ MIN╙ AN─ ì
SECS¼á MONTH¼á DATE¼á YEAR(ADJUST╙á FO╥ LEA╨ YEAR)¼á DA┘ O╞ TH┼á WEEK¼ ì
INTERRUP╘ OUTPUT╙ A╘ 1024¼á 1¼á 1/60¼á 1/36░ HZ« ONL┘ USE╙ ┤ I/╧ PORT╙ ì
VI┴ PI╧ CHIP«á BAC╦ U╨ BATTER┘ FRO═ BEE«á SMAL╠ CIRCUI╘ BOARD«á TIM┼ ½ ì
DAT┼á CA╬á B┼ DISPLAYE─ FRO═ BASI├ O╥ MACHIN┼ COD┼á ALLOWIN╟á DOCUMEN╘ ì
DATING¼á TIMIN╟ T╧ 1/100░ O╞ ┴ SEC«áINTRODUCTOR┘ OFFE╥á ...$4╡ FITTED«
FOR FURTHE╥ INFORMATION PHONE DOUG AH (03)877 2650
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----
ENGINEERING NOTES AND CHANGES. ECN 25-131184 13/11/84
******************************************************
PROBLEM║á Unablσá t∩á changσá SHIF╘á iεá WORDBE┼á file≤á afte≥á usinτ ì
Battery backup.
REASON: Core board modifications in ECN's 14 & 15 not done.
SOLUTION: Refer to ECN's 14 & 15
SUMMARY: R6 must be a 1K and not 1K5.
R13 to be removed.
D1 removed and linked out.
NOTE║ Thσ DIOD┼ iε positioε R╣ mus⌠ bσ orientateΣ thσ samσ wa∙ a≤ ì
diodσ D┤ fo≥ batter∙ backu≡ t∩ work« Thi≤ DIOD┼ R╣ i≤ t∩ bσ ì
replaced with a resistor when NICAD batteries are used.
A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----A.T.COLUMN----
***__N_U_M_C_O_N_V_._M_W_B__***
By S. Gerraty 1984
Thi≤ prograφ simpl∙ doe≤ numbe≥ conversions«á Thσ conversion≤ handì
leΣá arσ listeΣ below«á Thσ prograφ i≤ hand∙ fo≥ lookinτ a⌠ thσ bi⌠ ì
pattern≤ oµ datß whicΦ i≤ beinτ corrupteΣ wheε cominτ froφ aεá ETI-66╕ ì
roφ burner!
BINARY TO DECIMAL
BINARY TO HEX.
DECIMAL TO BINARY
DECIMAL TO HEX.
HEX. TO BINARY
HEX. TO DECIMAL
Thσá prograφá use≤ somσ oµ thσ subroutine≤ listeΣ iεá Wildcard≤á I¼ ì
anΣ wa≤ writteε iε ß hurryí I⌠ works¼ bu⌠ therσ i≤ plent∙ oµ rooφ ì
fo≥ tidyinτ i⌠ up« Fee∞ freσ t∩ d∩ so.
èNotσá tha⌠ thσ prograφ i≤ designeΣ t∩ handlσ 1╢á bi⌠á numbers¼á anΣ ì
doe≤á n∩á checkinτá fo≥ ou⌠ oµ rangσ input«á So¼á iµ yo⌡ asδá i⌠á t∩ ì
conver⌠ ß numbe≥ tha⌠ i≤ large≥ thaε FFF╞ he° (6553╡á decimal)¼á i⌠ ì
wil∞ cheerfull∙ givσ yo⌡ aε answe≥ - bu⌠ tha⌠ answe≥ wil∞ bσ garbage.
00100 REMPOKE 162,30:POKE 163,128:REM AUTO START ON RESET IF REQUIRED
00110 DIM Z5(3)
00120 ON ERROR GOTO 1000
00130 CLS:Z7$="NUMBER CONVERSION PROGRAM":GOSUB[Z7$]570:PRINT\
00140 PRINTTAB(19);"Binary to Decimal 1"
00150 PRINTTAB(19);"Binary to Hex. 2"
00160 PRINTTAB(19);"Decimal to Binary 3"
00170 PRINTTAB(19);"Decimal to Hex. 4"
00180 PRINTTAB(19);"Hex. to Binary 5"
00190 PRINTTAB(19);"Hex. to Decimal 6"
00195 PRINTTAB(19);"Terminate Program 7"
00200 Z=7:GOSUB[Z]520
00210 O=X:ON O GOSUB 230,230,320,320,390,390,2000
00220 GOTO130
00230 REM *** BINARY TO DEC & HEX ***
00240 CLS:L=1
00250 CURS 25,15:INPUT"Binary No. ?"Z7$:CURS 25,15:PRINT[A30 32]:
IF Z7$="" THEN RETURN
00260 Z7$="0000000000000000"+Z7$
00270 Z7$=Z7$(;LEN(Z7$)-15)
00280 CURS 15,L:PRINT Z7$,
00290 GOSUB[Z7$]830:IF O=2 THEN GOSUB[Z0]600:PRINT Z7$ ELSE
PRINT [F8.0 Z0]
00300 L=L+1:IF L=16:GOSUB 490:L=1
00310 GOTO 250
00320 REM *** DECIMAL TO BINARY & HEX ***
00330 CLS:L=1
00340 CURS 25,15:INPUT"Decimal No. ?"Z7$:CURS25,15:PRINT[A30 32]:
Z0=VAL(Z7$):IF Z7$="" THEN RETURN
00350 CURS 20,L:PRINT[F8.0 Z0],
00360 GOSUB[Z0]930:IF O=4 THEN GOSUB[Z0]600
00370 PRINT Z7$:L=L+1:IF L=16:GOSUB 490:L=1
00380 GOTO 340
00390 REM *** HEX TO DECIMAL & BINARY ***
00400 CLS:L=1
00410 CURS 25,15:POKE257,1:INPUT"Hex No. ?";Z7$:CURS25,15:
PRINT[A30 32]:IF Z7$="" THEN RETURN
00420 Z7$="0000"+Z7$
00430 Z7$=Z7$(;LEN(Z7$)-3)
00440 CURS 20,L:PRINT Z7$,
00450 GOSUB[Z7$]710:IF O=5 THEN GOSUB[Z0]930:PRINT Z7$ ELSE
PRINT[F8.0 Z0]
00460 L=L+1:IF L=16:GOSUB490:L=1
00470 GOTO410
00480 END
00490 REM***Continue***
00500 CURS 978:PRINT"Press <SPACE> bar to continue";
00510 Z7$=KEY:IF Z7$ <> CHR(32) THEN 510 ELSE CLS:RETURN
00520 REM***Option***
00530 VAR (Z)
00540 CURS 978:PRINT "Select Option ( 1 to ";Z;")";
00550 Z7$=KEY:IF Z7$="" THEN 550 ELSE LET X=INT(VAL(Z7$))
00560 IF X<1 OR X>Z THEN 550 ELSE CLS:RETURN
00570 REM***Centralise***
00580 VAR (Z7$)
00590 PRINT TAB(64-LEN(Z7$))/2;Z7$:RETURN
00600 REM***Dec to Hex***
00610 VAR (Z0)è00620 Z6$=STR(Z0):Z7$=""
00630 Y=LEN(Z6$):Z1$="0123456789ABCDEF"
00640 Z3=VAL(Z6$):FOR I=1 TO Y
00650 Z3=Z3/16:X=INT(FRACT(Z3)*16)+1
00660 Z3=FLT(INT(Z3))
00670 Z7$=Z1$(;X,X)+Z7$
00680 NEXT I:Z7$="0000"+Z7$
00690 Z7$=Z7$(;LEN(Z7$)-3)
00700 RETURN
00710 REM***Hex to Dec***
00720 VAR (Z7$)
00730 Z=LEN(Z7$):IF Z<>4 THEN 820
00740 Z0=0:Z1$="0123456789ABCDEF"
00750 Z5(0)=1:Z5(1)=16:Z5(2)=256:Z5(3)=4096
00760 FOR I=1 TO 4:J=SEARCH(Z1$,Z7$(;I,I))-1
00770 IF J= -1 THEN NEXT*I 820
00780 Z0=Z0+(Z5(4-I)*FLT(J))
00790 NEXT I
00800 IF Z0< 0 THEN LET Z0=65536+Z0
00810 RETURN
00820 PLAY 23,3:PRINT "ERROR -not four digit Hex":RETURN
00830 REM***Bin to Dec***
00840 VAR (Z7$)
00850 X=LEN(Z7$):IF X<>16 THEN 920
00860 Z0=0:Z3=1:FOR I=1 TO 16
00870 Z6$=Z7$(;X,X):Z2=VAL(Z6$)
00880 IF Z2=0 OR Z2=1 THEN 890 ELSE 910
00890 Z0=Z0+(Z2*Z3)
00900 Z3=Z3*2:X=X-1
00910 NEXT I:RETURN
00920 PLAY 23,3:PRINT"ERROR -Not sixteen digit Binary":RETURN
00930 REM***Dec to Bin***
00940 VAR (Z0)
00950 Z7$="":H0=65536:B0=Z0
00960 FOR J=1 TO 16:H0=H0/2
00970 IF B0=>H0 THEN LET Z7$=Z7$+"1":B0=B0-H0:GOTO 990
00980 Z7$=Z7$+"0"
00990 NEXT J:RETURN
01000 CLS:CURS978:PRINT"SORRY TRY AGAIN!";:PLAY 0,16:USR(33751):
REM USR(32771) WARM STARTS BASIC. USR(33751) RUNS BASIC
PROGRAM. IN BASICS UP TO AND INCLUDING 5.22e
02000 CLS:PRINT"Programme terminated"
***************************
Now that we can convert those numbers try this:
PROOF THAT 1 EQUALS 2
LET X = 1
then -X = -1
add X2 to each side of the equation
X2 -X = X2 -1
factorising
è X(X-1) = (X -1) (X + 1)
cancelling by common factor
X = X + 1
i.e. 1 = 1 + 1 = 2
SEND IN YOUR ANSWERS TO DISPUTE THIS
Microbee_Chess
Man∙ member≤ havσ askeΣ fo≥ somσ documentatioε oµ thσ Microbeσ versioε ì
of Chess. Well - here it is.
Thσá firs⌠ messagσ displayeΣ ask≤ iµ yo⌡ wisΦ t∩ pla∙ ß gamσ oµ chess¼ ì
iµá yo⌡á answe≥á ┘ yo⌡ wil∞ bσ leΣ int∩ ßá standarΣá game¼á an∙á othe≥ ì
responsσ wil∞ takσ yo⌡ thσ ANALYSI╙ mode.
Thσ nex⌠ questioε i≤ whicΦ colo≥ yo⌡ wisΦ t∩ play¼ iµ yo⌡ answe≥ ╫ yo⌡ ì
wil∞ usσ thσ whitσ piece≤ anΣ wil∞ havσ firs⌠ move« An∙ othe≥ responsσ ì
cause≤ thσ compute≥ t∩ pla∙ whitσ anΣ movσ first.
Thσá las⌠á questioε refer≤ t∩ thσ "LOO╦ AHEADóá o≥á "PLYóá level¼á thσ ì
answe≥á mus⌠á bσ iε thσ rangσ oµ ▒ t∩ 6╗á thi≤ valuσ i≤ thσ numbe≥á oµ ì
"halµ movesó tha⌠ yo⌡ allo≈ thσ compute≥ t∩ looδ aheaΣ whils⌠ calculaì
tinτá it≤á moves«á Iε orde≥ t∩ kee≡ thσ gamσ movinτá a⌠á ßá reasonablσ ì
speed¼á restric⌠ thσ initia∞ valuσ t∩ ▒ o≥ 2« Yo⌡ ma∙ increasσ thσ Pl∙ ì
leve∞á iµ desireΣ a≤ piece≤ arσ removeΣ froφ play«á Thσ responsσá timσ ì
fo≥á thσá computer≤á movσ increase≤ exponentiall∙ witΦ thσá numbe≥á oµ ì
piece≤ oε thσ board¼á anΣ thσ complexit∙ oµ thσ boarΣ layout« Approxiì
matσ responsσ time≤ fo≥ thσ star⌠ oµ thσ gamσ are:-
Pl∙ ▒ - ╕ t∩ 1░ seconds
Pl∙ ▓ - 3░ t∩ 4░ seconds
Pl∙ │ - 1░ t∩ 1╡ minutes Abovσ pl∙ │ ma∙ bσ severa∞ hours.
Thesσá time≤ wil∞ significantl∙ reducσ a≤ thσ numbe≥ oµ piece≤ oεá thσ ì
boarΣ arσ decreased«á I⌠ i≤ quitσ norma∞ t∩ pl∙ ╡ o≥ ╢ iε thσ enΣ gamσ ì
t∩á allo≈á thσá compute≥ t∩ g∩ dowε fightinτ (provideΣá tha⌠á yo⌡á arσ ì
winninτ oµ course).
Thσ boarΣ i≤ no≈ displayeΣ oε thσ righ⌠ hanΣ sidσ oµ thσá screen«á Thσ ì
layou⌠ i≤ iε standarΣ algebraiπ ches≤ fashion« Thσ square≤ arσ labeleΣ ì
alphabeticall∙á froφ lef⌠ t∩ righ⌠ anΣ numericall∙ froφ bottoφ t∩ top« ì
A▒ i≤ lowe≥ lef⌠ squarσ anΣ H╕ i≤ thσ uppe≥ righ⌠ square.
T∩ ente≥ you≥ moves¼á typσ thσ froφ squarσ anΣ theε thσ t∩ square« Fo≥ ì
examplσá E2E┤ wil∞ movσ thσ king≤ pawε tw∩á square≤á forward«á Illega∞ ì
move≤ wil∞ bσ noteΣ anΣ yo⌡ wil∞ bσ inviteΣ t∩ tr∙ again«á Iµ yo⌡ makσ ì
ß mistakσ theε makσ thσ movσ illegal«
è
T∩á castlσ ente≥ thσ king≤ movσ anΣ iµ permitteΣ thσ doublσ movσá wil∞ ì
bσá executeΣá fo≥ you«á Iµ thσ compute≥ castle≤ theε thσ movσ i≤á disì
playeΣ a≤ O_╧ o≥ O_O_O«á T∩ d∩ thσ enpassan⌠ capturσ ente≥ thσá pawn≤ ì
movσ anΣ thσ compute≥ wil∞ executσ thσ doublσ move«á Thσ compute≥ wil∞ ì
displa∙ PxPx╨ iµ i⌠ make≤ thi≤ move.
Option≤ durinτ play
EacΦá oµá thσ followinτ option≤ ma∙ onl∙ bσ entereΣ a≤ thσ firs⌠á keyì
pres≤ oµ you≥ move«á T∩ resigε pres≤ ^╥ (CTR╠ R)«á T∩ ge⌠ thσ compute≥ ì
t∩á makσá you≥ movσ fo≥ yo⌡ pres≤ ?«á Thi≤ shoulΣ no⌠ bσ donσá oεá thσ ì
firs⌠ tw∩ move≤ o≥ thσ fina∞ move«á T∩ checδ thσ Pl∙ level¼á ente≥ P0« ì
T∩ changσ thσ Pl∙ level¼ ente≥ P▒ t∩ P6.
T∩ alte≥ ß badl∙ madσ move¼á resign¼á answe≥ ╬ t∩ thσ questioε abou⌠ ß ì
ne≈ gamσ anΣ thi≤ lead≤ yo⌡ t∩ thσ analysσ modσ wherσ yo⌡ ma∙á restorσ ì
thσ boarΣ t∩ you≥ liking.
Analysσ Mode
Iµá yo⌡ answe≥ ╬ t∩ thσ reques⌠ fo≥ ß game¼á yo⌡ wil∞ bσ askeΣ iµá yo⌡ ì
wisΦ t∩ analysσ ß position«á Iµ yo⌡ answe≥ ╬ yo⌡ wil∞ returε t∩ BASIC« ì
An∙á othe≥á answe≥ wil∞ causσ thσ boarΣ t∩ bσ displayed«á Iµ yo⌡á camσ ì
herσá beforσ playinτ ß gamσ theε thσ boarΣ wil∞ bσ blanδ elsσ i⌠á wil∞ ì
bσ a≤ thσ las⌠ gamσ ended.
A≤ thσ boarΣ wa≤ beinτ drawε thσ A▒ squarσ flashed« Thi≤ i≤ thσ curso≥ ì
anΣ indicate≤ whicΦ squarσ caε bσ modifieΣ next«á Usσ Returε o≥á Backì
spacσá t∩ movσ thσ cursor¼á an∙ othe≥ ke∙ wil∞ causσ thσ squarσ t∩á bσ ì
erased«á T∩á alte≥ ß squarσ ente≥ ß threσ characte≥ sequencσ a≤á showε ì
next.
Firs⌠ P,N,B,R,╤ o≥ ╦ fo≥ thσ piecσ (╬ fo≥ knight)
SeconΣ ┬ o≥ ╫ fo≥ color
ThirΣ ░ iµ thσ piecσ ha≤ neve≥ beeε moveΣ froφ it≤ origina∞
squarσ o≥ ß ▒ iµ i⌠ ha≤ beeε moveΣ a⌠ leas⌠ once.
T∩á ente≥á ßá blacδ knigh⌠ tha⌠ ha≤ beeε moveΣ oncσá ente≥á NB1«á Wheε ì
finisheΣ pres≤ thσ Breaδ ke∙ anΣ follo≈ thσ prompts.
Thσ analysσ modσ ma∙ bσ useΣ t∩ solvσ thσ ches≤ problem≤ publisheΣá iε ì
thσ papers«á T∩ ensurσ thσ correc⌠ solutioε i≤ founΣ usσ thσ followinτ ì
pl∙ levels.
Matσ iε ε move≤ Pl∙ level
▒ 1
▓ 3
│ 5
abovσ │ tr∙ leve∞ 6
Usσá thσ ┐á ke∙ t∩ allo≈ thσ compute≥ t∩ calculatσ al∞ moves«á I⌠á ma∙ ì
takσ severa∞ hour≤ fo≥ eacΦ move.
PASCAL_FOR_BASIC_PROGRAMMERS.
Dixon Kenney.è
PART II.
Iεá thσ previou≤ articles¼á wσ useΣ ßá program¼á Banking_1a¼ ì
whicΦá storeΣ thσ datß useΣ iε thσ prograφ iε constan⌠ value≤ declareΣ ì
iε thσ prograφ itself« No≈ wσ arσ goinτ t∩ looδ a⌠ ß variatioε oµ thσ ì
prograφá whicΦá wil∞ allo≈ u≤ t∩ ruεá thσá prograφá interactively¼á b∙ ì
getting the relevant data from the keyboard.
1ááááPrograφ Banking_1b;
á3áááá√ *¬ Thi≤ revisioε oµ prograφ 1ß accept≤ datß froφ thσ keyboard.
á4ááááThi≤ prograφ no≈ become≤ genera∞ fo≥ al∞ customers¼ rathe≥ than
á5áááábegiε specifiπ t∩ onσ customer« }
á7áááá√ *¬ Declaratioε Par⌠ }
á9ááááVar
11áááá CustNamσ ║ String[20];
12áááá AccNuφ ║ Integer;
13áááá OpBalancσ ║ Real;
15 ááá√ *¬ Prograφ Bod∙ }
17ááááBegin
19áááá ClrScr;
20áááá Writeln╗ Writeln;
21áááá Write('Custome≥ Namσ :');
22áááá Readln(CustName);
23áááá Write('Accoun⌠ Numbe≥ :');
24áááá Readln(AccNum);
25áááá Write('Openinτ Balance║ ');
26áááá Readln(OpBalance);
28áááá√ *¬ Outpu⌠ datß t∩ screeε }
30áááá ClrScr;
31áááá Write('Accoun⌠ Number':20);
32áááá Write('Custome≥ Name':20);
33áááá Writeln('Openinτ Balance':20);
34áááá Writeln;
35áááá Write(AccNum:20);
36áááá Write(CustName:20);
37áááá Write(º ':10);
38áááá Writeln(OpBalance:10:2)
40ááááEnd« √ *¬ Prograφ Bankinτ 1Γ }
Thi≤á prograφ ha≤ thσ samσ threσ division≤ a≤á 1a╗á however¼ ì
thσ Declaratioε par⌠ ha≤ ß differen⌠ serie≤ oµ declarations«á Iε thi≤ ì
versioε oµ Banking¼á rathe≥ thaε declarinτ constants¼á wσ arσ defininτ ì
variable labels and their types.
Pascal has 4 pre-defined basic types of data -
i⌐ INTEGER number≤ - wholσ numbers¼ n∩ decima∞ poin⌠ o≥ frac-
tion, in the range -32768 to +32767;
ii⌐ REAL number≤ - iε thσ rangσ 1E-3╕ t∩ 1e+38¼á witΦ 1▒ signif- ì
icant digits in Turbo Pascal;
iii⌐áCHARacter≤ ¿ knowε a≤ typσ CHA╥ )¼á whicΦ arσ thosσ charac- ìè ters within the range of the computers character set;
iv) BOOLEAN - which takes either of the values TRUE or FALSE.
Turbo Pascal adds two other pre-defined types -
a) BYTE - this is really a sub-range of type INTEGER, having
the range 0 to 255;
b) STRING - this is really an array, the first byte of which
(byte 0) contains the length of the string, and the rest
of the array ( 1 - 255 ) containing the characters. The
larges⌠ string¼á then¼ caε bσ 25╡ character≤ long« Thσ var- ì
iable is defined, as in line 11, by stating the maximum num-
ber oµ character≤ whicΦ thσ strinτ caε contain╗á however¼ i⌠
caε have less than this number. So line 11 states that the
variable CustName can have no more than 20 characters in
it, although it may have less.
áááááááááAssigninτ ß variablσ t∩ typσ STRIN╟ iε Turb∩ Pasca∞ ì
ááááááááái≤á equivalen⌠ t∩ assignment≤ likσ A1ñ ╜ "FREDóá iε ì
áááááááááBasic« However¼ thσ variablσ ha≤ t∩ bσ declareΣ a⌠ ì
áááááááááthe beginning to the program.
Pasca∞á itselµ allow≤ thσ definitioε oµ othe≥ type≤ oµá data¼á bu⌠á wσ ì
will not go into that for the moment.
Iεá Banking_1b¼á al∞ variable≤ arσ declareΣ iε thσá variablσ ì
declaratioε section¼á headeΣ b∙ thσ reserveΣ worΣ VAR«á Morσ thaε onσ ì
variablσá labe∞á caε bσ defineΣ iε ß linσ - i⌠ i≤ possiblσ t∩á havσá ß ì
declaration such as this -
A, B, C, FRED, MARY : INTEGER;
Often¼á iµ yo⌡ takσ advantagσ oµ Pascal'≤ allowinτ u≤ t∩ usσ lonτ var-ì
iablσ labels¼á whicΦ caε bσ oµ significancσ t∩ us¼á i⌠ i≤ wisσ t∩ makσ ì
eacΦ declaratioε oε ß singlσ line«á Thi≤ is¼ however¼ simpl∙ ß matte≥ ì
of the style and convenienceáof the programmer.
Iε linσ 21¼ anΣ others¼ wσ havσ ß varian⌠ oµ WRITELN« WRIT┼ ì
i≤á thσá Pasca∞á equivalen⌠ oµ BASIC'≤ PRIN╘ ;Ö - tha⌠á is¼á thσá CR/L╞ ì
sequencσ i≤ inhibited¼á unti∞ ß WRITEL╬ ¿ o≥ READLN¼á iε linσ 2▓ ⌐á i≤ ì
encountered«á S∩á ß serie≤ oµ statement≤ witΦ WRIT┼ a≤ thσ verΓá wil∞ ì
keep the cursor on the same line.
Iεá linσá 22¼á wσ havσ thσ Pasca∞á statemen⌠á READLN«á Thi≤ ì
functioε accept≤ informatioε froφ thσ keyboarΣ anΣ place≤ i⌠ int∩á thσ ì
stateΣ variable«á I⌠ ha≤ ß companioε functioε READ«á Thesσ tw∩ func-ì
tion≤ werσ developeΣ witΦ 80-columε puncheΣ card≤ iε minΣ a≤ input╗ s∩ ì
wha⌠á ╔ no≈ sa∙ i≤ perhap≤ morσ relevan⌠ t∩ tha⌠á situation¼á althougΦ ì
yo⌡ wil∞ finΣ i⌠ hand∙ wheε thσ timσ come≤ t∩ reaΣ datß iε froφ ß disδ ì
file to a program.
READ[LN▌á assign≤ inpu⌠ value≤ t∩ thσ variablσ label≤á whicΦ ì
follo≈á i⌠á iε thσ parenthesiseΣ list«á Thσ label≤ arσá separateΣá b∙ ì
commas. So a statement such as READ(A,B,C,TOM); is equivalent to -
READ(A);
READ(B);è READ(C);
READ(TOM);
Iµ therσ i≤ morσ datß iε thσ inpu⌠ line¼á theε thσ nex⌠ REA─ statemen⌠ ì
wil∞ ge⌠ it«á However¼á oncσ ß READL╬ i≤ issued¼ anΣ datß betweeε thσ ì
assigneΣá variable≤ iε it≤ lis⌠ anΣ thσ res⌠ oµ thσ inpu⌠ linσ i≤ dis-ì
regarded¼á anΣá thσá datß pointe≥ skip≤ t∩ thσ beginninτ oµá thσá nex⌠ ì
input data line.
Fo≥ al∞ intent≤ anΣ purposσ iε aε interactivσá program¼á thσ ì
two functions work in the same way.ì
áááááááááIε BASIC¼á wσ havσ thσ statemen⌠ INPUT¼á whicΦ put≤ ì
ááááááááádatß froφ thσ keyboarΣ int∩ ß nameΣ variable¼á witΦ ì
áááááááááthσ optioε oµ ß promp⌠ - INPU╘ "stringó vbl«á Thi≤ ì
áááááááááis equivalent to Pascal's READLN.
Herσ i≤ ß lis⌠ oµ thσ ┤ Pasca∞ statement≤ useΣ s∩ fa≥ whicΦ havσ BASI├ ì
equivalents :
PASCAL BASIC
CLRSCR; CLS
WRITE() PRINT;
WRITELN() PRINT
READ[LN] INPUT
Note the ClrScr is a function special to Turbo Pascal.
LABELS.MWB
Thi≤ i≤ ß prograφ t∩ aiΣ iε thσ productioε oµ label≤ fo≥ letters¼ ì
disks¼á etc«á I⌠á i≤ se⌠ u≡ fo≥ ß Microbeσ printe≥ (Admatσ DT-80⌐ ì
bu⌠á shoulΣ worδ oε an∙ oµ thσ Epsoφ `80º stylσ dot-matri°á prinì
ters«á I⌠á coulΣ bσ expandeΣ t∩ includσ addres≤ storagσá iεá datß ì
file≤á iµ yo⌡ havσ lonτ mailinτ lists«á Thσ labe∞ sizσ i≤ se⌠ fo≥ ì
37x102mm.
It's basic features are:
1. Ten program configured label fonts using a mixture of
normal, enlarged, and contracted text.
2. User defined option if what you want isn't in the menu.
3. Example listing. -hook up your printer and type B.
4. Auto reprint of last label printed.
Iµ therσ arσ an∙ problem≤ iε settinτ i⌠ u≡ leavσ ß messagσ fo≥ mσ ì
iε thσ TARDI╙ Minirbbs« JOH╬ MALIN╟
00110 REM **********************
00120 REM ***** LABEL MATE *****è00130 REM ****** John Maling ***
00135 OUTL#1
00140 DIM B0(5):FOR X=1 TO 5:B0$(X)="":NEXT X
00150 DIM C0(5):FOR X=1 TO 5:C0$(X)="":NEXT X
00155 REM error trap
00156 ON ERROR GOTO 155
00160 CLS:POKE 220,16:CURS1,1
00170 CURS 20,1:PRINT"**** LABEL MATE ****"
00180 CURS 10,3:PRINT"1. N N N N N"
00190 CURS 10,4:PRINT"2. E E E E E"
00200 CURS 10,5:PRINT"3. C C C C C"
00210 CURS 10,6:PRINT"4. E N N N N"
00220 CURS 10,7:PRINT"5. E E N N N"
00230 CURS 10,8:PRINT"6. E E N N C"
00240 CURS 10,9:PRINT"7. N C C C C"
00250 CURS 10,10:PRINT"8. N N C C C"
00260 CURS 35,3:PRINT"9. C N N N N"
00270 CURS 35,4:PRINT"0. E N N N C"
00280 CURS 35,8:PRINT"A. Line control."
00300 CURS 35,9:PRINT"B. Examples."
00320 CURS 35,10:PRINT"C. Repeat label."
00330 CURS 5,13:PRINT"E = Expand"
00340 CURS 5,14:PRINT"N = Normal"
00350 CURS 5,15:PRINT"C = Contract"
00360 CURS 35,14:PRINT"Select..."
00370 A0$=KEY$:IF A0$="" THEN 370
00380 IF A0$="1" THEN LET B0$(1)="N":B0$(2)="N":B0$(3)="N":
B0$(4)="N":B0$(5)="N":GOTO 540
00390 IF A0$="2" THEN LET B0$(1)="E":B0$(2)="E":B0$(3)="E":
B0$(4)="E":B0$(5)="E":GOTO 540
00400 IF A0$="3" THEN LET B0$(1)="C":B0$(2)="C":B0$(3)="C":
B0$(4)="C":B0$(5)="C":GOTO 540
00410 IF A0$="4" THEN LET B0$(1)="E":B0$(2)="N":B0$(3)="N":
B0$(4)="N":B0$(5)="N":GOTO 540
00420 IF A0$="5" THEN LET B0$(1)="E":B0$(2)="E":B0$(3)="N":
B0$(4)="N":B0$(5)="N":GOTO 540
00430 IF A0$="6" THEN LET B0$(1)="E":B0$(2)="E":B0$(3)="N":
B0$(4)="N":B0$(5)="C":GOTO 540
00440 IF A0$="7" THEN LET B0$(1)="N":B0$(2)="C":B0$(3)="C":
B0$(4)="C":B0$(5)="C":GOTO 540
00450 IF A0$="8" THEN LET B0$(1)="N":B0$(2)="N":B0$(3)="C":
B0$(4)="C":B0$(5)="C":GOTO 540
00460 IF A0$="9" THEN LET B0$(1)="C":B0$(2)="N":B0$(3)="N":
B0$(4)="N":B0$(5)="N":GOTO 540
00470 IF A0$="0" THEN LET B0$(1)="E":B0$(2)="N":B0$(3)="N":
B0$(4)="N":B0$(5)="C":GOTO 540
00480 IF A0$="a" OR A0$="A" THEN GOTO 680
00490 IF A0$="B" OR A0$="b" THEN GOTO 1370
00510 IF A0$="c" OR A0$="C" THEN GOTO 1220
00530 GOTO 370
00540 CLS:POKE 220,15:CURS 1,1
00560 FOR A=1 TO 5
00570 IF B0$(A)="E" OR B0$(A)="e" THEN PRINT" ------------| E"
00580 IF B0$(A)="N" OR B0$(A)="n" THEN PRINT
" ------------------------| N"
00590 IF B0$(A)="C" OR B0$(A)="c"THEN PRINT
" ------------------------------------------| C"
00600 INPUT"";C0$(A)
00610 IF B0$(A)="E" OR B0$(A)="e" THEN LPRINT CHR$(14);C0$(A);
CHR$(18)
00620 IF B0$(A)="N" OR B0$(A)="n"THEN LPRINT C0$(A);CHR$(18)
00630 IF B0$(A)="C" OR B0$(A)="c"THEN LPRINT CHR$(15);C0$(A);CHR$(18)
00640 PRINT
00650 NEXT Aè00660 LPRINT:LPRINT:LPRINT:LPRINT
00670 GOTO 160
00680 CLS:POKE 220,16
00690 PRINT"Enter desired line format....."
00700 CURS 1,3:PRINT" E = Expand"
00710 CURS 1,4:PRINT" N = Normal"
00720 CURS 1,5:PRINT" C = Contract"
00730 K=0
00740 CURS 20,7:PRINT"Line 1":B0$(1)=KEY$:IF B0$(1)=""THEN740
00750 CURS 30,7:PRINT B0$(1):C=1:GOSUB 860
00760 CURS 20,8:PRINT"Line 2":B0$(2)=KEY$:IF B0$(2)=""THEN760
00770 CURS 30,8:PRINT B0$(2):C=2:GOSUB 860
00780 CURS 20,9:PRINT"Line 3":B0$(3)=KEY$:IF B0$(3)=""THEN780
00790 CURS 30,9:PRINT B0$(3):C=3:GOSUB 860
00800 CURS 20,10:PRINT"Line 4":B0$(4)=KEY$:IFB0$(4)=""THEN800
00810 CURS 30,10:PRINT B0$(4):C=4:GOSUB 860
00820 CURS 20,11:PRINT"Line 5":B0$(5)=KEY$:IFB0$(5)=""THEN820
00830 CURS 30,11:PRINT B0$(5):C=5:GOSUB 860
00840 IF K=1 THEN GOTO 160
00850 GOTO 540
00860 IFB0$(C)<>"N"ANDB0$(C)<>"E"ANDB0$(C)<>"C"ANDB0$(C)<>"n"
ANDB0$(C)<>"e"ANDB0$(C)<>"c"THENCURS18,13:
PRINT"Error in line "C:FORX=1TO1000:NEXTX:K=1
00870 RETURN
01220 CLS:POKE 220,15:CURS 15,2:PRINT C0$(1)
01230 CURS 15,3:PRINT C0$(2)
01240 CURS 15,4:PRINT C0$(3)
01250 CURS 15,5:PRINT C0$(4)
01260 CURS 15,6:PRINT C0$(5)
01270 CURS 10,9:INPUT"How many copies?"Z
01280 FOR S=1 TO Z
01290 FOR A=1 TO 5
01300 IF B0$(A)="E" OR B0$(A)="e" THEN LPRINT CHR$(14);
C0$(A);CHR$(18)
01310 IF B0$(A)="N" OR B0$(A)="n"THEN LPRINT C0$(A);CHR$(18)
01320 IF B0$(A)="C" OR B0$(A)="c"THEN LPRINT CHR$(15);C0$(A);
CHR$(18)
01330 NEXT A
01340 LPRINT:LPRINT:LPRINT:LPRINT
01350 NEXT S
01360 GOTO 160
01370 CLS:CURS 16,8:PRINT"Set up printer. Hit any key."
01380 A0$=KEY$:IF A0$="" THEN 1380
01390 RESTORE
01400 FOR A=1 TO 10
01410 LPRINT" LABEL "A
01420 FOR S=1 TO 5
01430 READ D
01440 IF D=1 THEN LPRINT CHR$(14);"[- EXPAND -]";CHR$(18)
01450 IF D=2 THEN LPRINT "[------- NORMAL -------]"
01460 IF D=3 THEN LPRINT CHR$(15);
"[------------|| CONTRACTED ||------------]";CHR$(18)
01470 NEXT S
01480 LPRINT:LPRINT:LPRINT:LPRINT
01490 NEXT A
01500 DATA 2,2,2,2,2
01510 DATA 1,1,1,1,1
01520 DATA 3,3,3,3,3
01530 DATA 1,2,2,2,2
01540 DATA 1,1,2,2,2
01550 DATA 1,1,2,2,3
01560 DATA 2,3,3,3,3
01570 DATA 2,2,3,3,3
01580 DATA 3,2,2,2,2è01590 DATA 1,2,2,2,3
01600 GOTO 160
Smartke∙ - Softwarσ Revie≈ Par⌠ I
B∙ Charle≤ Sandercock
╖ Illawarrß Road,
Hawthorn¼ Vic« 3122¼ Australia.
Dependan⌠á oεá thσ typσ oµ printe≥ useΣ t∩ prin⌠ this¼á thσá followinτ ì
character≤ ma∙ prin⌠ a≤ follows:-
IntendeΣ Characte≥ Print≤ as
Contro∞ Ke∙ ^
BackslasΦ \
HasΦ #
Sta≥ *
Vertica∞ dasΦ |
Tildσ ~
Percen⌠ %
Dolla≥ $
Man∙á computer≤á havσ Specia∞ Functioε Key≤ (SFK⌐á whicΦá arσá usuall∙ ì
individua∞á dedicateΣá key≤ (sucΦ a≤ iε aε extrß ro≈ a⌠ thσ to≡á oµá ß ì
keyboard⌐á o≥ ß particula≥ combinatioε oµ keystroke≤ (usuall∙ aε enabì
linτá ke∙ firs⌠ sucΦ a≤ CNTR╠ o≥ backslasΦ ▄ followeΣ b∙á anothe≥á ke∙ ì
whicΦá ma∙ bσ thσ individua∞ numera∞ key≤ o≥ somσ o≥ al∞ othe≥ key≤ oε ì
thσ keyboard).
SF╦ caε bσ configureΣ s∩ that¼á wheε actuated¼á ß particula≥ strinτ oµ ì
character≤á i≤ feΣ t∩ screeε anΣ memor∙ anΣ b∙ s∩ doinτ yo⌡á caεá savσ ì
timσ o≥ you≥ owε memory.
Fo≥ instance¼ ╔ migh⌠ configurσ \½ t∩ type:
Charle≤ Sandercock,<CR>
╖ Illawarrß Road.¼ <CR>
Hawthorn¼ <CR>
Victoria¼ 3122¼ Australia<CR>.
Somσá computer≤á sucΦá a≤ thσ Osbornσ ╔ D─ caε carr∙ u≡ t∩á 7╡á storeΣ ì
character≤ anΣ wil∞ bσ observeΣ tha⌠ thσ abovσ strinτ fo≥ \½ use≤ mos⌠ ì
oµ tha⌠ 75.
Othe≥á computer≤á havσ n∩ SF╦ a⌠ al∞ - sucΦ a≤ thσá Microbee«á wha⌠á ß ì
disaster.
Osbornσ ╔ user≤ caε ge⌠ AVBIO╙ whicΦ wil∞ storσ 75╧ o≥ morσ character≤ ì
(fantastic⌐ anΣ whicΦ ha≤ somσ excellen⌠ sidσ benefit≤ iεá effectivel∙ ì
increasinτ disδ spacσ b∙ 1╡ K« AVBIO╙ i≤ no⌠ availablσ fo≥ Microbee.
Therσá is¼á however¼á ßá SF╦ programmσ calleΣ SMARTKE┘ whicΦ work≤á oε ì
Microbee¼á Osbornσá I¼á Kaypr∩ anΣ al∞ CP/═ baseΣ computer≤ ╔ kno≈á oµ ì
togethe≥ witΦ mos⌠ 1╢ bi⌠ machines.
SMARTKE┘ allow≤ yo⌡ t∩ storσ 325╧ character≤ iε anΣ oµ itselµ bu⌠á ha≤ ì
powe≥á t∩á givσá yo⌡ acces≤ t∩ virtuall∙ unlimiteΣ amount≤á oµá boile≥ ìèplatσ tex⌠ o≥ programmσ strings.
Iεá ßá serie≤ oµ article≤ ╔ proposσ t∩ sho≈ yo⌡ ho≈á SMARTKE┘á caεá bσ ì
used¼á firstly¼ t∩ fil∞ thσ voiΣ iε ß compute≥ whicΦ ha≤ n∩ SF╦ oµ it≤ ì
own¼á secondly¼á t∩ extenΣ thσ numbe≥ oµ SF╦ oε computer≤ tha⌠ alread∙ ì
havσ somσ SFK¼á thirdly¼ a≤ t∩ ho≈ effectivσ SF╦ caε bσ and¼ fourthly¼ ì
ho≈á t∩ usσ SMARTKE┘ oε an∙ CP/═ o≥ 1╢ bi⌠ compute≥ t∩ se⌠ u≡ ßá smal∞ ì
bu⌠ effectivσ databasσ withiε ß wordprocesso≥ whicΦ yo⌡ caε usσ to:-
a« cal∞ specia∞ format≤ fo≥ texting,
b« ß selecteΣ onσ oµ ß largσ numbe≥ oµ name≤ anΣ addresses¼ and
c« selecteΣ boile≥ platσ tex⌠ o≥ programmσ strings.
Fo≥á instance¼á b∙á typinτ \└ ╔ caε star⌠ ß searcΦ oµ aε addres≤á filσ ì
containinτ 8╧ differen⌠ name≤ anΣ addresses¼á ╔ theε typσ iε no⌠á morσ ì
thaε ┤ letter≤ (usuall∙ onl∙ 2⌐ oµ ß particula≥ person'≤ namσ followeΣ ì
b∙á <CR╛ anΣ l∩ anΣ beholΣ ╔ pul∞ int∩ ß filσ tha⌠ person'≤ ful∞á namσ ì
anΣá addres≤á iε exactl∙ thσ righ⌠ placσ fo≥ i⌠ t∩ bσ visiblσá througΦ ì
thσ windo≈ oµ ß windo≈ facσ envelope« Iµ yo⌡ usσ dBasσ yo⌡ wil∞ sa∙ s∩ ì
whatí bu⌠ le⌠ mσ seσ yo⌡ usσ dBasσ inô ß Wordsta≥ file.
However¼ wσ mus⌠ progres≤ slowl∙ t∩ sucΦ things.
M∙á primσ usagσ i≤ Wordsta≥ anΣ mos⌠ oµ wha⌠ follow≤ relate≤ t∩á Wordì
star«á I⌠ i≤ applicalσ t∩ othe≥ programmes«á Fo≥ instance¼á m∙ soε ha≤ ì
hi≤ owε se⌠ oµ SF╦ fo≥ MBasic.
SMARTKE┘á let≤á yo⌡á chosσ thσ "enablingóá ke∙á whicΦá SMARTKE┘á call≤ ì
"Supershiftóá becausσ wha⌠ i⌠ actuall∙ doe≤ i≤ usσ thσ ASCI╔ characte≥ ì
se⌠á abovσ 7╞ (8╧ t∩ FF⌐ wherσ al∞ character≤ oµ thσ lo≈ orde≥á alphaì
numersymboliπ se⌠ arσ repeated.
╔ chosσ backslasΦ ▄ a≤ m∙ supershif⌠ ke∙ simpl∙ becausσ ╔ neve≥ usσ i⌠ ì
iε text«á Other≤ migh⌠ prefe≥ tildσ ~¼á hasΦ #¼á vertica∞ dashe≤ ⁿá o≥ ì
sta≥á *«á Thσ supershif⌠ ke∙ i≤ no⌠ los⌠ t∩ yo⌡ a≤ it≤ origina∞ funcì
tion╗á pres≤á i⌠ oncσ anΣ i⌠ "enablesó bu⌠ pres≤ i⌠ twicσ anΣ i⌠á act≤ ì
"normally".
SMARTKE┘á als∩ require≤ yo⌡ t∩ choosσ ß "setupó key«á ╔ chosσ tildσá ■ ì
anΣ agaiε i⌠ work≤ tha⌠ presseΣ oncσ i≤ "setsupó bu⌠ presseΣ twicσá i⌠ ì
ha≤á it≤ "normaló function«á Oε Osbornσ ╔ hasΦ ú i≤ ß bette≥ choicσ a≤ ì
it≤ tildσ i≤ wel∞ hiddeε (CNTR╠ /).
Thσ setu≡ ke∙ i≤ useΣ iε thσ defininτ oµ string≤ bu⌠ SMARTKE┘ als∩ ha≤ ì
othe≥ way≤ oµ defininτ string≤ whicΦ arσ ver∙ convenient.
T∩ definσ ß characte≥ strinτ usinτ SMARTKE┘ proceeΣ a≤ follows:-
1« Pres≤ setu≡ [tildσ ~]¼ hea≥ Bell,
2«á Pres≤á supershif⌠á [backslasΦ \▌ followeΣ b∙ thσ ke∙ t∩á bσá reì
defineΣ eg« "a".
3« Typσ thσ strinτ whicΦ \ß i≤ t∩ represen⌠ eg« ^KS^QQ^B1.
4« Typσ setup¼ setu≡ [tilde¼ tilde].
5«á Tha⌠ i≤ all« Thσ screeε give≤ ß gooΣ displa∙ oµ wha⌠ i≤ happeninτ ì
anΣ prompt≤ fo≥ input.
Havinτá s∩ reconfigureΣ \a¼á everytimσ yo⌡ typσ \ß yo⌡ wil∞ savσá you≥ ìèfile¼á thu≤á avoidinτá doinτ ^Q╥ whicΦ i≤ notoriou≤ fo≥á causinτá BDO╙ ì
error≤ iε biτ files¼á producσ ß backu≡ filσ (jus⌠ iε casσ thσ reforma⌠ ì
destroy≤á al∞ oµ you≥ carefull∙ inserteΣ indent≤ [iµ yo⌡ won'⌠á accep⌠ ì
lef⌠ justificatioε yo⌡ wil∞ ofteε havσ trouble])¼á placσ thσ curso≥ t∩ ì
thσá to≡ oµ thσ filσ anΣ reforma⌠ thσ wholσ filσ a⌠ thσ fastes⌠á speeΣ ì
possible«á (Note¼á ╔ havσ hypheε hel≡ turneΣ OFF« Thi≤ wa≤ donσ b∙ thσ ì
Wordsta≥ Instal∞ programme.)
Herσ arσ somσ othe≥ SF╦ tha⌠ ╔ originall∙ used« Thσ morσ sophisticateΣ ì
stufµ wil∞ bσ saveΣ fo≥ later.
\▒ reconfigureΣ t∩ LB<CR╛ (loτ t∩ drivσ B)
\▓ reconfigureΣ t∩ ^K─ (savσ file).
\│ reconfigureΣ t∩ ^K╪ A:ENUM<CR╛ (savσ file¼á exi⌠ Wordsta≥ anΣá cal∞ ì
ENUMERATO╥ [┴ LIN┼ NUMBERIN╟ PROGRAMME]).
\┤á ReconfigureΣá t∩ ^K╥ A:-YS<CR╛ (read≤ int∩ curren⌠ filσ ß filσá oµ ì
namσ -Y╙ whicΦ contains¼ inte≥ alia¼ thσ following
.CP╕ [star⌠ ne≈ pagσ iµ les≤ thaε ╕ line≤ remain]
.F╧ &yymmdd&,&diskname&,#,&filenameª [seσ previou≤ articlσ b∙á mσ ì
oε datinτ etc]
Your≤ sincerely,
SANDERCOCK¼ SMIT╚ ª BEADLE
__________________________
Charle≤ Sandercock
\Ñ A:WS<CR╛ (loaΣ Wordstar)
\ñ ^KS^Q╨ (savσ filσ anΣ returε t∩ samσ place)
\╣ááá reconfigureΣááá t∩ááá .L╚áá 8<CR╛áá .C╫áá 8<CR╛ááá .P╧ááá 14<CR╛ ì
<CR><CR><CR><CR><CR><CR>
(ß forma⌠ fo≥ letter≤ whicΦ set≤ linσ heigh⌠ t∩ ╢ lines/inch¼á characì
te≥ widtΦ t∩ 1▓ characters/inch¼á pagσ offse⌠ t∩ dea∞ witΦ ß cu⌠ shee⌠ ì
feeder¼á doe≤ 6<CR╛ t∩ "jumpó ove≥ letterheaΣ anΣ position≤ thσ curso≥ ì
a⌠á thσá "startó positioε oµ ß lette≥ wherσ thσ addres≤ shoulΣá g∩á t∩ ì
sui⌠ windo≈ facσ envelopes«á [Iε truth¼á thi≤ wa≤ quickl∙ replaceΣá b∙ ì
somethinτ likσ -Y╙ abovσ anΣ late≥ wa≤ replaceΣ b∙ somethinτ eveε morσ ì
sophisticateΣ a≤ ╔ go⌠ t∩ kno≈ SMARTKE┘ better]).
\╕á reconfigureΣ similarl∙ t∩ \╣ bu⌠ t∩ se⌠ ß totall∙ differen⌠ forma⌠ ì
oµ linσ height¼ characte≥ widtΦ etc.
\░ reconfigureΣ t∩ LB<CR>(loτ t∩ drivσ B).
SMARTKE┘ i≤ availablσ froφ FB╬ Software¼á 1╢ Cole≤ Place¼ Torrens¼ AC╘ ì
26O7¼á Canberrß fo≥ ß merσ $7O.OO«á I⌠ i≤ AUSTRALIA╬ SOFTWARE¼á i⌠á i≤ ì
good¼ i⌠ i≤ chea≡ anΣ it≤ deviser¼ Nicδ Hammond¼ full∙ support≤ it« Iµ ì
yo⌡ havσ trouble¼ hσ reall∙ helps.
Microbeσá owner≤ wh∩ arσ seriou≤ user≤ oµ Wordsta≥ MUS╘ bu∙á SMARTKEY« ì
Anybod∙á wh∩ use≤ ß compute≥ t∩ iε an∙ wa∙ earε incomσ mus⌠ bu∙ SMARTì
KEY.
Osbornσá ╔á owner≤ wh∩ thinδ tha⌠ the∙ caε d∩ al∞ oµá thσá abovσá witΦ ì
AVBIO╙á shoulΣ stil∞ bu∙ SMARTKE┘ a≤ iε ß late≥ par⌠ ╔ wil∞ sho≈á theφ ì
ho≈á SMARTKE┘á anΣ AVBIO╙ caε co-operatσ together«á (Thσá result≤á arσ ì
amazing.⌐ ╔ mus⌠ give¼á though¼ ful∞ credi⌠ t∩ AVBIO╙ a≤ mos⌠ oµ thesσ ì
idea≤á werσá originall∙ developeΣ oε AVBIO╙ anΣ simpl∙ transferreΣá t∩ ì
SMARTKEY«á However¼ SMARTKE┘ ha≤ thσ additiona∞ featurσ oµ pausinτ fo≥ ì
inpu⌠ anΣ thi≤ i≤ ß majo≥ advance.
Problem≤ witΦ SMARTKEY║ I⌠ work≤ perfectl∙ oε al∞ "plaiε vanillß CP/Mó ì
system≤á bu⌠ beware¼á ß lo⌠ oµ CP/M'≤ havσ beeε "enhancedó anΣ havσá ß ì
CCP.SY╙ whicΦ n∩ longe≥ fit≤ withiε thσ "properó ▓ K«á Somσ takσ u≡ a≤ ìèmucΦ a≤ ╢ K« Man∙ arσ maskeΣ iε directorie≤ b∙ STA╘ anΣ caε bσ harΣ t∩ ì
find« Osbornσ Executivσ owner≤ wil∞ havσ thi≤ probleφ bu⌠ Nicδ HammonΣ ì
caε solvσ it«á Wheε yo⌡ order¼á tel∞ hiφ thσ compute≥ i⌠ i≤ t∩ bσ useΣ ì
on.
Microbeσá 6┤ ╦ disδ systeφ user≤ wil∞ onl∙ havσ ß probleφ iµ the∙á arσ ì
usinτá ZCPR«á The∙á havσ ß choicσ oµ goinτ bacδ t∩ StandarΣá CP/═á (a≤ ì
supplied⌐ o≥ makinτ ß smal∞ patcΦ t∩ SMARTKEY.
Microbeσ 12╕ ╦ disδ systeφ user≤ wil∞ havσ ß bigge≥ probleφ bu⌠ i⌠á i≤ ì
no⌠á insoluble«á Firstly¼á SHELL.SY╙ i≤ ß hugσ CCP.SY╙ enhancemen⌠ anΣ ì
thσ easies⌠ wa∙ i≤ t∩ exi⌠ SHEL╠ t∩ CCP.SY╙ beforσ loadinτ SMARTKEY« ╔ ì
aφ withiε aε acσ oµ gettinτ SMARTKE┘ t∩ worδ iε SHEL╠ bu⌠ aφ no⌠ quitσ ì
therσ ye⌠ anΣ aφ no⌠ surσ tha⌠ i⌠ i≤ wortΦ perseverinτ with« (Note¼ a⌠ ì
thσ moment¼ SHEL╠ anΣ SMARTKE┘ wil∞ botΦ worδ bu⌠ no⌠ simultaneousl∙ - ì
I⌠ i≤ onl∙ ß mino≥ probleφ - yo⌡ RESE╘ t∩ usσ SHELL¼ yo⌡ exi⌠ SHEL╠ t∩ ì
usσ SMARTKEY.)
Nex⌠á fo≥ 12╕ ╦ systeφ users¼á beware¼á Microbeσ diΣ no⌠ makσ i⌠á ver∙ ì
clea≥ tha⌠ CCP.SY╙ i≤ actuall∙ ZCP╥ anΣ tha⌠ thσ "originaló CCP.SY╙ i≤ ì
oε thσ utilitie≤ disδ unde≥ thσ namσ DRICCP.SYS«á Yo⌡ havσ thσá choicσ ì
between:-
1«á Erasinτá CCP.SY╙ anΣ puttinτ DRICCP.SY╙ iε it≤ placσ bu⌠ renameΣ ì
t∩ CCP.SYS¼ or
2«á Makinτá ßá simila≥ smal∞ patcΦ t∩ SMARTKE┘ a≤ abovσ iε rσá 6┤á ╦ ì
system≤ usinτ ZCPR.
Lastly¼á a≤á yo⌡ ge⌠ t∩ kno≈ anΣ lovσ SMARTKE┘ you≥ characte≥á string≤ ì
wil∞ ge⌠ longe≥ anΣ longer«á Oncσ the∙ reacΦ 84¼á the∙ wil∞ bσá cominτ ì
to∩á fas⌠á fo≥ Wordstar'≤ inpu⌠ buffe≥ anΣ Bell'≤ wil∞ sounΣá anΣá Exì
clamatioε marks!!í wil∞ appea≥ oε thσ screeε iε massivσ protes⌠ a⌠ thσ ì
speeΣ oµ input«á Further¼á iµ i⌠ happen≤ a⌠ │ a.m« iε thσ morninτ you≥ ì
wifσ wil∞ ge⌠ ou⌠ oµ beΣ anΣ comσ anΣ tel∞ you¼ a⌠ grea⌠ length¼ abou⌠ ì
you≥á qualit∙á a≤ ß husbanΣ anΣ father¼á thσ marita∞ relationship≤á oµ ì
you≥ owε parents¼ anΣ he≥ persona∞ anΣ ver∙ ver∙ certaiε opinioε abou⌠ ì
exactl∙ wherσ yo⌡ shoulΣ placσ you≥ computer.
However¼á SMARTKE┘á doe≤ havσ aε instal∞ programmσ whicΦ wil∞ le⌠á yo⌡ ì
slo≈ dowε thσ speeΣ oµ outpu⌠ anΣ i⌠ caε bσ finσ tuneΣ witΦ DD╘ iµ yo⌡ ì
arσ prepareΣ t∩ bσ patien⌠ (╔ caε no≈ ge⌠ 16╣ Ke∙ stroke≤ iε ßá strinτ ì
withou⌠á ßá bel∞á soundinτ bu⌠ ╔ no≈ alway≤ tes⌠ (a⌠ 3.a.m.⌐á witΦá m∙ ì
finge≥ read∙ oε thσ rese⌠ button.
T∩ whe⌠ you≥ appetitσ fo≥ morσ SMARTKEY¼ conside≥ thi≤ string.
<.^M╛ <^M^Kb^KrA:@F^M^Qf..L2^M^M^Kk^Ky^Qf..eOT^M^M^Kb^Qf.EFeOF
^M^M^X^Kk^Ky^Qf../LETT^MB2^M^X^Kb^Qf-----^M^M^X^Kk^Qc^Kc^QfDear^M^M^Y
^Qc^M^Kk^Kb^Ky^Oi65^M^I^I^P^SDEBI╘ NOT┼ NO.^P^S^H>
Wha⌠ i⌠ doe≤ i≤ :-
a«á Call≤á iεá ßá forma⌠ oε ß ne≈ pagσ oε ß filσ t∩á bσá printeΣá oε ì
LetterheaΣ paper.
b«á Searche≤ bacδ t∩ aε immediatel∙ previou≤ lette≥ anΣ copies¼ froφ ì
thσá to≡á oµá thσ namσ anΣ addres≤ t∩ thσá linσá belo≈á aεá underlineΣ ì
reference¼ t∩ thσ beginninτ oµ thσ ne≈ page.
c«á Locate≤ thσ linσ startinτ "Dea≥ whoeveró iε tha⌠ cop∙ oε thσ ne≈ ì
pagσ anΣ delete≤ it.
d«á Goe≤á t∩á thσ bottoφ oµ thσ filσ anΣ insert≤ DEBI╘ NOT┼á NO«á iε ì
underlineΣ forφ anΣ leave≤ thσ curso≥ hoverinτ insideô thσ underlininτ ì
waitinτ fo≥ yo⌡ t∩ pu⌠ iε thσ number.
e«á AnΣá i⌠á doe≤ i⌠ al∞ iε 1▓ second≤ whicΦ i≤ fa≥ faste≥á thaεá i⌠ ìècoulΣ otherwisσ bσ typed.
█á Editor'≤á note«á ╔ founΣ ß prograφ calleΣ QWIKKE┘ oε thσá TARDI╙ ì
bulletiε boarΣ whicΦ seem≤ t∩ bσ exactl∙ thi≤ program« Therσ werσ tw∩ ì
file≤á - QWIKKEY.OB╩ anΣ QWIKKEY.DOC«á The∙ don'⌠ takσ ver∙á lonτá t∩ ì
down-loaΣ froφ TARDIS« ╔ trieΣ ou⌠ QWIKKEY¼ anΣ i⌠ seemeΣ t∩ worδ iε ì
exactl∙ thσ samσ wa∙ a≤ describeΣ iε thσ articlσ above« I⌠ i≤ ß publiπ ì
domaiε program¼ s∩ i⌠ i≤ freel∙ accessiblσ t∩ anyonσ wh∩ want≤ it« ì
Havinτ go⌠ useΣ t∩ thσ programmablσ functioε key≤ oε aε IB═ PC¼ it'≤ ì
hand∙ t∩ havσ ß simila≥ functioε fo≥ thσ MICROBEE« I'φ no⌠ surσ ì
whethe≥ thσ problem≤ describeΣ fo≥ SMARTKE┘ abovσ appl∙ witΦ QWIKKEY« ì
╔ ruε ZCPR2¼ anΣ thσ smal∞ test≤ I'vσ donσ don'⌠ seeφ t∩ havσ throwε ì
u≡ an∙ problems¼ bu⌠ ╔ haven'⌠ useΣ thσ prograφ ver∙ much« Howeve≥ - ì
i⌠ i≤ available¼ s∩ let'≤ seσ ho≈ wel∞ i⌠ goes« ▌
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
*HELP¬á DOE╙ ANYON┼ HAV┼ A╬ INTELLIGEN╘ NUMERICA╠ KE┘ PA─ THA╘ CA╬á B┼ ì
PLUGGE─á INT╧ ┴ BE┼ POR╘ T╧ GIV┼ TH┼ BE┼ ┴ WEL╠ DESERVE─ BOOS╘ I╬á TH┼ ì
KEYBOAR─á (┴ COMPLET┼ CHANG┼ O╞ K/┬ [ET╔ JAN▌ I╙ A╬ OVERKIL╠ FO╥á MOS╘ ì
PURPOSES.......« JOH╬ BRET╘ HM(059⌐ 74-122░ W╦ 7836622
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
00100 REM //////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\
00110 REM | << BLACKJACK >> |
00120 REM | Ex Computer Games for Business, School and Home. |
00130 REM | For TRS-80 Level 2 Basic. |
00140 REM | By J.V Nahaigian & W.S. Hodges. |
00150 REM | Modified for the MIcroBee. |
00160 REM | By Peter Collins. Dec '83. |
00170 REM \\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////
00180 REM
00190 REM A()=Amount of aces in hand.
00200 REM A(1,)=Regular hand.
00210 REM A(2,)=Split hand.
00220 REM B()=Bet for each hand.
00230 REM B(1,)=Regular hand.
00240 REM B(2,)=Split hand.
00250 REM K()=0=Person can't split.
00260 REM 1=Person can split.
00270 REM M()=Amount of money each person has.
00280 REM Q=Number of players.
00290 REM U=Hand being used.
00300 REM S(S,C)=0=Card hasn't been used.
00310 REM 1=Card has been used.
00320 REM Where S is suit.
00330 REM C is card.
00340 REM T()=Total points in person's hand.
00350 REM T(1,)=Regular hand.
00360 REM T(2,)=Split hand.
00370 DIM S(4,13),K(4),T(2,5),A(2,5),B(2,4),M(4)
00380 CLS
00390 REM
00400 INVERSE:PRINT "THIS IS A BLACKJACK GAME.":NORMAL
00410 C=52:PRINT\\ "HOW MANY WISH TO PLAY";:INPUT Q
00420 IF Q<1 THEN 410
00430 IF Q>4 THEN 410
00440 PRINT\
00450 CLS
00460 FOR I=1 TO Q:PRINT "PERSON ";I;" HAS $";M(I):NEXT I
00470 PRINT:IF C<(Q+1)*5-51 THEN 480 ELSE GOSUB 1730è00480 FOR I=1 TO 5:FOR U=1 TO 2
00490 T(U,I)=0:A(U,I)=0:NEXT U:NEXT I
00500 U=1:FOR I=1 TO Q
00510 PRINT "PERSON ";I;" WHAT IS YOUR BET";:INPUT B(1,I)
00520 B(2,I)=0:NEXT I:FOR W=1 TO 750:NEXT W:CLS
00530 FOR I=1 TO Q
00540 PRINT "*** PERSON ";I:PRINT
00550 PRINT "FIRST CARD IS ";:GOSUB 1470
00560 GOSUB 1490:GOSUB 1580:PRINT
00570 J=Y:GOSUB 1650
00580 PRINT "SECOND CARD IS ";:GOSUB 1470
00590 GOSUB 1490:GOSUB 1580:PRINT\\"HIT ANY KEY TO CONTINUE"
00600 GOSUB 1760:CLS
00610 K(I)=0:IF J=Y THEN LET K(I)=1 ELSE 620
00620 GOSUB 1650:NEXT I
00630 GOSUB 1470:F=X:E=Y:I=5:GOSUB 1650
00640 PRINT "***** ";
00650 GOSUB 1470:PRINT "DEALER SHOWS ";:GOSUB 1490
00660 GOSUB 1580:GOSUB 1650:PRINT\
00670 IF Y=11 THEN 690
00680 IF T(1,5)=21 THEN 740 ELSE 800
00690 PRINT "INSURANCE? (Y/N)";:INPUT K1$:IF K1$="N" THEN 730
00700 PRINT "PERSON NUMBER? (0 TO STOP)";:INPUT L
00710 IF L=0 THEN 730 ELSE PRINT "PERSON ";L;", HOW MUCH DO YOU BET";
00720 INPUT B(2,L):IF B(2,L)<0 THEN 710 ELSE)";:INPUT L
00710 IF L=0 THEN 730 ELSE PRINT "PERSON ";L;", HOW MUCH DO YOU BET";
00720 INPUT B(2,L):IF B(2,L)<0 THEN 710 ELSE 700
00730 IF T(1,5)=21 THEN PRINT ELSE 780
00740 PRINT "*** DEALER HAS BLACKJACK! ***":PRINT
00750 PRINT:FOR I=1 TO Q:IF B(2,I)=0 THEN 770
00760 B(1,I)=B(1,I)-(B(2,I)*2)
00770 NEXT I:GOTO 1210
00780 PRINT\"DEALER DOESN'T HAVE BLACKJACK.":PRINT
00790 FOR I=1 TO Q:M(I)=M(I)-B(2,I):NEXT I
00800 L=0:D=0:FOR I=1 TO Q:PRINT\"*** PERSON ";I
00810 PRINT:R=1
00820 IF K(I)=0 THEN 950 ELSE PRINT "DO YOU WANT TO SPLIT? (Y/N)";
00830 INPUT K1$:IF K1$="N" OR K1$="n" THEN 960 ELSE LET B(2,I)=B(1,I)
00840 IF T(1,I)=12 THEN 850 ELSE 890
00850 IF A(1,I)=0 THEN 890
00860 T(1,I)=11:T(2,I)=11
00870 FOR U=1 TO 2:PRINT:GOSUB 1470:PRINT "HAND ";U;" PICKED A ";
00880 GOSUB 1490:GOSUB 1580:PRINT:GOSUB 1650:NEXT U:PRINT:GOTO 1110
00890 T(1,I)=T(1,I)/2:T(2,I)=T(1,I):FOR U=1 TO 2
00900 GOSUB 1470:PRINT "HAND ";U;" PICKED A ";:GOSUB 1490:GOSUB 1580
00910 GOSUB 1650:PRINT " TOTAL IS ";T(U,I):IF T(U,I)>20 THEN 940
00920 IF V=1 THEN 940 ELSE PRINT "HIT? (Y/N)";
00930 INPUT K1$:IF K1$="Y" OR K1$="y" THEN 900
00940 PRINT:NEXT U:GOTO 1110
00950 U=1:PRINT "YOUR TOTAL IS ";T(1,I):IF R=1 THEN 960 ELSE 1040
00960 IF T(U,I)=21 THEN PRINT ELSE 990
00970 PRINT "*** YOU HAVE BLACKJACK! ***":PRINT
00980 B(U,I)=B(U,I)+(B(U,I)/2):T(U,I)=-1:GOTO 1110
00990 PRINT "DOUBLE-DOWN? (Y/N)";
01000 INPUT K1$:IF K1$="Y" OR K1$="y" THEN PRINT ELSE 1040
01010 PRINT "YOUR DOUBLE DOWN CARD IS ";
01020 GOSUB 1470:GOSUB 1490:GOSUB 1580:GOSUB 1650
01030 PRINT:B(2,1)=B(U,I)*2:GOTO 1090
01040 PRINT "HIT? (Y/N)";:INPUT K1$
01050 IF K1$="Y" OR K1$="y" THEN PRINT ELSE 1090
01060 GOSUB 1470:PRINT "YOU PICKED THE ";:GOSUB 1490
01070 GOSUB 1580:GOSUB 1650:R=0
01080 PRINT:IF T(U,I)<21 THEN 950
01090 PRINT\"YOUR TOTAL IS ";T(1,I)è01100 IF T(U,I)<22 THEN 1110 ELSE LET L=L+1
01110 PRINT\"HIT ANY KEY TO CONTINUE"
01120 GOSUB 1760:CLS:NEXT I:PRINT
01130 X=F:Y=E:PRINT "DEALER HAD A ";
01140 GOSUB 1490:GOSUB 1580:PRINT " IN THE HOLE."
01150 U=1:I=5:IF T(U,I)>16 THEN 1200
01160 IF D+Q=L THEN 1200
01170 GOSUB 1470:PRINT "DEALER PICKED A ";
01180 GOSUB 1490:GOSUB 1580:GOSUB 1650
01190 PRINT:GOTO 1150
01200 PRINT\"THE DEALERS TOTAL IS ";T(U,I)
01210 PRINT\
01220 FOR I=1 TO Q:FOR U=1 TO 2
01230 IF T(U,I)=-1 THEN 1280
01240 IF T(U,I)=0 THEN 1360
01250 IF T(U,I)>21 THEN 1340
01260 IF T(1,5)>21 THEN 1280
01270 IF T(U,I)>T(1,5) THEN 1280 ELSE 1310
01280 PRINT "PERSON ";I;" WON $";B(U,I)
01290 M(I)=M(I)+B(U,I)
01300 GOTO 1360
01310 IF T(U,I)=T(1,5) THEN 1320 ELSE 1340
01320 PRINT "PERSON ";I;" HAD A DRAW WITH THE DEALER."
01330 GOTO 1360
01340 PRINT "PERSON ";I;" LOST $";B(U,I)
01350 M(I)=M(I)-B(U,I)
01360 NEXT U:NEXT I
01370 PRINT\\
01380 PRINT "ANOTHER GAME? (Y/N)";
01390 INPUT K1$:PRINT:IF K1$="Y" OR K1$="y" THEN 450
01400 CLS
01410 PRINT "PERSON","WINNINGS"
01420 L=0:FOR I=1 TO Q
01430 PRINT " ";I,"$";M(I)
01440 L=L-M(I):NEXT I
01450 PRINT "DEALER","$";L
01460 PRINT\\:GOTO 1750
01470 X=INT(4*RND)+1:Y=INT(13*RND)+1
01480 IF S(X,Y)1 THEN 1470 ELSE LET S(X,Y)=1:C=C+1:RETURN
01490 IF Y=1 THEN 1500 ELSE 1510
01500 PRINT "ACE ";:RETURN
01510 IF Y=11 THEN 1520 ELSE 1530
01520 PRINT "JACK ";:RETURN
01530 IF Y=12 THEN 1540 ELSE 1550
01540 PRINT "QUEEN ";:RETURN
01550 IF Y=13 THEN 1560 ELSE 1570
01560 PRINT "KING ";:RETURN
01570 PRINT Y;:RETURN
01580 IF X=1 THEN 1590 ELSE 1600
01590 PRINT " OF SPADES ";:RETURN
01600 IF X=2 THEN 1610 ELSE 1620
01610 PRINT " OF CLUBS ";:RETURN
01620 IF X=3 THEN 1630 ELSE 1640
01630 PRINT " OF HEARTS ";:RETURN
01640 PRINT " OF DIAMONDS";:RETURN
01650 IF Y<11 THEN 1660 ELSE LET Y=10
01660 IF Y=1 THEN 1670 ELSE 1680
01670 Y=11:A(U,I)=A(U,I)+1
01680 T(U,I)=T(U,I)+Y
01690 IF T(U,I)>21 THEN 1700 ELSE 1720
01700 IF A(U,I)=0 THEN 1720
01710 A(U,I)=A(U,I)-1:T(U,I)=T(U,I)-10
01720 RETURN
01730 FOR X=1 TO 4:FOR Y=1 TO 13:S(X,I)=0:NEXT Y:NEXT X:C=0è01740 PRINT\"CARDS ARE RESHUFFLED.":PRINT:RETURN
01750 END
01760 K0$=KEY$:IF K0$="" THEN 1760 ELSE RETURN
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
FO╥ SAL┼ MICROBE┼ 32╦ I├ (BASIC/WORDBEE/TELECOM/EDAS═ ROMSS⌐ COMPLET┼ ì
WIT╚á MICRO╬á DATACASSETTE¼á BASI├á AN─ WORDBE┼á USER'╙á MANUALS¼á AN─ ì
ASSORTED SPFTWARE ALL IN AS NEW CONDITION. .........$450 ONO
FOR FURTHER INFORMATION PHONE ADRIAN TOBIN (03)876-1404
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
FO╥á SAL┼ MP╔ MODE╠ 485▒ (5-1/4,400k⌐ DIS╦ DRIV┼ AN─ UBE┼ STYL┼á CAS┼ ì
FO╥á THOS┼á WH╧á WAN╘ T╧ U╨ GRAD┼ THEI╥ SINGL┼ DRIV┼á AP├á BE┼á SYSTE═ ì
DETAIL╙á O╞á TH┼ MOD╙ T╧ TH┼ POWE╥ SUPPL┘ AN─á INSTALLATIO╬á PROVIDE─ ì
........$240 RING GLENN LILLEY HM 288-3624, BUS 3424200
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
FOR SALE SIEMENS 100 PRINTER (BUILT LIKE A BRICK TOILET)
THI╙ MACHIN┼ (AFFECTIONATEL┘ KNOW╬ A╙ 'HERNIA'⌐ HA╙ BEE╬ NEATL┘ FITTE─ ì
INTERNALL┘á WIT╚á IT╙á OW╬á POWE╥á SUPPL┘ AN─ 2░á M┴á LOO╨á T╧á SERIA╠ ì
CONVERTER«á THI╙á INCLUDE╙á OPT╧ COUPLE╥ ISOLATIO╬ FRO═á HIG╚á VOLTAG┼ ì
NASTIES...... $50. JOHN BRETT HM 059-741220 WK 783 6622
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Entry for Microbug's 20 line program contest.
By A.Laughton 510. 14/11/84
line 100 Set up.
lines 110,120 are the words that have to be guessed and the more
inserted here the better, provided the total number of
words is inserted into the rnd equation in line 130.
line 130 selects a word and loads it into S0$.
line 140 A0$ = What word was at last guess, A1$ = What the word
is now . V = bad tries.
line 150 Fill A1$ out to number of letters.
line 160 C = 1st K1$, 2nd K1$, etc. R = rnd letter for hints.
line 170 If > 3 consecutive tries are wrong, hints are dropped.
line 180 Get guess into K1$.
line 190 S0$ = word . K1$ = guess . C = 1st K1$, 2nd K1$ etc.
line 200 Insert letter into A1$, goto 190 for more.
line 210 Test for right , fanfare , run .
line 220 Any right?. T = ~tries till hint.
line 230 update A0$ , goto next guess.
line 240 Dead ? , fanfare , run .
line 250 Hang man . goto next guess.
lines 260,290 hires data for rude + crude hangman.
THE PROGRAM
00100 CLS :HIRES:PRINT "Hangman ...... guess the letters ";
00110 DATA "hello","there","everyone","can","you","help","us"
00120 DATA"we","are","stuck","inside","a","microbee","computer"
00130 R = INT(RND*14) : FOR L = 0 TO R : READ S0$ : NEXT L
00140 A0$ = "" : A1$ = "" : V = 0 : RESTORE 260
00150 FOR L = 1 TO LEN(S0$) : A1$ = A1$ + "." : NEXT L
00160 C = 0 : R = INT(RND*FLT(LEN(S0$)))+1
00170 IF T > 3 THEN PRINT "try " S0$(;R,R)è00180 POKE 257,0 : K1$ = KEY : IF K1$ = "" THEN 180
00190 C = C + 1 : O = SEARCH(S0$,K1$,C) : IF O = 0 THEN 210
00200 A1$ = A1$(;1,O-1) + S0$(;O,O) + A1$(;O+1) : GOTO 190
00210 IF A1$ = S0$ THEN PRINT S0$ " bad tries = "V :
FOR L = 0 TO 20 : PLAY INT(RND*24) : NEXT L : PLAY 0,20 : RUN
00220 IF A0$ = A1$ THEN PLAY 1 : T = T + 1 : GOTO 240
00230 A0$ = A1$ : PRINT A1$ : T = 0 : GOTO 160
00240 IF V = 12 THEN PRINT "Your dead, the word was " S0$ :
PLAY 0,20 : RUN
00250 READ W,X,Y,Z : PLOT W,X TO Y,Z : V = V + 1 : GOTO 160
00260 DATA 200,10,400,10, 300,10,300,110, 300,110,410,110
00270 DATA 300,90,325,110, 270,10,300,30, 300,30,330,10
00280 DATA 410,110,410,70, 410,70,395,50, 410,70,425,50
00290 DATA 410,85,390,80, 410,85,430,80, 405,95,415,95
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
*HELP¬á CA╬á ANYON┼ TEL╠ M┼ HO╫ T╧ INITIALIS┼ TH┼á MICROBE┼á COLOU╥ ì
BOARD FROM MACHINE LANGUAGE? ALAN MCLENNAN 523 7620 (ENENINGS)
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
FOR SALE MITSUBISHI M4854 DISK DRIVE DSDD 1.6 MEG........$260
GP100 PRINTER...................................$95
FD1771 DISK CONTROLLER CHIP.....................$10
ROWAN MCKENZIE 35 MOORE AVE CROYDON 723-3937
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
*HELP¬á O╬á ┴ NUMBE╥ O╞ OCCASION╙ WHE╬ ╔ RENUMBE╥ ┴ BASI├á PROGRAM¼ ì
SOM┼á O╞á TH┼á GOTO..«á D╧ NO╘ RENUMBER«á SOMTIME╙ IT╙á ONL┘á ON┼á AN─ ì
SOMETIME╙ IT╙ ╡ O╥ 6« HA╙ ANYON┼ ELS┼ HA─ THI╙ PROBLE═ AN─ D╧ YO╒ KNO╫ ì
THE CAUSE OF IT...... ALAN LAUGHTON (056) 596286
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
*HELP¬ CA╬ ANYON┼ RECOMMEN─ A╬ A.C« POWE╥ LIN┼ CONDITIONER¼ PREFERABL┼ ì
┴ D╧ I╘ YOU╥ SEL╞ UNI╘ O╥ ┴ COMMERCIA╠ ONE...JOH╬ BRET╘ HM(059⌐ 741220
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH