• Nenhum resultado encontrado

Recapitulando as Equipes e Temas

N/A
N/A
Protected

Academic year: 2018

Share "Recapitulando as Equipes e Temas"

Copied!
21
0
0

Texto

(1)

INTRODUÇÃO À PROGRAMAÇÃO

Requisitos dos Projetos

(2)

Roteiro

Equipes e temas

Requisitos gerais para todas as equipes

Requisitos específicos para cada equipe

(3)

Todos os projetos são jogos simples

As equipes devem ser de 3 alunos

A data final de entrega/apresentação é 02/12

Recapitulando as Equipes e Temas

Equipe Alunos Tema

1 Diogo, Matheus e Liffá Jogo do enforcado

2 Cintia, Michel e Adisson Jogo de caça-palavras

3 Humberto, Renato e Pedro Jogo de duelo de guerreiros

4 Caio, Matheus e Mário Jogo de bingo

5 Anderson, Carlos e Fábio Jogo de palavras-cruzadas

(4)

Conceitos básicos sobre requisitos

Há dois tipos básicos de requisitos:

• Requisitos funcionais

• Requisitos não funcionais

Os requisitos funcionais:

• Representam os recursos que o sistema deve possuir para atender as necessidades de quem vai usá-lo

• Informa o que o sistema vai fazer

• Os requisitos não funcionais:

(5)

Requisitos comuns a todos os projetos

Funcionais:

• Permitir começar um jogo novo, durante uma partida ou após a finalização de uma

• Permitir gravar um jogo para continuar posteriormente

• Permitir continuar a partir de um jogo gravado, seja durante uma partida ou após a finalização de uma

• Permitir escolher pelo menos 2 níveis de dificuldade • Permitir encerrar o programa a qualquer momento

• Não-funcionais:

• Deve ser implementado na linguagem C

• Deve gravar o estado dos jogos (para continuar depois) em um arquivo com extensão .txt • Deve possuir uma interface simples padrão console

• O uso de interface gráfica usando recursos avançados é uma opção de cada equipe

• Deve estar estruturado usando o conceito de modularização

(6)

Jogo do Enforcado

Requisitos específicos:

• As palavras que serão oferecidas para o jogador descobrir devem ser obtidas a partir de uma lista de palavras contidas em um arquivo que será disponibilizada pelo professor • O comportamento do jogo depende do nível de dificuldade:

• No nível de dificuldade “fácil” devem ser escolhida palavras de até 8 letras

• No nível de dificuldade “difícil” devem ser escolhida palavras de mais de 8 letras

• O jogador pode fornecer até 8 palpites incorretos antes de perder a partida em qualquer nível

• O programa deverá manter na tela as seguintes informações:

• O nível de dificuldade

• Espaço reservado para letras ainda não descobertas e indicação das letras descobertas

• Os palpites relacionados com letras que não estão na palavra

• A taxa de sucesso do jogador

• A taxa de sucesso é a média de palpites errados antes de acertar cada palavra

(7)

Jogo do Enforcado : exemplo

╔═══════════════════════════════════════════════════╗ ║ Nível: Fácil ║

║ Palavra: _ A _ _ O _ _ _ L ║

║ Tentativas: B, X. ║ ║ Taxa de sucesso: 2,5 palpites/palavra ║ ║ ║ ║ ║ ╟───────────────────────────────────────────────────╢ ║ Comandos: ║

║ 1 – Novo; 2 – Sair; 3 – Gravar; 4 – Continuar ║

(8)

Jogo de Caça-Palavras

Requisitos específicos:

• As palavras que serão oferecidas para o jogador descobrir devem ser obtidas a partir de uma lista de palavras contidas em um arquivo que será disponibilizada pelo professor • O comportamento do jogo depende do nível de dificuldade:

• No nível de dificuldade “fácil” devem ser escolhidas palavras de até 8 letras

• No nível de dificuldade “difícil” devem ser escolhidas palavras de mais de 8 letras

• Para tentar advinhar uma palavra o jogador informa as coordenadas e a direção

• Quando o jogador seleciona o comando ajuda o jogo mostra todas as palavras e ele perde o jogo

• O programa deverá manter na tela as seguintes informações:

• Letras aleatoriamente escolhidas e as letras das palavras ainda não descobertas, em minúsculas

• As letras das palavras descobertas, em maiúsculas

• As coordenadas das linhas e colunas, considerando um quadrado de 40 x 40 letras

• A taxa de sucesso do jogador

• A taxa de sucesso é o número de minutos que o jogador demora para achar uma palavra

(9)

Jogo de Caça-Palavras : exemplo

╔═══════════════════════════════════════════════════╗ ║ Nível: Fácil ║

║ 01 02 03 04 05 06 07 08 09 10 11 12 13 ...40 ║

║ 01 a k k a q n o p q h k q ç a j 01 ║ ║ 02 x r u P R O G R A M A Ç Ã O i 02 ║

║ ... ║

║ 40 o k t a q y o p q h k q ç a q 40 ║

║ 01 02 03 04 05 06 07 08 09 10 11 12 13 ...40 ║

║ ║ ║ Taxa de sucesso: 2,5 minutos/palavra ║ ╟───────────────────────────────────────────────────╢ ║ Comandos: ║ ║ 1–Novo; 2–Sair; 3–Gravar; 4– Continuar; 5-Ajuda ║

(10)

Jogo de Duelo de Guerreiros

• Requisitos específicos:

• O jogo consiste no duelo de dois guerreiros fictícios, um representa o computador e outro representa o jogador humano

• Quando cada jogo começa o jogador recebe um número de pontos por sorteio, compreendido entre 6 e 12.

• Estes pontos são usados para determinar o número de dano que ele pode sofrer • O jogador deve distribuir o número de pontos para duas parcelas: defesa e ataque

• Um duelo é uma sequência de rodadas e em cada rodada é sorteado o dano que cada guerreiro sofre usando a seguinte regra:

• Um dado de 6 faces é lançado para o 1º jogador e o número de pontos obtidos determina a quantidade de dano causado no 2º jogador usando essa fórmula:

• DANO = (PONTOS DO DADO-1) x [1 + (ATAQUE1 - DEFESA2)/12]

• Exemplo: se o dado fornece 2, o ataque do 1º é 7 e a defesa do 2º é 5, o dano causado é 1,33

• O programa deverá manter na tela as seguintes informações:

• A defesa, ataque e saúde de cada jogador (pontos de dados inicial – dados recebidos) • Os resultados de cada rodada

• A experiência do jogador

• A experiência do jogador é o número de danos que ele já causou no oponente desde que começou a duelar

(11)

Jogo de Duelo de Guerreiros: exemplo

╔════════════════════════════════════════════════════╗ ║ Rodada 1: ║

║ Player 1 sofre 1,5 de dano. ║

║ Player 2 sofre 3,0 de dano. ║

║ Rodada 2: ║ ║ Player 1 sofre 0,0 de dano. ║

║ Player 2 sofre 1,0 de dano. ║

║ ║ ║ Player 1 [Ataque:5; Defesa:7; Saúde:10,5; XP:4,0] ║

║ Player 2 [Ataque:4; Defesa:6; Saúde: 6,0; XP:1,5] ║

╟────────────────────────────────────────────────────╢ ║ Comandos: ║ ║ 1–Novo; 2–Sair; 3–Gravar; 4– Continuar; 5-Ajuda ║

(12)

Jogo de Bingo

Requisitos específicos:

• O programa deve sortear os números da cartela do jogador humano de outras N cartelas de posse do computador

• Cada cartela possui 16 números organizados em 4 x 4 e para ganhar o bingo basta preencher uma linha completa, uma coluna completa ou uma diagonal completa

• O comportamento do jogo depende do nível de dificuldade:

• No nível de dificuldade “fácil” o computador fica com 2 outras cartelas

• No nível de dificuldade “difícil” o computador fica com 4 outras cartelas

• O programa deverá manter na tela as seguintes informações:

• O nível de dificuldade

• Exibição das cartelas com indicação dos números já sorteados

• A taxa de sucesso do jogador

• A taxa de sucesso é a quantidade médias de números sorteados na cartela quando as partidas acabam

• Indicações dos comandos para “Novo jogo”, “Gravar jogo”, “Continuar jogo” e “Sortear”, “Sair”

(13)

Jogo de Duelo de Guerreiros: exemplo

╔════════════════════════════════════════════════════╗ ║ Números sorteados: 01,07, 22, 31 ║ ║ ║

║ JOGO 1 JOGO 2 SEU JOGO ║

║ 03 06 08 09 02 03 06 08 X 02 04 09 ║ ║ 11 12 14 19 12 13 16 18 14 15 18 19 ║

║ X 26 28 29 21 23 26 28 X 23 24 29 ║

║ 30 32 38 39 32 33 36 38 X 32 34 39 ║

║ ║ ║ Taxa de sucesso: 9 números por jogo ║

╟────────────────────────────────────────────────────╢ ║ Comandos: ║ ║ 1–Novo; 2–Sair; 3–Gravar; 4– Continuar; 5-Sortear ║

(14)

Jogo de Palavras Cruzadas

Requisitos específicos:

• As palavras que serão oferecidas para o jogador descobrir devem ser obtidas a partir de uma lista de palavras contidas em um arquivo que será disponibilizada pelo professor

• O jogo deve sortear 20 palavras em cada partida

• O programa deve determinar aleatoriamente se uma palavra deve ficar na horizontal ou na vertical e determinar o cruzamento entre elas verificando se há letras em comum

• O programa deverá manter na tela as seguintes informações:

• As letras informadas em cada posição e as posições que estão em aberto com um *

• Quando uma palavra é descoberta corretamente, as letras devem ficar em maiúsculas, quando o palpite for temporário deve ficar em minúsculas

• A taxa de sucesso do jogador

• A taxa de sucesso é o tempo médio que ele leva para descobrir cada palavra

(15)

Jogo de Palavras Cruzadas: exemplo

╔═══════════════════════════════════════════════════╗ ║ 01 02 03 04 05 06 07 08 09 10 11 12 13 ...40 ║ ║ 01 * * * * * c 01 ║ ║ 02 * B E L I C H E * 02 ║ ║ 03 C A S A e i * 03 ║ ║ ...* S * L E A O ... ║

║ 40 * A * * * * * * * 40 ║

║ 01 02 03 04 05 06 07 08 09 10 11 12 13 ...40 ║

║ ║ ║ Taxa de sucesso: 2,5 minutos/palavra ║ ╟───────────────────────────────────────────────────╢ ║ Comandos: ║ ║ 1–Novo; 2–Sair; 3–Gravar; 4– Continuar; 5-Ajuda ║

(16)

Jogo da Velha Customizável

Requisitos específicos:

• O programa deve solicitar a qualtidade de linhas/colunas do jogo

• O jogo segue a mesma regra do jogo da velha tradicional, mas nesta versão uma linha/coluna/diagonal completa pode requerer mais posições além de 3

• O computador deve identificar corretamente o momento em que algum jogador ganha e finalizar a partida, com uma mensagem de saudação para o vencedor

• O programa deverá manter na tela as seguintes informações:

• A disposição da matriz do jogo com as posições já jogadas

• A rodada atual e de quem é a vez de jogar

• A taxa de sucesso do jogador

• A taxa de sucesso é a quantidade médias de jogadas necessárias nas partidas que ele ganhou

(17)

Jogo da Velha Customizável: exemplo

╔════════════════════════════════════════════════════╗ ║ Rodada 04. É a vez do jogador X ║ ║ ║

║ - - - ║

║ - X - O - ║

║ - X O - - ║

║ - - - ║

║ - - - ║

║ ║ ║ Taxa de sucesso: 15 rodadas por jogo ║

╟────────────────────────────────────────────────────╢ ║ Comandos: ║ ║ 1–Novo; 2–Sair; 3–Gravar; 4– Continuar ║

(18)

Dicas para Implementação dos Projetos: arquivos

Como ler e gravar dados em um arquivo texto?

• O primeiro passo é criar um ponteiro para o tipo FILE:

• FILE *fp;

• Para abrir o arquivo há uma função específica que retorno um ponteiro par FILE

• Depois de abrir o arquivo é possível ler e gravar dados nele

• Sintaxe:

• FILE *fopen(const char *filename, const char *mode);

• Exemplo para abrir o arquivo para leitura e gravação:

• FILE *fp;

• fp=fopen("/home/tutorialspoint/test.txt", “a+");

• Quando não precisar mais usar o arquivo, ele deve ser fechado!

(19)

Dicas para Implementação dos Projetos: arquivos

Possibilidades para o parâmetro “mode”:

Para ler e gravar dados no arquivo devem ser usados os

procedimentos fprintf e fscanf

• São irmãos do printf e scanf!

Modo Descrição

w Abre para gravação (o arquivo não precisa existir)

a Abre para acrescentar dados (o arquivo não precisa existir) r+ Abre para ler e gravar, a partir do início do arquivo

w+ Abre para ler e gravar, sobrescrevendo o arquivo

(20)

Dicas para Implementação dos Projetos: arquivos

(21)

INTRODUÇÃO À PROGRAMAÇÃO

Requisitos dos Projetos

Referências

Documentos relacionados

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

No panorama atual do mercado de trabalho no campo da arquitetura, onde novas edificações inserem-se em contextos edificados com construções de diversas épocas,

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação