Jump to content
sometimes99er

Minesweeper - game released

Recommended Posts

The end tag ( : ) is missing.

 

Go into EDITOR, add the following line:

: SOMEONE FORGOT TO ADD THIS LINE

Save as DIS/FIX 80.

 

P.S.: This autoreplace with smileys is really getting annoying!

Edited by mizapf
  • Like 1

Share this post


Link to post
Share on other sites

I'm not very good with disk images. Tried to copy the EA3 file to a disk image, but it sure behaves a bit strange. Maybe I'm at fault.

 

attachicon.gifmine.dsk

 

 

Thanks, I'll try it when I'm home tonight.

Share this post


Link to post
Share on other sites

Thanks. :)

 

I'm not very good with disk images. Tried to copy the EA3 file to a disk image, but it sure behaves a bit strange. Maybe I'm at fault.

 

 

Simplescreenrecorder is the tool I was searching for ... :-)

 

Edited by mizapf
  • Like 1

Share this post


Link to post
Share on other sites

Just tried it on the hardware - very nice, very playable. I would be great if you could find a good solution for playing it on a one button joystick.

  • Like 1

Share this post


Link to post
Share on other sites

Just tried it on the hardware - very nice, very playable. I would be great if you could find a good solution for playing it on a one button joystick.

Thanks. :)

 

Yeah, I thought about that.

 

If you don't need flags one could play with a one button joystick straight, no flags. A bit more difficult, but not all impossible. You had to like remember where you wanted the flags. Actually I thought I had joystick support in there, but the code is testing one key at a time (no table lookup or clever stuff), so I dropped the joysticks, since ESDX is often mirrored to the arrowkeys in emulation.

 

One solution could be that the first press sets a flag, one more press (on a flag) reveals the square. You couldn't remove a flag and probably ended up pressing fire an awful lot.

 

Another solution would reveal a list of choices when you press and hold fire. You'd then navigate the list and release fire when you got your choice:

 

1. Reveal square

2. Flag (set or clear depending on current state)

(3. Exit (do nothing and default selection))

 

Again an awful lot of stuff to do (as you're playing the game).

 

I also thought about adding the keys IJKL as extra arrowkeys. More natural these days as opposed to the old ESDX. But then people with real iron should be used to ESDX ?

 

;)

Edited by sometimes99er

Share this post


Link to post
Share on other sites

Just tried it on the hardware - very nice, very playable.

 

Endnu engang tak, Rasmus. Ganske vigtigt at spillet virker - og godt - sådan i det virkelige liv. Giver ligesom det ekstra spark der skal til, for at få gjort spillet færdigt og komme i gang med det næste.

 

;)

Edited by sometimes99er
  • Like 1

Share this post


Link to post
Share on other sites

Splash screen added. I hope you will like it. Minimalistic and slick, - good use of eye-catching white space, - though it's all a matter of taste. ;)

 

We're now at 55.4% of 8K cartridge capacity. Lots of white space, and I'll probably leave that as is.

 

So on the software front, there's only a few things left to do.

  • Timer and high score update
  • Fine-tune the use and choice of sound-effects
  • Testing, burning and debugging

And then it's moving on to the marketing department. Got a few ideas.

 

:)

 

And remember, any feedback is much appreciated ...

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Nah, looks like klingon to me. ;)

 

taH pagh taHbe'!

You have never experienced Shakespeare until you have read him in the original Klingon.

[Chancellor Gorkon]

  • Like 2

Share this post


Link to post
Share on other sites

 

taH pagh taHbe'!

You have never experienced Shakespeare until you have read him in the original Klingon.

[Chancellor Gorkon]

Ah, Wil'yam Shex'pir! LOL

Share this post


Link to post
Share on other sites

Splash screen and timer added. :)

Version 1.0



Program name: MINE
File and program name: MINE


Instructions

The object of the game is to find all mines without being "blown up".

The location of the mines is discovered by a process of logic. Clicking on the game board will reveal what is hidden underneath the chosen square or squares (a large number of blank squares may be revealed in one go if they are adjacent to each other). Some squares are blank but some contain numbers (1 to 8 ), each number being the number of mines adjacent to the uncovered square. To help avoid hitting a mine, the location of a suspected mine can be marked by flagging it. The game is won once all mines have been flagged.

Keys

1, 2 and 3 generates a new game at the corresponding level (1=Beginner, 2=Intermediate and 3=Expert).
E, S, D and X moves the cursor around.
Q reveals a square.
W sets or removes a flag.

Timer

 

The timer works with MESS and Classic99, but apparently not with Js99'er. And hopefully it works with the real iron ?

 

 

Good luck !

:)

Edited by sometimes99er
  • Like 4

Share this post


Link to post
Share on other sites

PS. The timer part works with MESS and Classic99, but not with Js99'er and Win994a.

 

A nice challenge. :) When I first implemented Js99'er I asked for examples of programs using the 9901 timer, but did not get any reply, so this is the first program I'm aware of that I can use for testing.

  • Like 1

Share this post


Link to post
Share on other sites

Great game! I just played a few rounds, and couldn't find any bugs so far. :thumbsup:

I'd love to see the source code.

Edited by Dexter
  • Like 1

Share this post


Link to post
Share on other sites

Nicely done :)

Jacques Groslouis (may he RIP) had done many years ago a c99 conversion of Lucie Dorais' mineweeper as well. It's an EA5 program with the program file being SWEEPA.

TIsweeper.dsk

  • Like 3

Share this post


Link to post
Share on other sites

 

A nice challenge. :) When I first implemented Js99'er I asked for examples of programs using the 9901 timer, but did not get any reply, so this is the first program I'm aware of that I can use for testing.

 

I tried to implement the timer in js99er.net based on Thierry Nouspikel's documentation, but I'm having a bit of problems with the timing :). Basically it's much too fast and irregular. Could you give me a few clues about how you're using the timer? Are you using the interrupt, for instance?

  • Like 1

Share this post


Link to post
Share on other sites

I tried to implement the timer in js99er.net based on Thierry Nouspikel's documentation, but I'm having a bit of problems with the timing :). Basically it's much too fast and irregular. Could you give me a few clues about how you're using the timer? Are you using the interrupt, for instance?

 

I use Thierry's code, and method 1 to time intervals.

 

If you start a game by revealing a square and not hitting a bomb, the timer starts to run.

 

>833a seconds

>833c one tenth of a second

>833e cycle counter

 

:)

 

 

Share this post


Link to post
Share on other sites

I wonder if there is a mistake on Thierry's page?

 

http://www.unige.ch/medecine/nouspikel/ti99/tms9901.htm

 

It says:

 

"Placing the TMS9901 in I/O mode again will resume updating of the Read register. However, if any bit between 1 and 14 is written to while in timer mode, the decrementer will be reinitialized with the current value of the Clock register. This is nice because it means that it is not necessary to reload all 14 bits in the Clock register: since they haven't changed, writting one of them (such as the least significant one) is enough to reload the whole data word."

 

Should the text I have marked in bold read "I/O mode" instead?

Share this post


Link to post
Share on other sites

I wonder if there is a mistake on Thierry's page?

 

http://www.unige.ch/medecine/nouspikel/ti99/tms9901.htm

 

It says:

 

"Placing the TMS9901 in I/O mode again will resume updating of the Read register. However, if any bit between 1 and 14 is written to while in timer mode, the decrementer will be reinitialized with the current value of the Clock register. This is nice because it means that it is not necessary to reload all 14 bits in the Clock register: since they haven't changed, writting one of them (such as the least significant one) is enough to reload the whole data word."

 

Should the text I have marked in bold read "I/O mode" instead?

 

Well, just glancing through the page, and I couldn't say. :|

Share this post


Link to post
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.

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...