Merge pull request #510 from pcholt/main

Add @jkboyce 's bug discoveries to the super star trek readme
This commit is contained in:
Jeff Atwood
2022-01-15 20:39:44 -08:00
committed by GitHub
25 changed files with 192 additions and 6 deletions

5
.gitignore vendored
View File

@@ -2,9 +2,8 @@
.vscode/
.gradle/
node_modules/
buildJvm/
build.gradle
buildJvm/bin
buildJvm/*/build/
.classpath
.project

View File

@@ -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(" "); }

View File

@@ -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.
@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
- line `440` : `B9` should be initialised to 0, not 2
---
As published in Basic Computer Games (1978):

View File

@@ -0,0 +1,2 @@
gameSource=07_Basketball/java
gameMain=Basketball

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=09_Battle/java
gameMain=Battle

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=29_Craps/java/src
gameMain=Craps

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=30_Cube/java/src
gameMain=Cube

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=48_High_IQ/java/src
gameMain=HighIQGame

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=63_Name/java
gameMain=Name

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=66_Number/java/1
gameMain=Number

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=66_Number/java/2
gameMain=Number

View File

@@ -1,2 +0,0 @@
gameSource=66_Number/java
gameMain=Number

View File

@@ -0,0 +1,19 @@
plugins {
id 'application'
}
sourceSets {
main {
java {
srcDirs "../../$gameSource"
}
}
}
repositories {
mavenCentral()
}
application {
mainClass = gameMain
}

View File

@@ -0,0 +1,2 @@
gameSource=71_Poker/java
gameMain=Poker

View File

@@ -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,12 +54,15 @@ 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_66_Number1_java"
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"