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

MSX Minesweeper

 

English

  1. Introdução
  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.


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


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


  4. Desenvolvimento do jogo
  O tutorial de desenvolvimento do jogo foi escrito no formato de artigo PDF. Ele possui os seguintes tópicos:

  1. Usando o MSX Pad como editor de Pascal para MSX
  2. O jogo Minesweeper
  3. Criando o menu de barras
  4. Criando o mapa das minas
  5. Desenhando os objetos do jogo
  6. Montando o quebra-cabeças
  7. O algoritmo flood-fill
  8. O controle do jogo
  9. Contando o tempo de jogo
  10. O ranking de melhores tempos
  11. Corrigindo o problema do random
  Pegue aqui:
  mandev12.pdf - Manual de desenvolvimento versão 1.2 - Novembro de 2018.

  NOVO!
  Aprenda o jogo de minas em Basic: Mines Basic.


  Referências e Agradecimentos
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/

  Agradecemos a 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-2018