George,

One more thing to think about if you are looking to increase speed. When BASIC encounters a GOTO / GOSUB to a line number that is lower than the current line number, it has to start from the beginning of the program and search forward for it. So putting all of the initialization code LAST (i.e higher line numbers) would prevent BASIC from having to scan past those lines every time. Something like "10 GOSUB 20000", then move lines 1000-2999 up to the 20000 space.

Not sure how much it would improve speed, but thought I would share.

Ken

On 4/15/17 8:08 AM, George M Rimakis wrote:

Sorry to spam you all with my game like this, but I made one more change to convert my String array to an Int array storing ASCII codes instead.

What this has accomplished is to prevent the need for the String garbage cleanup during the portion of the program where it checks for nearby mines and then prints to the screen all the cleared cells. I determined that the String garbage collection was causing that part to hang and slow down significantly as well.

*From:*M100 [mailto:[email protected]] *On Behalf Of *John R. Hogerhuis
*Sent:* Saturday, April 15, 2017 12:10 AM
*To:* Model 100 Discussion <[email protected]>
*Subject:* Re: [M100] Finally won a round of Text Sweeper

On Fri, Apr 14, 2017 at 8:56 PM, George Rimakis <[email protected] <mailto:[email protected]>> wrote:

    Hi John,

    Thanks for the tips. I was able to replicate the issue myself. I
    was trying to break and see what line BASIC was on, but as you
    said, it appears to just be "busy".

    I'll try to implement the INKEY differently.

    In other news, I fixed the slowness in the calc'ing the minefield.
    It needs a few more tweaks, but I'll post the new version tomorrow
    when it's ready

It tried out the INSTR solution. Seems to work.

-- John.


Reply via email to