Share via


Basic Computer Games - Small Basic Edition: Acey Ducey

Small BasicSmall Basic BooksBasic Computer Games Small Basic Edition** **> Acey Ducey
  

This is a simulation of the Acey Ducey card game. In the game, the dealer (the computer) deals two cards face up. You have an option to bet or not to bet depending on whether or not you feel the next card dealt will have a value between the first two. Your initial money (Q) is set to $100; you may alter the line setting Q to 100 if you want to start with more or less than $100. The game keeps going on until you lose all your money or interrupt the program.

The original program author was Bill Palmby of Prairie View, Illinois.

Code Listing (Small Basic File: aceyducy.sb):

TextWindow.CursorLeft = 26 
TextWindow.WriteLine("ACEY DUCEY CARD GAME") 
TextWindow.CursorLeft = 15 
TextWindow.WriteLine("BIBLEBYTE BOOKS, MAPLE VALLEY, WASHINGTON") 
TextWindow.WriteLine("") 
TextWindow.WriteLine("") 
TextWindow.WriteLine("ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER ") 
TextWindow.WriteLine("THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP") 
TextWindow.WriteLine("YOU HAVE AN OPTION TO BET OR NOT BET DEPENDING") 
TextWindow.WriteLine("ON WHETHER OR NOT YOU FEEL THE CARD WILL HAVE") 
TextWindow.WriteLine("A VALUE BETWEEN THE FIRST TWO.") 
TextWindow.WriteLine("IF YOU DO NOT WANT TO BET, INPUT A 0") 
N=100
LN110:
Q=100
LN120: 
TextWindow.WriteLine("YOU NOW HAVE " + Q +" DOLLARS.") 
TextWindow.WriteLine("") 
Goto LN260 
LN210: 
Q=Q+M 
Goto LN120 
LN240: 
Q=Q-M 
Goto LN120 
LN260: 
TextWindow.WriteLine("HERE ARE YOUR NEXT TWO CARDS:") 
LN270: 
A=Math.GetRandomNumber(14) + 1 
If A<2 Then
  Goto LN270 
EndIf 
If A>14 Then 
  Goto LN270 
EndIf 
LN300: 
B=Math.GetRandomNumber(14) + 1 
If B<2 Then 
  Goto LN300 
EndIf 
If B>14 Then 
  Goto LN300 
EndIf 
If A>=B Then 
  Goto LN270 
EndIf 
If A<11 Then 
  Goto LN400 
EndIf 
If A=11 Then 
  Goto LN420 
EndIf 
If A=12 Then 
  Goto LN440 
EndIf 
If A=13 Then 
  Goto LN460 
EndIf 
If A=14 Then 
  Goto LN480 
EndIf 
LN400: 
TextWindow.WriteLine(A) 
Goto LN500 
LN420: 
TextWindow.WriteLine("JACK") 
Goto LN500 
LN440: 
TextWindow.WriteLine("QUEEN") 
Goto LN500 
LN460: 
TextWindow.WriteLine("KING") 
Goto LN500 
LN480: 
TextWindow.WriteLine("ACE") 
LN500: 
If B<11 Then 
  Goto LN550 
EndIf 
If B=11 Then 
  Goto LN570 
EndIf 
If B=12 Then 
  Goto LN590 
EndIf 
If B=13 Then 
  Goto LN610 
EndIf 
If B=14 Then 
  Goto LN630 
EndIf 
LN550: 
TextWindow.WriteLine(B) 
Goto LN650 
LN570: 
TextWindow.WriteLine("JACK") 
Goto LN650 
LN590: 
TextWindow.WriteLine("QUEEN") 
Goto LN650 
LN610: 
TextWindow.WriteLine("KING") 
Goto LN650 
LN630: 
TextWindow.WriteLine("ACE") 
TextWindow.WriteLine("") 
LN650: 
TextWindow.WriteLine("") 
TextWindow.Write("WHAT IS YOUR BET ") 
M = TextWindow.ReadNumber() 
If M<>0 Then 
  Goto LN680 
EndIf 
TextWindow.WriteLine("CHICKEN!!") 
TextWindow.WriteLine("") 
Goto LN260 
LN680: 
If M<=Q Then 
  Goto LN730 
EndIf 
TextWindow.WriteLine("SORRY, MY FRIEND, BUT YOU BET TOO MUCH.") 
TextWindow.WriteLine("YOU HAVE ONLY "+Q+" DOLLARS TO BET.") 
Goto LN650 
LN730: 
C=Math.GetRandomNumber(14) + 1 
If C<2 Then 
  Goto LN730 
EndIf 
If C>14 Then 
  Goto LN730 
EndIf 
If C<11 Then 
  Goto LN810 
EndIf 
If C=11 Then 
  Goto LN830 
EndIf 
If C=12 Then 
  Goto LN850 
EndIf 
If C=13 Then 
  Goto LN870 
EndIf 
If C=14 Then 
  Goto LN890 
EndIf 
LN810: 
TextWindow.WriteLine(C) 
Goto LN910 
LN830: 
TextWindow.WriteLine("JACK") 
Goto LN910 
LN850: 
TextWindow.WriteLine("QUEEN") 
Goto LN910 
LN870: 
TextWindow.WriteLine("KING") 
Goto LN910 
LN890: 
TextWindow.WriteLine("ACE") 
TextWindow.WriteLine("") 
LN910: 
If C>A Then 
  Goto LN930 
EndIf 
Goto LN970 
LN930: 
If C>=B Then 
  Goto LN970 
EndIf 
TextWindow.WriteLine("YOU WIN!!!") 
Goto LN210 
LN970: 
TextWindow.WriteLine("SORRY, YOU LOSE") 
If M<Q Then
  Goto LN240
EndIf
TextWindow.WriteLine("")
TextWindow.WriteLine("")
TextWindow.WriteLine("SORRY, FRIEND, BUT YOU BLEW YOUR WAD.")
TextWindow.WriteLine("")
TextWindow.WriteLine("")
TextWindow.Write("TRY AGAIN (YES OR NO) ")
AString = TextWindow.Read()
TextWindow.WriteLine("")
TextWindow.WriteLine("")
If AString="YES" Then
  Goto LN110
EndIf
TextWindow.WriteLine("O.K., HOPE YOU HAD FUN!")

This chapter is adapted from the book Basic Computer Games Small Basic Edition published by Kidware Software.

To purchase this book in its entirety, please see the Computer Science For Kids web site.

Sample Run:

Next Chapter > >

Excerpt © Copyright 2010-2013 By Kidware Software LLC All Rights Reserved. Computer Science For Kids, the Computer Science For Kids logo, and related trade dress are trademarks or registered trademarks of Kidware Software LLC. Philip Conrod & Lou Tylee have co-authored dozens of books and tutorials for beginning Microsoft Basic, Small Basic, Visual Basic, and Visual C# developers of all ages for over 25 years.