Giter Site home page Giter Site logo

mipscampominado's Introduction

Instruções:

Trabalho Individual

Entregar o arquivo .asm ou .s exclusivamente através do ambiente Moodle

O programa deve ser comentado, sendo que estes fazem parte da avaliação.

Descrição:

Implemente um programa que permita ao usuário jogar Campo Minado.

O programa deve ser implementado utilizando o conjunto de instruções do MIPS e deve ser executado no simulador SPIM ou no simulador MARS.

No início o programa permite ao usuário escolher o tamanho do campo: a) 5x5; b) 7x7; c) 9x9. A matriz (chamada campo) deve possuir internamente tamanho fixo de 9x9 e é composta de números inteiros a qual deve ser inicializada com zeros pelo programador.

O programa deve ser implementado com uma função principal (main) e pelo menos duas outras funções:

  • a função calcula_bombas com o seguinte protótipo:

void calcula_bombas(int * campo[], int num_linhas);

  • a função mostra_campo (cada aluno pode definir o protótipo da mesma).

Os parâmetros de calcula_bombas devem ser passado nos registradores $a0 e $a1, respectivamente.

Após inicializar as variáveis de controle o programa deve chamar uma função chamada insere_bombas, com o seguinte protótipo:

void insere_bombas(int * campo[], int num_linhas);

A função insere_bombas não precisa ser codificada pelo aluno pois será implementada pelo professsor quando da correção do programa. Os parâmetros de insere_bombas deve ser passado nos registradores $a0 e $a1, respectivamente. Esta função colocará as bombas na matriz campo.

Por convenção as bombas recebem o valor 9. Assim, na matriz campo as casas que possuirem o valor 9 possuem bomba naquela posição.

O programa deve apresentar uma interface para o usuário digitar o número da linha e da coluna que pretende abrir. Caso tenha uma bomba naquela posição o programa deve indicar que uma bomba explodiu e o usuário perdeu (mostrando na interface a quantidade de bombas no entorno das posições já jogadas e as posições das bombas); Caso não tenha uma bomba naquela posição o programa deve mostrar a situação do campo (mostrando a quantidade de bombas no entorno das posições já jogadas) e em seguida solicitar a nova jogada.

Na interface com o usuário os números de linha e coluna começam com 1.

mipscampominado's People

Contributors

lucasmahle avatar

Forkers

mstachelski99

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.