roteiro jogo de adivinhação

Propaganda
Desenvolvimento de
Jogos e Entretenimento
Digital
Oficina temática:
Algoritmos e Programação
Aula 3: Primeiro jogo em C++
Professor: Sandro Rigo
Túlio Bender
Roteiro

Jogo de adivinhação




Tarefa


Algoritmo do jogo
Fluxograma do jogo
Apresentação do código em C++
Modificar o algoritmo e fluxograma para ser
possível 3 tentativas
Desafio

Modificar o código-fonte em C++ para suportar as
3 tentativas de adivinhação
Jogo de Adivinhação

Objetivo:


Criar um jogo que sorteia um número inteiro entre
[0, 10] e pede para o jogador adivinhá-lo.
O jogador possui 1 tentativa para acertar
Algoritmo







Escrever mensagem com as regras do jogo
Sortear um número entre [0, 10]
Escrever mensagem solicitando ao jogador para digitar o seu
palpite
Ler (do teclado) o palpite do jogador
Verificar (testar) a igualdade do número sorteado com o palpite
do jogador
Se os 2 números forem iguais
 Escrever mensagem de congratulações
 Encerrar o jogo
Senão
 Escrever mensagem informando que o jogador errou
 Escrever qual foi o número sorteado
 Encerrar o jogo
Fluxograma
Início
Escrever as regras do jogo
Sortear número entre [0, 10]
Escrever mensagem para digitar palpite
Ler palpite
Não
Palpite = Número Sorteado ?
Sim
Escrever mensagem acerto
Fim
Escrever mensagem erro
// Nome: Adivinhe.cpp
// Descrição: implementação de jogo de adivinhação de números
//
// Bibliotecas básicas utilizadas
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
// Espaço de nomes utilizado
using namespace std;
//programa principal
int _tmain(int argc, _TCHAR* argv[])
{
system("cls"); // comando para Limpar a tela
// Comandos para Imprimir na tela as regras do jogo
cout << "Jogo de Adivinhacao" << endl;
cout << "Voce deve adivinhar o numero em uma tentativa" << endl;
cout << "O numero sorteado encontra-se no intervalo de [0, 10]." << endl << endl;
srand( (unsigned)time( NULL ) ); // rotina para Inicializar o gerador de números randômicos
// Sortear um número entre [0,10] e armazenar na variável "numero_sorteado"
int numeroSorteado = rand() % 10;
int palpiteJogador = 0;
// Variável que armazena o número digitado pelo jogador
// Primeira tentativa ...
cout << "Primeira tentiva ... Digite um numero: ";
cin >> palpiteJogador;
// Testar se o palpite do jogador é igual ao número sorteado
if(palpiteJogador == numeroSorteado) {
cout << endl << "Parabens !!! Voce acertou o numero na primeira jogada !" << endl;
} else {
cout << "Voce errou a primeira tentiva" << endl << endl;
}
// Encerrar e sair do programa
system("pause");
return 0;
}
Tarefa


Modificar o algoritmo apresentado para ser
possível 3 tentativas de adivinhar o número
sorteado
Modificar o fluxograma apresentado para
refletir as modificações no algoritmo
Desafio (opcional)


Modificar o código em C++ do jogo para
suportar o novo algoritmo (ler do teclado o
número de tentativas para adivinhar o
número)
A cada tentativa, informar ao jogador se o
número por ele digitado é maior ou menor
que o número sorteado
Download