Obrigado a Julio Marchi pelo espaço cedido na MSX All
 

MSX Minesweeper

 

English

  Minesweeper ou campo minado é um famoso jogo de estratégia. O objetivo é abrir todos os campos do jogo, sem detonar as minas.
  Este jogo acompanha um manual de desenvolvimento, os executáveis e os fontes.

Requisitos:

- MSX 2 ou superior;
- Chip de relógio;
- MSX-DOS 1.

Desenvolvimento:
100 %

Falta:
- Eliminar flicker do número de minas e relógio; - Ok
- Abrir 8 vizinhos, quando clicado sobre um número qualquer; - Ok
- Criar rotina em assembly para fazer contagem do tempo; -Ok
- Melhorar sorteio de bombas aleatório (eliminar mapa viciado); - Ok
- Fazer ranking de vencedores; - Ok
- Salvar ranking em disco. - Ok

  A rotina de contagem de tempo deve ser feita em assembly, para roubar o mínimo de tempo de processamento total do jogo. Na verdade, são duas rotinas, onde a primeira deverá obter informações do relógio do MSX 2 e guardar a data e hora com algum valor atribuído à ela na memória. A segunda transforma a data / hora corrente, conforme a transformação anterior, e compara os valores, retornando o número de segundos decorridos.

Como jogar:
- Escolha o tipo de jogo: simples (8x8 com 10 bombas) ou difícil (16x16 com 40 bombas);
- As setas movimentam o cursor;
- Esc abandona o jogo;
- Tecle enter quando ganhar o jogo;
- Z detona o espaço sob o cursor;
- X marca o espaço com uma bandeira;
- C quando clicado sobre um número, abre seus 8 vizinhos, se e somente se, forem marcados o número correspondente de bombas nesta vizinhança.

Pegue aqui:
mines_src_11.zip - Fontes do jogo.
mines_11.zip - Jogo pronto para jogar.
map.pas - Como criar o mapa do jogo.
flood.pas - Como atua o flood-fill.
start.asm - Como ler o relógio do MSX em assembly.
mandev1.pdf - Manual de desenvolvimento versão 1.0.

Algumas Referências:
Página do Hans: http://www.hansotten.com/msxpascal.html
Livro do Turbo Pascal: http://oldcomputers.dyndns.org/public/pub/rechner/epson/~fjkraan/comp/tp30/doc/

Agradecimentos:
- SLotman pelo MSX Pad, pela sugestão de usar constantes para iniciar o mapa do jogo e pelo time.inc.


Marcelo Teixeira Silveira
Engenheiro de Sistemas e Computação - UERJ
Mestre em Engenharia de Computação - UERJ

© MarMSX 1999-2017