Jump to content
IGNORED

Minesweeper - game released


sometimes99er

Recommended Posts

minec.bin

minesweeper.instructions.onepage.pdf

 

 

 

- - - - -


I got sidetracked (again) and spent a few hours on making perhaps yet another version of Minesweeper for the TI.

The link above tells you a little something about the game, rules etc.

As of now you can't play it, but please do test and report. Version 0.1 is attached here:



You can move the cursor around. And you can press 1, 2 or 3 to start / generate a new game.

So obviously there's a few things to add. What I like is how relatively fast a new game is generated.

The premise is, and pretty much has been with many of my efforts, stock TI, no memory expansion, and game on cartridge in a Atarisoft style of 8K or 16K ROM only.

We're at 35% of 8K capacity, and plenty of room for saving bytes later if necessary.

;)

 

 

Edited by sometimes99er
Instructions added.
  • Like 5
Link to comment
Share on other sites

Works fine here - I like the look!

 

Thanks.

 

I've only tested it with your Classic99. It's also using your small but efficient random number generator routine. At first I only used the lower bits (5 bits or less) from the routine when selecting rows and columns, and that led to repeating patterns in the generated games. I changed tactics and now use the lower 9 bits, and as you can see, the generated games appear pretty random, - as far as what I've seen.

 

:)

Link to comment
Share on other sites

That arrow pointer looks very familiar to me, I used to own an Amiga once ..... :)

 

Yeah. If you press F9 in Classic99, you might be able to see traces of the sleeping Amiga mouse-pointer. I thought it would take so long to generate a level 3 game, especially without the memory expansion, that I chose to put it in. But now ...

 

:)

 

minesweeper1.png

  • Like 3
Link to comment
Share on other sites

Moving along. We're now at 36% of 8K capacity. So I've added a measly 1% of pure code. ;)

 

1. Cursor movement is now restricted to the field. Wraparound effect to be able to go to another part slightly faster.

 

2. The field is now "hidden". You can move around and reveal any location by pressing the Q key.

 

 

Version 0.2 is attached here:

 

 

 

 

minesweeper0.2.gif

  • Like 3
Link to comment
Share on other sites

Just beautiful!

Indeed, the Amiga mouse pointer is pretty recognizable. :)

 

Is it all assembly, or C?

 

Thanks. :)

 

I've used the Amiga mouse pointer in a couple of demos earlier on (Windows 2007.04.09 and Workaroundbench 2007.12.15). It could actually go nicely with my Nonogram game (still in development 2011.04.01-). ;)

 

It's all assembly. Speed isn't all that critical, so you could even make a XB version and have the small field running relatively fine even without compiling it.

Link to comment
Share on other sites

Looks very slick! Looking forward to playing the finished version of this.

 

Any chance you could give the different numbers different background colors? It'd make it a bit easier to visually scan the board, and it might add some color to the overall look of the game.

 

Either way, love it!

  • Like 1
Link to comment
Share on other sites

Looks very slick! Looking forward to playing the finished version of this.

 

Any chance you could give the different numbers different background colors? It'd make it a bit easier to visually scan the board, and it might add some color to the overall look of the game.

 

Either way, love it!

Thanks. :)

 

Well, different colors for different numbers wasn't the plan. I think I could simply go for half-bitmap mode, rearrange the location of tables, add the extra color information and leave the mapping and logic as is. I won't do that now. I did however have an idea about this maybe being the Amiga version and then doing a Macintosh version - and then adding the background colors. We'll see.

 

There will be a bit of color. The flags will have a yellow background. And the mines will have a red background.

 

In the early design phase (wow!) I chose to stick with the white background for all numbers, simply to have the best contrast possible, if, and hopefully when, someone decides to try it out on some real iron with a fuzzy display. I guess the numbers are virtually both as big and as small as they can get ?

 

;)

  • Like 1
Link to comment
Share on other sites

Version 0.3 attached here:

 

 

 

 

minesweeper0.3.gif

 

Key functionality, always:

Fctn + Quit = Quits cartridge.

1 = Start new level 1 game (beginner).

2 = Start new level 2 game (intermediate).

3 = Start new level 3 game (advanced).

 

Key functionality while playing a game:

ESDX = Move cursor (Amiga mouse pointer). Many emulators allow for you to use actual arrowkeys of host system.

Q = Reveal a square.

W = Flag a square or remove a flag.

 

Future functionality:

Floodfill when revealing a blank square (no adjacent mines).

Detecting when all mines have been flagged (you win).

Timer (using the 9901).

Updating high score.

Soundeffects (mine explodes, you win and you beat the high score).

 

 

  • Like 4
Link to comment
Share on other sites

Version 0.4 attached here:

 

 

 

 

We're now at 41% of 8K capacity.

 

Functionality added:

Floodfill when revealing a blank square (no adjacent mines).

Detecting when all mines have been flagged (you win).

 

Future functionality:

Timer (using the 9901).

Updating high score.

Soundeffects (mine explodes, you win and you beat the high score).

 

:)

Edited by sometimes99er
  • Like 2
Link to comment
Share on other sites

Just a quick demo. Don't worry. Play the game, and you'll soon pick up speed. ;)

minesweeper0.4.gif

 


The flood

The flood-fill starts when you hit an empty square.

The flood-fill routine searches the surroundings (typically 8 squares (or less at the borders)) and if any of them is also empty, each of them is put on a stack for later processing. I was crossing my fingers and setting the stack up in Scratch-Pad. The layout was as follows:

>8300 Variables and stuff. Using words, not bytes, for anything.
>8334 Flood-fill stack.
>83d0 Subroutine return stack.
>83e0 Workspace registers.

The expert level, 30 by 16 squares = 480, requires squares to be saved as words (in the flood-fill stack).

Size of flood-fill stack is >83d0 - >8334 = 78 words.

I tested watching the stack (it often resolves as it goes), and after maybe 20 level 2 games, it crashed, - due to a single "flood" but a big one. 78 words was not enough.

So the flood-fill stack was relocated to VDP. Arghh.

;)

Edited by sometimes99er
  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...