simon987 / Much-Assembly-Required

Assembly programming game
https://muchassemblyrequired.com
GNU General Public License v3.0
925 stars 87 forks source link

Radioactive Detection Implemented #235

Open khalludi opened 3 years ago

khalludi commented 3 years ago

I implemented the radioactive detection with alpha particles. I've tested the helper methods separately to make sure they work and the project builds, but I haven't been able to test the handleInterrupt() function in-game. Part of this is due to me still figuring out how to make the cubot move XD.

I know the initial issue stated that there should be beta and gamma radiation, but I'm not sure how all three types of radiation will tie into the game, so I only implemented Alpha Radiation. When/If there is a need for beta and gamma, the code can be written quite easily.

Again, this is a draft PR. If someone can test it in-game before I can and let me know what the correct HW_ID should be, this PR can go into prod.

Let me know your thoughts.

Original Issue #136 .

simon987 commented 3 years ago

Hi, thanks a lot for taking the time to contribute.

Alpha/gamma/beta radiation can be implemented with different 'getCounts()' function (e.g. getAlphaCounts(), getBetaCounts() etc), they also have a different constants for impassable blocks in the path.

I've been meaning to implement unit testing for this kind of changes for a while, I'll build some fixture classes that you will be able to use to test the new hardware module.

In the meantime I noted some little changes you can work on

khalludi commented 3 years ago

Implemented suggestions and added Beta and Gamma particle functions.