Comments (11)
This bug is fixed, thanks! Thanks for supporting code your wrote almost a year ago @journich
However, I think there is another inconsistency in the damage calculation. I noticed I wasn't getting shot down nearly often enough when selecting choice 3 (both) and looked at the code.
Lines 289 case GUNS: is commented that it's identical code to case BOTH. This is incorrect. Case BOTH should apply chanceToBeHit as well as percentageHitRateOfCunners while case GUNS should only apply the latter.
These are analogous to T and S in the original basic code.
Line 350 runs the percent hit rate code unless choice 2 is made while line 360 applies the extra 35 if the choice is greater than one.
from basic-computer-games.
git log --follow
suggests that @journich might be the author of BombsAway.java
from basic-computer-games.
Thanks for reporting this @havoclad - I have uploaded a fix for this and for some missing functionality from the original game. Please test and let me know if you have any other problems. @coding-horror FYI.
from basic-computer-games.
I'm using Vintage Basic
from basic-computer-games.
aha did we contact the person who submitted the pull request?
from basic-computer-games.
Thanks @havoclad - I totally missed that and the fix is in place now. Please take a look. In my testing I certainly get shot down a lot more when selecting BOTH, although it is still possible to succeed.
What BASIC interpreter are you using to test? I am using Chipmunk BASIC on a Mac with Apple Silicon and the very first time I play a game from scratch I always get a direct hit, but when I select Y to play again it seems to function normally.
from basic-computer-games.
That's another open question, what's the "official" way to verify the original BASIC code behavor?
Would be nice if we had a web-based VM for this
from basic-computer-games.
This book also has a bug in this program which bombsaway.bas in this repo does not. I wonder when it was addressed?
It wasn't fixed in the way I did back in '79 or so. I remember because it was the first time I found a bug in something published, lol.
https://annarchive.com/files/Basic_Computer_Games_Microcomputer_Edition.pdf has the version I remember.
207 IF F$="N" THEN S=0 : GOTO 358
There is no 358 :) It seems obvious to me that GOTO 357 was meant, after all. To get to line 207 the user just claimed that he or she was not on their first kamikaze mission. Setting S to 0 right before the GOTO clinches it, it should go to 357 with the great line, "YOU LIE, BUT YOU'LL PAY..."
from basic-computer-games.
Thanks @havoclad I'll give Vintage Basic a go and see how it turns out.
I can't answer that question about the bug being fixed. It would be good to know for sure which original version of the code we are using to create our ports of the game.
Maybe the bugfixes got fixed in a reprint of the book?
from basic-computer-games.
That's another open question, what's the "official" way to verify the original BASIC code behavor? 🤔
Would be nice if we had a web-based VM for this
@coding-horror I had a little hunt for a web-based VM but the ones I played around with had problems with multiple statements on the one line and the use of TAB to add spaces to output.
i.e.
PRINT "TRY AGAIN..." : GOTO 10
and
PRINT TAB(26);"ACEY DUCEY CARD GAME"
from basic-computer-games.
Closing this one as I believe the bug is fixed. Let me know @havoclad if you have any other issues.
Thanks for your help in finding the bugs and testing.
from basic-computer-games.
Related Issues (20)
- terminal emulator on mobile
- Syncing fork since commit history edit. HOT 3
- terminal_style.css pegs cpu usage HOT 1
- Mastermind.py has trouble counting black and white pegs. HOT 5
- Typo in the Basic and JavaScript versions of SALVO HOT 2
- hangman.rb doesn't randomize the order of puzzle words HOT 9
- Are less mainstream languages allowed? HOT 4
- DEC Basic Computer Games HOT 2
- A little more about the spirit of the project??? HOT 6
- Super Star Trek README has a typo that's a rude word. HOT 1
- Edited latest commit requesting review for pull request (Life for Two.py)
- Super Star Trek - Ship class does not work correctly HOT 2
- A function never called in tictactoe2.py HOT 1
- Hacktoberfest HOT 1
- Confusion between 91_Train and 92_Trap Rust HOT 3
- 84_Super_Star_Trek java issues HOT 1
- Lunar lander initial weight HOT 1
- Battle doesn't seem to accept the num,num format suggested in the readme HOT 4
- Python Acey-Ducey has a "1" card instead of the "10" HOT 5
- Code decomposition question HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from basic-computer-games.