diff --git a/00_Alternate_Languages/18_Bullseye/MiniScript/README.md b/00_Alternate_Languages/18_Bullseye/MiniScript/README.md new file mode 100644 index 00000000..2c353d26 --- /dev/null +++ b/00_Alternate_Languages/18_Bullseye/MiniScript/README.md @@ -0,0 +1,19 @@ +Original source downloaded from [Vintage Basic](http://www.vintage-basic.net/games.html). + +Conversion to [MiniScript](https://miniscript.org). + +Ways to play: + +0. Try-It! Page: +Go to https://miniscript.org/tryit/, clear the sample code from the code editor, and paste in the contents of bullseye.ms. Then click the "Run Script" button. Program output (and input) will appear in the green-on-black terminal display to the right of or below the code editor. + +1. Command-Line MiniScript: +Download for your system from https://miniscript.org/cmdline/, install, and then run the program with a command such as: + + miniscript bullseye.ms + +2. Mini Micro: +Download Mini Micro from https://miniscript.org/MiniMicro/, launch, and then click the top disk slot and chose "Mount Folder..." Select the folder containing the BASIC program. Then, at the Mini Micro command prompt, enter: + + load "bullseye" + run diff --git a/00_Alternate_Languages/18_Bullseye/MiniScript/bullseye.ms b/00_Alternate_Languages/18_Bullseye/MiniScript/bullseye.ms new file mode 100644 index 00000000..10dc95ca --- /dev/null +++ b/00_Alternate_Languages/18_Bullseye/MiniScript/bullseye.ms @@ -0,0 +1,59 @@ +print " "*32 + "Bullseye" +print " "*15 + "Creative Computing Morristown, New Jersey" +print; print; print + +print "In this game, up to 20 players throw darts at a target" +print "with 10, 20, 30, and 40 point zones. the objective is" +print "to get 200 points."; print +print "throw description probable score" +print " 1 fast overarm bullseye or complete miss" +print " 2 controlled overarm 10, 20 or 30 points" +print " 3 underarm anything";print +names = [] +n = input("How many players? ").val; print +for i in range(0, n-1) + names.push input("Name of player #" + (i+1) + "? ") +end for +scores = [0] * n + +round = 0 +while true + round += 1; print; print "round " + round; print "---------" + for i in range(0, n-1) + while true + print; t = input(names[i] + "'s throw? ").val + if 1 <= t <= 3 then break + print "Input 1, 2, or 3!" + end while + if t == 1 then + p1=.65; p2=.55; p3=.5; p4=.5 + else if t == 2 then + p1=.99; p2=.77; p3=.43; p4=.01 + else + p1=.95; p2=.75; p3=.45; p4=.05 + end if + u = rnd + if u>=p1 then + print "Bullseye!! 40 points!"; b=40 + else if u>=p2 then + print "30-point zone!"; b=30 + else if u>=p3 then + print "20-point zone"; b=20 + else if u>=p4 then + print "Whew! 10 points."; b=10 + else + print "Missed the target! too bad."; b=0 + end if + scores[i] += b; print "Total score = " + scores[i] + end for + winners = [] + for i in range(0, n-1) + if scores[i] >= 200 then winners.push i + end for + if winners then break +end while + +print; print "We have a winner!!"; print +for i in winners; print names[i] + " scored " + scores[i] + " points."; end for +print; print "Thanks for the game." +