110 likes | 351 Views
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 Algoritmo do jogo Fluxograma do jogo Apresentação do código em C++ Tarefa
E N D
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 • Algoritmo do jogo • Fluxograma do jogo • Apresentação do código em C++ • Tarefa • 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 Palpite = Número Sorteado ? Não Escrever mensagem erro Sim Escrever mensagem acerto Fim
// 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