Strange ASIC bug


There are a bunch of bugs that appear on the ASIC-compiled binary. They are not likely to show when running the source from gwbasic/pc-basic, qbasic or qb64.

  • I still don't understand how to get extended keycodes in ASIC,
  • The computer won't always fill a 5/6 completed hex if the missing wall is shared with a 4/6 completed hex. 4/6 completed hexes get a negative AI score, but, when their missing wall is the last of a 5/6 completed hex, they get a positive score. This comparison is present both in the original gw-basic source and in the ASIC-compiled one. But it does not seem to be working in ASIC.
  • An error about an hex with more than 6 completed walls is shown. The strange thing is the error is designed to be  triggered if any hexagon gets more than 6 walls, and the error trigged says "Error: HEX(3)= 6" (i.e. hexagon 3 has 6  walls). Again, the comparison operator is ">" (not ">="), and the comparison should not trigger an error if the second element is 6. So there is an error related to the DECIMAL type of ASIC.
    You can test this error by running this in ASIC:
A=2
B=1
LABEL:
PRINT B
B=B+1
IF B>A THEN
    GOTO LABEL:
END IF

The expected output is 1 2 3, but the program output is 1 2.

Get Hexagono (dos COM console game)

Comments

Log in with itch.io to leave a comment.

IF A>B THEN....