From db1cf6d1d3a862afee60a942b95584688d9e040c Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 01:48:34 +1100 Subject: [PATCH 1/7] Add bug descriptions discovered by Jack Boyce in Super Star Trek to the main game description. --- 84_Super_Star_Trek/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/84_Super_Star_Trek/README.md b/84_Super_Star_Trek/README.md index 77fae3d8..28bd3c03 100644 --- a/84_Super_Star_Trek/README.md +++ b/84_Super_Star_Trek/README.md @@ -88,6 +88,17 @@ The relation between the Historical and Standard nomenclatures is shown in the s 15. This version of Star Trek was created for a Data General Nova 800 system with 32K or core. So that it would fit, the instructions are separated from the main program via a CHAIN. For conversion to DEC BASIC-PLUS, Statement 160 (Randomize) should be moved after the return from the chained instructions, say to Statement 245. For Altair BASIC, Randomize and the chain instructions should be eliminated. +--- +#### Bugs + +Many of the programs in this book and this collection have bugs in the original code. + +Jack Boyce has discovered and fixed a number of bugs in his [python implementation](python/superstartrek.py), which should be noted by other implementers: + +- line `4410` : `D(7)` should be `D(6)` +- lines `8310`,`8330`,`8430`,`8450` : Division by zero is possible +- line `440` : `B9` should be initialised to 0, not 2 + --- As published in Basic Computer Games (1978): From 4c9b627baf56708190ef4a778ea96f02e463aa0a Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 12:30:34 +1100 Subject: [PATCH 2/7] Update with link to give credit where it is due, @jkboyce --- 84_Super_Star_Trek/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/84_Super_Star_Trek/README.md b/84_Super_Star_Trek/README.md index 28bd3c03..e47c90b7 100644 --- a/84_Super_Star_Trek/README.md +++ b/84_Super_Star_Trek/README.md @@ -93,7 +93,7 @@ The relation between the Historical and Standard nomenclatures is shown in the s Many of the programs in this book and this collection have bugs in the original code. -Jack Boyce has discovered and fixed a number of bugs in his [python implementation](python/superstartrek.py), which should be noted by other implementers: +@jkboyce has done a great job of discovering and fixing a number of bugs in the [original code](superstartrek.bas), as part of his [python implementation](python/superstartrek.py), which should be noted by other implementers: - line `4410` : `D(7)` should be `D(6)` - lines `8310`,`8330`,`8430`,`8450` : Division by zero is possible From e8a3197eb70bebe70f27fc25a9622e5e4d33e801 Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 13:09:47 +1100 Subject: [PATCH 3/7] Name should have an uppercase class name, and the correct file suffix. --- 63_Name/java/{main.class => Name.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename 63_Name/java/{main.class => Name.java} (98%) diff --git a/63_Name/java/main.class b/63_Name/java/Name.java similarity index 98% rename from 63_Name/java/main.class rename to 63_Name/java/Name.java index db01b014..7b67f489 100644 --- a/63_Name/java/main.class +++ b/63_Name/java/Name.java @@ -1,7 +1,7 @@ import java.util.Arrays; import java.util.Scanner; -public class main { +public class Name { public static void printempty() { System.out.println(" "); } From 919c4bb85a2fe647bd1fe64bf809e0c7d359e6ea Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 13:24:12 +1100 Subject: [PATCH 4/7] Stop ignoring buildJvm and build.gradle files in gitignore! Add build files for some of the new games Basketball java Battle java Craps java Cube java High IQ java Name java --- .gitignore | 5 ++--- .../build_07_Basketball_java/build.gradle | 19 +++++++++++++++++++ .../gradle.properties | 2 ++ buildJvm/build_09_Battle_java/build.gradle | 19 +++++++++++++++++++ .../build_09_Battle_java/gradle.properties | 2 ++ buildJvm/build_29_Craps_java/build.gradle | 19 +++++++++++++++++++ .../build_29_Craps_java/gradle.properties | 2 ++ buildJvm/build_30_Cube_java/build.gradle | 19 +++++++++++++++++++ buildJvm/build_30_Cube_java/gradle.properties | 2 ++ buildJvm/build_48_High_IQ_java/build.gradle | 19 +++++++++++++++++++ .../build_48_High_IQ_java/gradle.properties | 2 ++ buildJvm/build_63_Name_java/build.gradle | 19 +++++++++++++++++++ buildJvm/build_63_Name_java/gradle.properties | 2 ++ buildJvm/settings.gradle | 6 ++++++ 14 files changed, 134 insertions(+), 3 deletions(-) create mode 100644 buildJvm/build_07_Basketball_java/build.gradle create mode 100644 buildJvm/build_07_Basketball_java/gradle.properties create mode 100644 buildJvm/build_09_Battle_java/build.gradle create mode 100644 buildJvm/build_09_Battle_java/gradle.properties create mode 100644 buildJvm/build_29_Craps_java/build.gradle create mode 100644 buildJvm/build_29_Craps_java/gradle.properties create mode 100644 buildJvm/build_30_Cube_java/build.gradle create mode 100644 buildJvm/build_30_Cube_java/gradle.properties create mode 100644 buildJvm/build_48_High_IQ_java/build.gradle create mode 100644 buildJvm/build_48_High_IQ_java/gradle.properties create mode 100644 buildJvm/build_63_Name_java/build.gradle create mode 100644 buildJvm/build_63_Name_java/gradle.properties diff --git a/.gitignore b/.gitignore index 3412076c..64e591f9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,8 @@ .vscode/ .gradle/ node_modules/ -buildJvm/ - -build.gradle +buildJvm/bin +buildJvm/*/build/ .classpath .project diff --git a/buildJvm/build_07_Basketball_java/build.gradle b/buildJvm/build_07_Basketball_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_07_Basketball_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_07_Basketball_java/gradle.properties b/buildJvm/build_07_Basketball_java/gradle.properties new file mode 100644 index 00000000..c648f900 --- /dev/null +++ b/buildJvm/build_07_Basketball_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=07_Basketball/java +gameMain=Basketball diff --git a/buildJvm/build_09_Battle_java/build.gradle b/buildJvm/build_09_Battle_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_09_Battle_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_09_Battle_java/gradle.properties b/buildJvm/build_09_Battle_java/gradle.properties new file mode 100644 index 00000000..d694e2df --- /dev/null +++ b/buildJvm/build_09_Battle_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=09_Battle/java +gameMain=Battle diff --git a/buildJvm/build_29_Craps_java/build.gradle b/buildJvm/build_29_Craps_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_29_Craps_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_29_Craps_java/gradle.properties b/buildJvm/build_29_Craps_java/gradle.properties new file mode 100644 index 00000000..32b614fe --- /dev/null +++ b/buildJvm/build_29_Craps_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=29_Craps/java/src +gameMain=Craps diff --git a/buildJvm/build_30_Cube_java/build.gradle b/buildJvm/build_30_Cube_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_30_Cube_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_30_Cube_java/gradle.properties b/buildJvm/build_30_Cube_java/gradle.properties new file mode 100644 index 00000000..13f1b6e5 --- /dev/null +++ b/buildJvm/build_30_Cube_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=30_Cube/java/src +gameMain=Cube diff --git a/buildJvm/build_48_High_IQ_java/build.gradle b/buildJvm/build_48_High_IQ_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_48_High_IQ_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_48_High_IQ_java/gradle.properties b/buildJvm/build_48_High_IQ_java/gradle.properties new file mode 100644 index 00000000..ec7588fc --- /dev/null +++ b/buildJvm/build_48_High_IQ_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=48_High_IQ/java/src +gameMain=HighIQGame diff --git a/buildJvm/build_63_Name_java/build.gradle b/buildJvm/build_63_Name_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_63_Name_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_63_Name_java/gradle.properties b/buildJvm/build_63_Name_java/gradle.properties new file mode 100644 index 00000000..e5c44f96 --- /dev/null +++ b/buildJvm/build_63_Name_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=63_Name/java +gameMain=Name diff --git a/buildJvm/settings.gradle b/buildJvm/settings.gradle index d7b28da3..f2f936c7 100644 --- a/buildJvm/settings.gradle +++ b/buildJvm/settings.gradle @@ -13,7 +13,9 @@ include ":build_03_Animal_java" include ":build_04_Awari_java" include ":build_05_Bagels_java" include ":build_06_Banner_java" +include ":build_07_Basketball_java" include ":build_08_Batnum_java" +include ":build_09_Battle_java" include ":build_11_Bombardment_java" include ":build_12_Bombs_Away_java" include ":build_13_Bounce_java" @@ -29,6 +31,8 @@ include ":build_24_Chemist_java" include ":build_25_Chief_java" include ":build_26_Chomp_java" include ":build_28_Combat_java" +include ":build_29_Craps_java" +include ":build_30_Cube_java" include ":build_31_Depth_Charge_java" include ":build_32_Diamond_java" include ":build_33_Dice_java" @@ -42,6 +46,7 @@ include ":build_43_Hammurabi_java" include ":build_44_Hangman_java" include ":build_45_Hello_java" include ":build_47_Hi-Lo_java" +include ":build_48_High_IQ_java" include ":build_51_Hurkle_java" include ":build_52_Kinema_java" include ":build_54_Letter_java" @@ -49,6 +54,7 @@ include ":build_57_Literature_Quiz_java" include ":build_58_Love_java" include ":build_61_Math_Dice_java" include ":build_62_Mugwump_java" +include ":build_63_Name_java" include ":build_64_Nicomachus_java" include ":build_66_Number_java" include ":build_67_One_Check_java" From d7354715a43d89a4a6169813f1edf22146ed31e2 Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 13:31:53 +1100 Subject: [PATCH 5/7] Second version of number has the wrong file name, and class names clashed. Added buildscript for Number1 --- 66_Number/java/{main.class => Number1.java} | 2 +- buildJvm/build_66_Number1_java/build.gradle | 19 +++++++++++++++++++ .../build_66_Number1_java/gradle.properties | 2 ++ buildJvm/settings.gradle | 1 + 4 files changed, 23 insertions(+), 1 deletion(-) rename 66_Number/java/{main.class => Number1.java} (99%) create mode 100644 buildJvm/build_66_Number1_java/build.gradle create mode 100644 buildJvm/build_66_Number1_java/gradle.properties diff --git a/66_Number/java/main.class b/66_Number/java/Number1.java similarity index 99% rename from 66_Number/java/main.class rename to 66_Number/java/Number1.java index c3df4ebf..c1d71bda 100644 --- a/66_Number/java/main.class +++ b/66_Number/java/Number1.java @@ -4,7 +4,7 @@ import java.util.Arrays; import java.util.Random; import java.util.Scanner; -public class Number { +public class Number1 { public static int points = 0; diff --git a/buildJvm/build_66_Number1_java/build.gradle b/buildJvm/build_66_Number1_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_66_Number1_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_66_Number1_java/gradle.properties b/buildJvm/build_66_Number1_java/gradle.properties new file mode 100644 index 00000000..b1e8e2b8 --- /dev/null +++ b/buildJvm/build_66_Number1_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=66_Number/java +gameMain=Number1 diff --git a/buildJvm/settings.gradle b/buildJvm/settings.gradle index f2f936c7..4053a735 100644 --- a/buildJvm/settings.gradle +++ b/buildJvm/settings.gradle @@ -57,6 +57,7 @@ include ":build_62_Mugwump_java" include ":build_63_Name_java" include ":build_64_Nicomachus_java" include ":build_66_Number_java" +include ":build_66_Number1_java" include ":build_67_One_Check_java" include ":build_68_Orbit_java" include ":build_69_Pizza_java" From 09e1016772be929b9bacc255157231a5ef9eec98 Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 13:35:09 +1100 Subject: [PATCH 6/7] Added buildscript for Poker --- buildJvm/build_71_Poker_java/build.gradle | 19 +++++++++++++++++++ .../build_71_Poker_java/gradle.properties | 2 ++ buildJvm/settings.gradle | 1 + 3 files changed, 22 insertions(+) create mode 100644 buildJvm/build_71_Poker_java/build.gradle create mode 100644 buildJvm/build_71_Poker_java/gradle.properties diff --git a/buildJvm/build_71_Poker_java/build.gradle b/buildJvm/build_71_Poker_java/build.gradle new file mode 100644 index 00000000..3432056c --- /dev/null +++ b/buildJvm/build_71_Poker_java/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'application' +} + +sourceSets { + main { + java { + srcDirs "../../$gameSource" + } + } +} + +repositories { + mavenCentral() +} + +application { + mainClass = gameMain +} diff --git a/buildJvm/build_71_Poker_java/gradle.properties b/buildJvm/build_71_Poker_java/gradle.properties new file mode 100644 index 00000000..07033ee5 --- /dev/null +++ b/buildJvm/build_71_Poker_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=71_Poker/java +gameMain=Poker diff --git a/buildJvm/settings.gradle b/buildJvm/settings.gradle index 4053a735..6d4824e6 100644 --- a/buildJvm/settings.gradle +++ b/buildJvm/settings.gradle @@ -62,6 +62,7 @@ include ":build_67_One_Check_java" include ":build_68_Orbit_java" include ":build_69_Pizza_java" include ":build_70_Poetry_java" +include ":build_71_Poker_java" include ":build_73_Reverse_java" include ":build_74_Rock_Scissors_Paper_java" include ":build_76_Russian_Roulette_java" From d95e6cd3f0b160337cfff0aca3ee3177be7eb044 Mon Sep 17 00:00:00 2001 From: Paul Holt Date: Sun, 16 Jan 2022 13:45:52 +1100 Subject: [PATCH 7/7] Change buildscript for two versions of Number --- 66_Number/java/{Number1.java => 1/Number.java} | 2 +- 66_Number/java/{ => 2}/Number.java | 0 buildJvm/build_66_Number1_java/gradle.properties | 4 ++-- .../build.gradle | 0 buildJvm/build_66_Number2_java/gradle.properties | 2 ++ buildJvm/build_66_Number_java/gradle.properties | 2 -- 6 files changed, 5 insertions(+), 5 deletions(-) rename 66_Number/java/{Number1.java => 1/Number.java} (99%) rename 66_Number/java/{ => 2}/Number.java (100%) rename buildJvm/{build_66_Number_java => build_66_Number2_java}/build.gradle (100%) create mode 100644 buildJvm/build_66_Number2_java/gradle.properties delete mode 100644 buildJvm/build_66_Number_java/gradle.properties diff --git a/66_Number/java/Number1.java b/66_Number/java/1/Number.java similarity index 99% rename from 66_Number/java/Number1.java rename to 66_Number/java/1/Number.java index c1d71bda..c3df4ebf 100644 --- a/66_Number/java/Number1.java +++ b/66_Number/java/1/Number.java @@ -4,7 +4,7 @@ import java.util.Arrays; import java.util.Random; import java.util.Scanner; -public class Number1 { +public class Number { public static int points = 0; diff --git a/66_Number/java/Number.java b/66_Number/java/2/Number.java similarity index 100% rename from 66_Number/java/Number.java rename to 66_Number/java/2/Number.java diff --git a/buildJvm/build_66_Number1_java/gradle.properties b/buildJvm/build_66_Number1_java/gradle.properties index b1e8e2b8..ab62d4b8 100644 --- a/buildJvm/build_66_Number1_java/gradle.properties +++ b/buildJvm/build_66_Number1_java/gradle.properties @@ -1,2 +1,2 @@ -gameSource=66_Number/java -gameMain=Number1 +gameSource=66_Number/java/1 +gameMain=Number diff --git a/buildJvm/build_66_Number_java/build.gradle b/buildJvm/build_66_Number2_java/build.gradle similarity index 100% rename from buildJvm/build_66_Number_java/build.gradle rename to buildJvm/build_66_Number2_java/build.gradle diff --git a/buildJvm/build_66_Number2_java/gradle.properties b/buildJvm/build_66_Number2_java/gradle.properties new file mode 100644 index 00000000..cc390231 --- /dev/null +++ b/buildJvm/build_66_Number2_java/gradle.properties @@ -0,0 +1,2 @@ +gameSource=66_Number/java/2 +gameMain=Number diff --git a/buildJvm/build_66_Number_java/gradle.properties b/buildJvm/build_66_Number_java/gradle.properties deleted file mode 100644 index 1920c595..00000000 --- a/buildJvm/build_66_Number_java/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -gameSource=66_Number/java -gameMain=Number