1 and/or 2 Player BlackJack Game Written in AppleSoft Basic With Source Code

314 views
Skip to first unread message

creative...@gmail.com

unread,
Jan 10, 2013, 12:06:43 PM1/10/13
to
Hello, I'm Michael, I've finished my BlackJack Game that I made in 1989 and finalized it in December of 2012. You can play 1 player against the house or you and a friend against the house. In 1989 I was 13 and had a real Apple //e I kept it online until I got a Windows Computer in 1999 I then put the source code on Floppy Disk, then when I got my laptop I put in on CD-Rom Disc.

It's written in AppleSoft Basic, Finished using AppleWin then Transported to the Apple // GS using Kegs32 on Windows 7 64 Bit. Now I'm releasing it to the Apple Community. It's in basic format so you can easily see the source code if desired.

It's in 2mg format this version is for the Apple // GS if you're interested in the Apple //e Version just email me at creative...@gmail.com and I'll send it to you. You Can Download the // GS Version from http://greatcdplayer.com/MH-BlackJack.zip

Thank you,

All the best to every one and Happy New Year.

Sincerely,

Michael Hardy

creative...@gmail.com

unread,
Jan 10, 2013, 11:43:06 PM1/10/13
to
Hi, I'm sorry to everyone who downloaded it, I found out thanks to Bill M. From Virtual Apple that the 2mg File did not work. I have now fixed this and re-uploaded it. The Apple //e Version is now also included in the Download.

Download it at http://greatcdplayer.com/MH-BlackJack.zip

Thank you.

magnusfalkirk

unread,
Jan 11, 2013, 11:42:12 AM1/11/13
to
I wonder if he had some kind of problem with his computer because I downloaded your file and ran it in Sweet 16, on my MacBook Pro, and it ran fine.

BLuRry

unread,
Jan 11, 2013, 12:20:09 PM1/11/13
to
Is it a 2MG file with a header or should it be renamed to .po or .hdv? I've seen header-less 2MG files that confuse some emulators into thinking they have a 64-byte header when they in fact do not. The //c+ version of PoP, for example, has a 2mg extension but doesn't have a header. It could just as easily be renamed to .hdv or .po and work fine in other emulators that have hard drive support. (Caveat: PoP uses smartport firmware calls, so the emulator has to support that for PoP 3.5 to work -- there are other 2mg disk images that would otherwise work fine with emulators that only emulate the prodos block driver)

-B

vas...@gmail.com

unread,
Jan 11, 2013, 6:45:54 PM1/11/13
to
Nope, no problem with the emulator or computer since I also used Sweet16. The initial .2mg gave an error of unrecognized format in almost every emulator I tried. The new one works, yet the .DSK is still a bit wonky with the emulators and even in Apple Commander.

mmphosis

unread,
Jan 11, 2013, 9:29:03 PM1/11/13
to
Thanks. I am running your BlackJack Game in Blurry's emulator. It's a fun
game with graphics.

gid...@sasktel.net

unread,
Jan 12, 2013, 12:18:48 AM1/12/13
to
I see you used the cards and the graphic routines from the Nibble magazine that featured the card game Pyramid.

You should be giving credit to the person who wrote those card routines.

Please do not credit yourself as being your own.

creative...@gmail.com

unread,
Jan 12, 2013, 4:10:43 PM1/12/13
to
I did give credit to the original guy.

Mike Maginnis

unread,
Jan 12, 2013, 5:53:46 PM1/12/13
to
You should probably give him credit for the BASIC code too, since you just replaced his name with yours -- everything else is the same.

Here's the first few lines of code as printed in the March 1992 Nibble article, "BLACKJACK":

1 REM *************************
2 REM * BLACKJACK *
3 REM * BY JOHN GATES *
4 REM * COPYRIGHT (C) 1991 *
5 REM * MINDCRAFT PUBL. CORP. *
6 REM * LINCOLN, MA 01773 *
7 REM *************************
10 DIM D%(104),H%(104)
20 TEXT : HOME : VTAB 12: PRINT "Loading Files - Please Wait!"
30 IF PEEK (104) = 64 THEN 50
40 POKE 104,64: POKE 16384,0: PRINT CHR$ (4)"RUN BLACKJACK"
50 PRINT CHR$ (4)"BLOAD BLACKJACK.SHAPE": PRINT CHR$ (4)"BLOAD BLACKJACK.ML,A$800": PRINT CHR$ (4)"BLOAD BLACKJACK.SCRN"
60 TEXT : HOME : VTAB 2: HTAB 9: PRINT "***********************": HTAB 9: PRINT "*" SPC( 21)"*": HTAB 9: PRINT "* B L A C K J A C K *": REM 23 '*'
70 HTAB 9: PRINT "*" SPC( 21)"*": HTAB 9: PRINT "***********************": REM 23'*'
80 VTAB 8: HTAB 19: PRINT "By": PRINT : HTAB 15: PRINT "John Gates": PRINT : HTAB 12: PRINT "Copyright (C) 1991": HTAB 11: PRINT "MindCraft Publ. Corp.": HTAB 12: PRINT "Lincoln, MA 01773"
90 VTAB 17: HTAB 17: PRINT "Cards": HTAB 18: PRINT "By": PRINT : HTAB 15: PRINT "Jim Lazar": VTAB 23: HTAB 8: PRINT "Press Return to Continue";: GET RE$
100 HOME : VTAB 12: HTAB 4: PRINT "Be Sure The Caps Lock Key Is Down!": VTAB 23: HTAB 8: PRINT "Press Return to Continue";: GET RE$
110 TEXT : HOME : VTAB 9: HTAB 13: PRINT "B L A C K J A C K": VTAB 13: HTAB 13: PRINT "1. Instructions": PRINT : HTAB 13: PRINT "2. Play Game"
120 VTAB 23: HTAB 13: PRINT "Choose Number!";: GET A$
130 IF VAL (A$) < 1 OR VAL (A$) > 2 THEN PRINT CHR$ (7);: GOTO 120
140 IF VAL (A$) = 2 THEN 320
150 HOME : HTAB 10: PRINT "I N S T R U C T I O N S": HTAB 9: PRINT "_________________________": REM 25'_'
160 VTAB 4: PRINT "Blackjack is a one or two player game": PRINT "that pits your gambling skills against": PRINT "those of the 'House' (Dealer)."
170 PRINT : PRINT "The object of the game is to come as": PRINT "close to 21 as possible, without going": PRINT "over, and to beat the House."
180 VTAB 12: PRINT "You can receive up to five cards.": PRINT "In case of a tie, the House wins."
190 VTAB 15: PRINT "Blackjack (a Jack and an Ace) is worth": PRINT "1.5 times your bet rounded down to the": PRINT "nearest dollar.": PRINT
200 PRINT "Five cards under 21 is worth 2 times": PRINT "your bet."
210 VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$: HOME
220 PRINT "The House must take a card on a": PRINT "count of 16 or under, and must stay on": PRINT "a count of 17 or over."
230 PRINT : PRINT "You'll be given $1000 to play with.": HTAB 10: PRINT "(Pretend of course!)": PRINT : PRINT "Your bets must be between $1 and $99": PRINT "and must be whole dollars only."
240 PRINT : PRINT "On your turn you will be prompted to": PRINT "place your bet. If you have made a": PRINT "previous bet, that bet will be shown as": PRINT "the default. To accept your previous"
250 PRINT "bet, just press Return. If you wish": PRINT "to make a different bet, just enter it": PRINT "and press Return."
260 PRINT : PRINT "On your turn you will be given": PRINT "the option of, turn your down card,": PRINT "take a card, double your bet, or split": PRINT "if your cards are of equal value."
270 VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$
280 HOME : PRINT "If you chose to double, your bet": PRINT "will be rededucted and you will be": PRINT "given only one card."
290 PRINT : PRINT "If you chose to split, your bet": PRINT "will be rededucted and you will be": PRINT "dealt an extra hand to play."
300 VTAB 18: HTAB 14: PRINT "GOOD LUCK!"
310 VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$
320 HOME : VTAB 9: HTAB 10: PRINT "Up to two players may": HTAB 9: PRINT "play against the 'House'."
330 VTAB 14: HTAB 5: PRINT "How many players will be playing?": VTAB 16: HTAB 20: GET PL$: IF VAL (PL$) < 1 OR VAL (PL$) > 2 THEN VTAB 16: CALL - 868: PRINT CHR$ (7);: GOTO 330
340 REM **DRAW PLAYING TABLE**
350 POKE 232,0: POKE 233,25: SCALE= 1: ROT= 0: HGR
360 HCOLOR= 3: DRAW 1 AT 85,13: HCOLOR= 6: DRAW 1 AT 83,13
370 DRAW 3 AT 2,50: DRAW 3 AT 1,50
380 IF VAL (PL$) = 2 THEN DRAW 4 AT 2,95: DRAW 4 AT 1,95
390 DRAW 2 AT 2,140: DRAW 2 AT 3,140
400 DRAW 5 AT 78,16: DRAW 5 AT 79,16
410 DRAW 6 AT 251,115
420 VTAB 22: HTAB 1: PRINT "\______________________________________/": REM 38 '_'

and the code from your disk image:

10 DIM D%(104),H%(104)
20 TEXT : HOME : VTAB 12: PRINT "Loading Files - Please Wait!"
30 IF PEEK (104) = 64 THEN 50
40 POKE 104,64: POKE 16384,0: PRINT CHR$ (4)"RUN BLACKJACK"
41 REM CTRL-G
50 PRINT CHR$ (4)"BLOAD BLACKJACK.SHAPE": PRINT CHR$ (4)"BLOAD BLACKJACK.ML,A$800": PRINT CHR$ (4)"BLOAD BLACKJACK.SCRN"
60 TEXT : HOME : VTAB 2: HTAB 9: PRINT "***********************": HTAB 9: PRINT "*" SPC( 21)"*": HTAB 9: PRINT "* B L A C K J A C K *": REM 23 '*'
70 HTAB 9: PRINT "*" SPC( 21)"*": HTAB 9: PRINT "***********************": REM 23'*'
80 VTAB 8: HTAB 19: PRINT "By": PRINT : HTAB 15: PRINT "Michael Hardy": PRINT : HTAB 12: PRINT "Copyright (C) 1989": HTAB 11: PRINT " Hardy Creations Inc.": HTAB 12: PRINT "Cuba Missouri, 65453"
90 VTAB 17: HTAB 17: PRINT "Cards": PRINT : HTAB 18: PRINT " BY": PRINT : HTAB 15: PRINT "Carl Brewer": VTAB 23: HTAB 8: PRINT "Press Return to Continue";: GET RE$
100 HOME : VTAB 12: HTAB 4: PRINT "Be Sure The Caps Lock Key Is Down!": VTAB 23: HTAB 8: PRINT "Press Return to Continue";: GET RE$
102 REM WITH BYE & ONERR & CAT
105 REM JEFF HURLBURT, 1987-1999
107 REM
110 TEXT : HOME : VTAB 9: HTAB 13: PRINT "B L A C K J A C K !": VTAB 13: HTAB 13: PRINT "1. Instructions?": PRINT : HTAB 13: PRINT "2. Play The Game!": PRINT : HTAB 13: PRINT "3. Credits!!!": PRINT : HTAB 13: PRINT "4. Quit To ProDos..."
120 VTAB 23: HTAB 13: PRINT "Choose Number!";: GET A$
130 IF VAL (A$) < 1 OR VAL (A$) > 4 THEN PRINT CHR$ (7);: GOTO 120
135 IF VAL (A$) = 1 THEN GOTO 150
140 IF VAL (A$) = 2 THEN 320
144 IF VAL (A$) = 3 THEN GOTO 4361
145 IF VAL (A$) = 4 THEN GOTO 146
146 VTAB 23: HTAB 2: PRINT "You Sure You Want To Quit To Basic?": PRINT : PRINT "PRESS 'Y' FOR YES OR 'N' FOR NO (Y/N)";: GET AN$
147 IF AN$ < > CHR$ (89) AND AN$ < > CHR$ (121) AND AN$ < > CHR$ (78) AND AN$ < > CHR$ (110) THEN PRINT CHR$ (7);: VTAB 23: HTAB 1: CALL - 868: GOTO 4190
148 IF AN$ = "Y" OR AN$ = "y" THEN TEXT : HOME : PRINT : PRINT CHR$ (4)"RUN HELLO"
149 IF AN$ = "N" OR AN$ = "n" THEN VTAB 23: HTAB 1: GOTO 110
150 HOME : HTAB 10: PRINT "I N S T R U C T I O N S": HTAB 9: PRINT "_________________________": REM 25'_'
160 VTAB 4: PRINT "Blackjack is a one or two player game": PRINT "that pits your gambling skills against": PRINT "those of the 'House' (Dealer)."
170 PRINT : PRINT "The object of the game is to come as": PRINT "close to 21 as possible, without going": PRINT "over, and to beat the House."
172 REM
173 REM EXAMPLES:
175 REM 1010 DATA UTIL.SYSTEM (COPY II PLUS 7.1)
177 REM 1020 DATA BLOCK.WARDEN
180 VTAB 12: PRINT "You can receive up to five cards.": PRINT "In case of a tie, the House wins."
190 VTAB 15: PRINT "Blackjack (a Jack and an Ace) is worth": PRINT "1.5 times your bet rounded down to the": PRINT "nearest dollar.": PRINT
200 PRINT "Five cards under 21 is worth 2 times": PRINT "your bet."
210 VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$: HOME
220 PRINT "The House must take a card on a": PRINT "count of 16 or under, and must stay on": PRINT "a count of 17 or over."
230 PRINT : PRINT "You'll be given $1000 to play with.": HTAB 10: PRINT "(Pretend of course!)": PRINT : PRINT "Your bets must be between $1 and $99": PRINT "and must be whole dollars only."
240 PRINT : PRINT "On your turn you will be prompted to": PRINT "place your bet. If you have made a": PRINT "previous bet, that bet will be shown as": PRINT "the default. To accept your previous"
250 PRINT "bet, just press Return. If you wish": PRINT "to make a different bet, just enter it": PRINT "and press Return."
260 PRINT : PRINT "On your turn you will be given": PRINT "the option of, turn your down card,": PRINT "take a card, double your bet, or split": PRINT "if your cards are of equal value."
270 VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$
280 HOME : PRINT "If you chose to double, your bet": PRINT "will be rededucted and you will be": PRINT "given only one card."
290 PRINT : PRINT "If you chose to split, your bet": PRINT "will be rededucted and you will be": PRINT "dealt an extra hand to play."
300 VTAB 18: HTAB 14: PRINT "GOOD LUCK!"
310 VTAB 24: HTAB 8: PRINT "Press Return to Continue";: GET RE$: GOTO 110
320 HOME : VTAB 9: HTAB 10: PRINT "Up to two players may": HTAB 9: PRINT "play against the 'House'."
330 VTAB 14: HTAB 5: PRINT "How many players will be playing?": VTAB 16: HTAB 20: GET PL$: IF VAL (PL$) < 1 OR VAL (PL$) > 2 THEN VTAB 16: CALL - 868: PRINT CHR$ (7);: GOTO 330
340 REM **DRAW PLAYING TABLE**
350 POKE 232,0: POKE 233,25: SCALE= 1: ROT= 0: HGR
360 HCOLOR= 3: DRAW 1 AT 85,13: HCOLOR= 6: DRAW 1 AT 83,13
370 DRAW 3 AT 2,50: DRAW 3 AT 1,50
380 IF VAL (PL$) = 2 THEN DRAW 4 AT 2,95: DRAW 4 AT 1,95
390 DRAW 2 AT 2,140: DRAW 2 AT 3,140
400 DRAW 5 AT 78,16: DRAW 5 AT 79,16
410 DRAW 6 AT 251,115
420 VTAB 22: HTAB 1: PRINT "\______________________________________/": REM 38 '_'


- Mike

termina...@gmail.com

unread,
Jan 15, 2013, 9:44:42 AM1/15/13
to
don't get fooled guys!

read this about him:
( a series of blog posts)
http://youfailit.net/?p=49
and consider reading this blog article:
http://better-explorer.com/blog/a-word-about-michael-hardy-copycat/


michael: i told you i'll watch you.

our michael is a pathetic robber of open-source-software. do not support this junk.

Olivier Zardini

unread,
Jan 15, 2013, 1:55:51 PM1/15/13
to
On 15 jan, 15:44, terminatoraf...@gmail.com wrote:

> don't get fooled guys!
> our michael is a pathetic robber of open-source-software. do not support this junk.

I think everyone here has understood what kind of person was Mr
Hardy (or whatever is its real name).

The purpose of the game is not to PLAY at the games is he currently
modifying. The purpose of the game is to search for its name and
figure out where the changes have been placed and what the original
game was.

Do you know the books for children 'Where is Charly' ? Here the game
is named 'Where is Hardy' :-)

I think your own game was close to 'Where is the World is Carmen San
Diego ?' (the famous thief). You version is "Where in the world is
Hardy ?" (the infamous Open Source Software thief). You are searching
for any landing of Mr Hardy in a community.

Regards,

Olivier

Tempest

unread,
Jan 15, 2013, 2:09:37 PM1/15/13
to
I'm not sure what his plan was (is?). The Apple II community is pretty small and tight knit so if he plans on passing off other peoples work as his for money he's not going to get very far. I think he made a miscalculation this time.

Scott Alfter

unread,
Jan 16, 2013, 6:32:19 PM1/16/13
to
In article <fb3ae8dd-89de-41ae...@googlegroups.com>,
...and if he's cribbing from Nibble, he's expanding beyond open-source
software, as their code wasn't offered under anything that we'd now
understand to be an open-source license.

_/_
/ v \ Scott Alfter (remove the obvious to send mail)
(IIGS( http://alfter.us/ Top-posting!
\_^_/ >What's the most annoying thing on Usenet?




Reply all
Reply to author
Forward
0 new messages