X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=doc%2FHACKING;h=cfc811e1e1c0ab15e7a506f9bb08111348aa0a0c;hp=0babf5cd6fe110ea5a6558d2265b70ffa8f0e6f7;hb=cd424d0d1d9dcca9adf104d8615896b9432da8b6;hpb=eb1a46f740c64b52a9eea0a08959d46e41189510 diff --git a/doc/HACKING b/doc/HACKING index 0babf5c..cfc811e 100644 --- a/doc/HACKING +++ b/doc/HACKING @@ -191,7 +191,7 @@ probability of being damaged." This is one place where OPTION_PLAIN does not restore the original behavior, which was equiprobable damage across all devices. If we wanted that, we'd return randrange(NDEVICES) and have done with it. -Also, in the original game, DNAVYS and DCOMPTR were the same device. +Also, in the original game, DNAVSYS and DCOMPTR were the same device. Instead, we use a table of weights similar to the one from BSD Trek. BSD doesn't have the shuttle, shield controller, death ray, or probes. @@ -210,27 +210,38 @@ and added more: the LRSCAN command is no longer needed. (Controlled by OPTION_AUTOSCAN and turned off if game type is "plain" or "almy".) +10. I imported Tom Almy's SCORE, CAPTURE, and CLOAK command from his +2013 version. + +11. I added color. + TESTING: This code has been designed to be tested. A simple shellscript included in the distribution, 'replay', automatically reruns the last game you played. -Here are some interesting seeds for debugging and regression testing -For each one, I list the seed, the options, and the last svn revision -for which it is known to have given the described behavior. +See the "test" directory for regression-test logs and checkfiles. +Please run 'make check' every time you change this game to be sure +you haven't broken anything. + +When you fix a bug, add the log of the game that triggered it (and +a checkfile) to the regression tests. This is how we improve the code +coverage of the suite. -1160647745 regular short good fancy (r769) +Two things to do to the log before dropping it in the test directory: -Starts you in a quadrant with the Super-Commander in it. Slamming three -torps at him will kill him. You can use this to regression-test both -torpedo tracks and the Deep Space Probe. Known bug: "probe aut 2 8" -triggers manual navigation. +(a) Strip out all lines beginning with "#curses:" - these are for debugging +the curses interface and are not needed or regression testing; removing +them makes it easier to see the game commands. -1160707235 regular short good fancy (r769) +(b) Add a header comment line explaining what the log is a test for. +It should begin with "# Tests". This is what gets echoed before each +regression test is run. -Do sr/mov aut 5 4/sr/sensors/orbit/transport; you'll get a transporter -failure. +Then drop it into the test directory and "make buildregress" to create +the check file. (Don't forget to commit and push the log and checkfile +to the repository.) NOTES ON THE PYTHON TRANSLATION: