Abstract – The subject of Técnicas de Programação demands the development of a platform software, in the form of a game, for purposes of learning software engineering techniques, especially object-oriented programming in C++. To this end, in this work, the game “Lemurya” was chosen, in which the main player controls the character that represents the Reptilian King. The main objective of the Reptilian King is to destroy the Idealists king (mages who practice black magic). For that, he needs to go through several places of Lemurya, while fighting against enemies that are manipulated by the Idealists king. The game has three stages that differ in difficulty for the player, being that in the last phase the player meets the boss (the Idealists king). For the development of the game the textually proposed requirements were considered and elaborated modeling (analysis and project) using as resource the Class Diagram in Unified Modeling Language, based on a proposed previous diagram. Subsequently, in C++ programing language, it was performed a development that took into account the usual concepts of object orientation such as Class, Object and Relationship, as well as some advanced concepts like Abstract Class, Polymorphism, Templates, file object persistence, operator overloading, and Standard Template Library – STL. After implementation, the developers' own testing and use of the game demonstrated its functionality as per the requirements and elaborate modeling. Finally, it is emphasized that the development in question made it possible to achieve the intended learning objective.
Resumo – A disciplina de Técnicas de Programação exige o desenvolvimento de um software de plataforma, no
formato de um jogo, para fins de aprendizado de técnicas de engenharia de software, particularmente de
programação orientada a objetos em C++. Para tal, neste trabalho, escolheu-se o jogo "Lemurya” no qual o
jogador principal controla o personagem que representa o Rei Reptiliano. O objetivo do Rei Reptiliano é destruir
o rei dos Idealistas (magos praticantes de magia negra). Para isso, ele precisa passar por diversos lugares de
Lemurya, enquanto enfrenta os inimigos que são manipulados pelo rei dos Idealistas. O jogo tem três fases que
se diferenciam por dificuldades para o jogador, sendo que na última fase o jogador encontra o chefão (rei dos
Idealistas). Para o desenvolvimento do jogo foram considerados os requisitos textualmente propostos e elaborado
modelagem (análise e projeto) usando como recurso o Diagrama de Classes em Linguagem de Modelagem
Unificada (Unified Modeling Language - UML) usando como base um diagrama prévio proposto.
Subsequentemente, em linguagem de programação C++, realizou-se o desenvolvimento que contemplou os
conceitos usuais de Orientação a Objetos como Classe, Objeto e Relacionamento, bem como alguns conceitos
avançados como Classe Abstrata, Polimorfismo, Gabaritos, Persistências de Objetos por Arquivos, Sobrecarga
de Operadores e Biblioteca Padrão de Gabaritos (Standard Template Library - STL). Depois da implementação,
os testes e uso do jogo feitos pelos próprios desenvolvedores demonstraram sua funcionalidade conforme os
requisitos e o modelagem elaborado. Por fim, salienta-se que o desenvolvimento em questão permitiu cumprir o
objetivo de aprendizado visado.
Gabriel Henrique Linke and Pedro Sodré dos Santos