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