Skip to content
This repository has been archived by the owner on Apr 16, 2018. It is now read-only.
/ Cara-cracha Public archive

😳💳 Projeto referente ao trabalho livre (T3) do curso Estrutura de Dados (ED) do Bacharelado em Ciência da Computação (BCC) na Universidade Federal de São Carlos (UFSCar).

License

Notifications You must be signed in to change notification settings

Alynva/Cara-cracha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub contributors GitHub tag Codacy grade Github Downloads All Releases

Cara crachá

Repositório do Projeto 3 da disciplina Estrutura de Dados.

O jogo desenvolvido para o terceiro projeto de Estruturas de Dados foi o jogo “Cara-Cracha”. Neste jogo, o jogador vive na pele a experiência de trabalhar como monitor em um restaurante universitário (RU). Sua função é verificar se uma pessoa é quem diz ser, olhando para seu rosto e sua suposta carteirinha de estudante.

Durante o jogo, o jogador deve administrar seu tempo e administrar as pessoas que ficam aparecendo na entrada do refeitório. O jogo tem inicio às 11:00 e termina às 14:00, reabrindo das 17:00 às 19:00 simulando o horário de funcionamento padrão do refeitório. Após o início do expediente, uma fila de pessoas começa se formar na frente da catraca. A missão do jogador é ser rápido, para evitar o acúmulo de pessoas, e ser observador, pois pessoas com carteirinhas erradas não podem entrar. Ao autorizar a entrada de alguém com carteirinha irregular, o jogador é penalizado. Ao alcançar o fim do expediente, com uma boa classificação (baseada na quantidade de pessoas corretas e incorretas), o jogador vence.

Uma pessoa é gerada aleatoriamente e possui diversas características que as identifica, além de ter sua própria carteirinha de estudante. Claramente, a carteirinha deve conter determinadas informações e características sobre a pessoa para que seja considerada válida. O jogador deve ser rápido e observar detalhes para evitar cometer erros durante seu dia de trabalho. O que torna o jogo realmente desafiador é o fato de uma pessoa estar de um jeito na foto da carteirinha, mas depois ter pintado o cabelo, comprado um óculos, deixado o bigode crescer, entre outras alterações cotidianas, o que o torna ligeiramente diferente da foto, mas ainda é ele! Então tenha muito cuidado!

Estruturas de Dados do jogo:

  • Uma fila de personagens. Gerada no início do jogo e preenchida conforme novos personagens ingressam na fila;
  • Uma fila de posições. Cada pessoa possui uma posição, a qual é definida a partir de uma lista ordenada de coordenadas que representam cada posição na fila.
  • Uma lista de camadas para a construção do cenário;

Instalação

Utilizamos a linguagem de programação C++ na versão 11 durante a codificação do jogo. Para compilá-lo, basta executar o comando make na pasta ./src. O arquivo makefile está configurado para colocar o executável dentro da pasta ./bin, o qual pode ser lançado utilizando o comando make run. Caso queira otimizar as etapas, ao executar o comando make full você estará compilando e executando o jogo.

O projeto foi compilado e testado utilizando os seguintes SOs:

  • Windows 8.1 64-bit

  • Linux Xubuntu 64-bit

Para demais sistemas, fica a cargo do utilizador verificar a compatibilidade. Ocorrendo algum problema, comunique-nos criando uma nova questão. Caso obtenha sucesso na utilização em demais sistemas, sinta-se à vontade para colaborar com a presente documentação, incrementando-o à lista anterior.

Descrição da Implementação

O jogo foi desenvolvido seguindo as configurações do tipo abstrato de dado (TAD) Fila circular, com encadeamento duplo e com nó header. Tem-se então que cada elemento é armazenado em um nó com três atributos, sendo eles:

  • Value: armazena o elemento em si;
  • Next: ponteiro que define o nó do próximo elemento;
  • Previous: ponteiro que define o nó do elemento anterior.

Pilha vazia

Figura 1: Fila vazia. Nó header, com os campos value, previous e next.

Pilha com três elementos

Figura 2: Fila com 3 elementos, nó header e encadeamento duplo. Na figura acima C é o último elemento.

Telas do Jogo

Tela inicial

Figura 3: Tela inicial do jogo

Tela do jogo pausado

Figura 4: Tela com o jogo pausado

Tela do jogo durante uma partida

Figura 5: Tela do jogo durante uma partida

Tela final 0

Figura 6: Tela final 0 do jogo

Tela final 1

Figura 7: Tela final 1 do jogo

Tela final 2

Figura 8: Tela final 2 do jogo

Autores

Créditos

  • Alisson Nunes - Lógica do jogo e programação.
  • Gabriel Alves - Estrutura de dados.
  • Matheus Bortoleto - Detalhes do jogo.
  • Rafael Sales - Documentação.

Licença

O código a seguir foi criado para propósitos educacionais e seu reuso é aberto a qualquer um que o queira utilizar, com permissões de cópia, criação, distribuição e remoção de partes ou totalidade dele, desde que se deem os devidos créditos aos autores. Para mais detalhes, acesse o documento completo.

About

😳💳 Projeto referente ao trabalho livre (T3) do curso Estrutura de Dados (ED) do Bacharelado em Ciência da Computação (BCC) na Universidade Federal de São Carlos (UFSCar).

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages