Prévia do material em texto
Instituto de Computação – Universidade Federal Fluminense TCC – Programação de Computadores TRABALHO DE IMPLEMENTAÇÃO DESCRIÇÃO GERAL O trabalho consiste em implementar o jogo Sudoku utilizando a linguagem Fortran. Todos os passos para a construção do programa deverão ser descritos em um relatório. O SUDOKU Sudoku é um jogo de raciocínio e lógica que consiste em preencher, com números de 1 a 9, espaços em branco em uma tabela com nove linhas e nove colunas. Para completar esses espaços, as seguintes regras devem ser respeitadas (Figura 1): • Não repetir números na horizontal (linhas) • Não repetir números na vertical (colunas) • Não repetir números nos quadrados de tamanho 3x3 Figura 1 Ilustração das regras que devem ser respeitadas. Na Figura 2 é possível visualizar o jogo ainda não preenchido, com suas linhas, colunas e quadrados (de tamanho 3 x 3). Figura 2: Exemplo de um jogo sudoku não preenchido. Na Figura 3, os números em vermelho representam a solução para o jogo proposto na figura anterior. Figura 3: Solução do jogo de sudoku apresentado anteriormente. Jogo disponível em http://sudoku.net.br/tutorial/ http://www.google.com/url?q=http%3A%2F%2Fsudoku.net.br%2Ftutorial%2F&sa=D&sntz=1&usg=AFQjCNExXsAbUZYS9rHB13Gqs45ramt52w DESCRIÇÃO DAS ATIVIDADES DESSE TRABALHO ATIVIDADE 1 Criar uma tela de boas vindas para o jogador e perguntar se ele pretende gerar um jogo aleatório ou definir o próprio jogo. ● Jogo aleatório ○ O programa solicita ao usuário a quantidade de números que serão gerados aleatoriamente e inicia o jogo. ● Definir jogo ○ O usuário define os valores iniciais do jogo com o seguinte formato “(linha,coluna,valor)”. Por exemplo: (2,5,3), representa linha=2, coluna=5 e valor=3. O programa também deve permitir entradas simultâneas, por exemplo: (2,5,3)(2,6,4)(2,8,1), representa linha=2, coluna=5, valor=3; linha=2, coluna=6, valor=4; e linha=2, coluna=8, valor=1. ○ Em qualquer momento, o usuário poderá encerrar a inserção manual dos valores e iniciar a partida. ATIVIDADE 2 Criar uma segunda tela com as seguintes opções: ● Adicionar jogada ○ O usuário entrará com os dados (separadamente): ■ Linha ■ Coluna ■ Valor ● Remover jogada ○ O usuário poderá remover uma jogada indicando os seguintes dados: ■ Linha ■ Coluna ● Avaliar jogadas ○ Verifica se o jogo está correto, ou se possui algum erro (indicando o local do erro). ● Sair ○ Encerra o programa. ATIVIDADE 3 Criar uma tela que escreva uma mensagem parabenizando o vencedor, e, além disso, devese oferecer a opção de jogar novamente ou encerrar o jogo. ATIVIDADES COMPLEMENTARES ● O programa não deverá permitir adicionar valores inválidos (por exemplo: adicionar na linha 2, coluna 3 o valor 12) ou posições inválidas (por exemplo: adicionar na linha 10, coluna 11 o valor 5); ● O programa deverá apresentar toda a tabela do jogo após cada inserção; ● Oferecer uma opção de dica, informando quais os valores podem ser adicionados em uma posição específica. ENTREGA Data da entrega: ● Até as 23:59 do dia 06/01/2014 (para valor integral) ● Até as 11:59 (meiodia) do dia 09/01/2014 (1 ponto a menos por dia de atraso. Por exemplo: Trabalhos entregues no dia 09/01/2014 às 11:50 terão nota máxima igual a 7). ● Após as 12h do dia 09/01/2014 os trabalhos não serão mais avaliados em hipótese alguma. Como resultados desse trabalho, deverão ser entregues a implementação (códigofonte compilável, representando 70% da nota) e um relatório (representando 30% da nota). Atenção! Trabalhos que não compilarem, não serão avaliados. O relatório deverá conter: ● Breve descrição das funções implementadas, e um resumo das dificuldades encontradas durante o trabalho. ● Passos para compilar e rodar o programa gerado. ● Exemplos de utilização. A entrega deverá ser feita via email ● Para: rafaelbba@ic.uff.br ● Assunto: TrabalhoTCCTurmaXX ● No corpo do email deverá ser explicitado o nome de todos os componentes que participaram no trabalho. OBSERVAÇÃO Este documento poderá ser alterado em sala de aula ou no grupo da disciplina. Portanto, compareçam as aulas e visualizem esse documento no grupo sempre que possível. mailto:rafaelbba@ic.uff.br