Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

I hope you are happy now. I had to make separate versions. I just reverted cursor keys as they were. I have no idea how to implement CS + Cursor in BASIC and how to test it without real hardware.

Excellent! Thanks very much for your efforts; three separate alternatives, each with appropriate instructions, is very thorough! :-)

As for your point about detecting CS + Cursor keys in BASIC… I think it should be straightforward enough (and works fine in emulators). I've just looked at the listing, and I'm interested to see that in the Interface II version you're testing for G=IN 61438, whereas in the other two versions you're testing for INKEY$="5", "6", "7" and "8" (or q, a, o, p). I'm not sure why you have that distinction between IN and INKEY$ in the different versions.

Anyway, regardless of that, the shifted cursor keys (and the dedicated cursor keys on + keyboards) just produce the ASCII codes for cursor movement, i.e. Left = 8, Right = 9, Down = 10, Up = 11. So the amendments to the Cursor version of your listing – where you have LET G$=INKEY$ – in lines 2–5 would be:

• IF G$="5" OR CODE G$=8 THEN … REM left
• IF G$="6" OR CODE G$=10 THEN … REM down
• IF G$="7" OR CODE G$=11 THEN … REM up
• IF G$="8" OR CODE G$=9 THEN … REM right

I've made those changes to a snapshot of my copy here, for testing purposes, and I can confirm that it works fine (tested in an emulator). The game now responds properly to the cursor keys with and without shift, so it should also work properly with the arrow keys on a + keyboard if you added these four small changes.

Anyway, that's my last remaining suggestion. :-) Many thanks again for your work.