QuizVerse é um desafio em C++ realizado durante a formação de desenvolvedor Web no IEFP (Portugal). O desafio consistia em criar uma aplicação que simula um quiz de perguntas e respostas de múltipla escolha. O projeto foi desenvolvido em grupo e, como tivemos algumas disciplinas relacionadas à engenharia de software, começamos com a coleta de requisitos, elaboramos um fluxograma e aplicamos a metodologia ágil.
Para o desenvolvimento, decidimos utilizar o GitHub para controle de versionamento. Utilizamos o GitHub Projects para criar as issues necessárias para o projeto e, com essa ferramenta, conseguimos medir o progresso e dividir as tarefas.
O projeto foi completamente desenvolvido em C++, sem o uso de bibliotecas externas ou banco de dados. Alguns requisitos foram propostos no desafio, como a aleatorização das perguntas, a aleatorização da ordem das respostas, a implementação de um banco de dados para armazenar pontuações e classificações, bem como o cadastro e login dos jogadores.
Um detalhe importante a ser mencionado é que, dado que a formação estava focada no desenvolvimento web, era justo que o desafio se encaixasse nesse contexto. No entanto, uma vez que estávamos no início da formação e C++ era a linguagem escolhida para introduzir os conceitos de programação, o desafio não poderia incluir conceitos que ainda não tivessem sido ensinados.
Quanto ao banco de dados, optamos por utilizar um arquivo .txt para armazenar as informações dos jogadores e consultar as perguntas e respostas da aplicação. Em relação à estrutura de dados, utilizamos a struct tanto para armazenar as informações do jogador no banco de dados quanto para ler as informações das perguntas e respostas e mantê-las em memória para uso.
struct Usuario {
// struct para armazenar os dados do usuário
string nomeCompleto, email, password, pergunta, resposta;
int pontos;
};
Como o projeto foi desenvolvido em grupo, tivemos que prestar atenção aos detalhes para garantir que ele funcionasse tanto em sistemas Windows quanto em Linux. Isso nos levou a incluir algumas validações e, para isso, recorremos à versão 17 do C++.
#ifdef _WIN32
// Inclua as bibliotecas específicas do Windows aqui
#include <conio.h>
#elif __linux__
// Inclua as bibliotecas específicas do Linux aqui
#include <termios.h>
#endif
A lógica da aplicação consiste em coletar os dados do jogador para iniciar o jogo, selecionar os temas e o nível de dificuldade e, em seguida, executar um loop while para percorrer a estrutura de dados. Em cada iteração do loop, verificamos se a resposta está correta e somamos os pontos.
repositório no github: https://github.com/joseevilasio/projetoquizverse
Top comments (1)
Parabéns pelo projeto e pela organização dele José!