Relatório Do RPG

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 11

Estácio de Sá - FIC

Introdução à Programação Estruturada em C


Professora: Maria Edineuda Teixeira Pinto

Relatório sobre o Trabalho de desenvolvimento de um sistema de RPG


em C

Jennifer Angelo – 202212130756


Isaías Muniz – 202202452599

Fortaleza, CE
2022
1. Introdução
Os jogos de interpretação de papéis ou, como são mais conhecidos, RPGs têm como
característica principal o fato que para jogá-los é necessário assumir o papel do seu personagem e
juntamente com outros jogadores entrar em uma aventura que foi criada por aquele que maestra
todos os momentos e NPCs’(Personagem não jogável). Cada um dos personagens possui:
características(raça, classe, nível), habilidades(magias, manejo de armas,),atributos (força, destreza,
constituição) e diferentes histórias de origem que constroem o caráter e definem suas ações. Com o
passar dos séculos, esses jogos passaram do papel para monitores digitais tornando-os mais
"visíveis" para os usuários.
Sendo assim, essa monografia irá apresentar um jogo de rpg de mesa desenvolvido do zero na
linguagem de programação em C, com uma história medieval e mística com personagens , assim
como os jogos de rpg originais rolagem de dados para uso de magias e decidir o final das batalhas.

1.1 Objetivos
Procuramos alcançar como objetivos: uma jogabilidade mais fiel ao sistema de regras que
escolhemos para construção da nossa história, um código com a estrutura bem organizada,
funcionalidade favorável a todos e trazer o mundo desenvolvido à base de uma linguagem de
programação, aos usuários. Apesar de ser totalmente em saída e entrada de texto, isto é, sem imagens
ou animações, trabalhamos duro para que o jogador esteja cem por cento imerso na aventura.

1
2. Fluxograma Atualizado

Fluxograma link:
https://lucid.app/lucidchart/cc2fb29d-6d7a-4c35-8146-8979131160a5/edit?viewport_loc=4319%2C4
3%2C3330%2C1581%2C0_0&invitationId=inv_a29be37c-3431-4935-8ac8-36b521e095e1#

2.1 Fichas dos Personagens jogáveis

2
Randrina:
Randrina é compreensiva e paciente, mas por vezes sua mente é denominada por ignorância e
arrogância chegando ao ponto de tirar do sério. É notório sua fúria arcana contra o mago que fez uma
chacina com o pretexto que a irmandade estava apodrecendo a comunidade, ela acredita que o
próprio mago supremo destruiu a irmandade para assumir o controle da cidade de Alzelatrof.
Inventário:
Armadura de couro;
Arco curto – Alcance 15/30/45;
Flecha de guerra (20) - dano 1d8;
Sabre - dano 1d6+1
Adaga de arremesso (4) - Alcance 3/6/9 - dano 1d4+4
Arco de poder: depois de acertar role 1d6:
1-Flecha de eletricidade – danos 1d8 + atordoamento de 1d4 turnos.
2-Flecha de fogo – dano 1d10, causa danos nos inimigos adjacentes de 1d4.
3-Flecha de gelo – dano 1d8 e paralisa 1d6 turnos.
4-Flecha de luz - dano 1d6 e cega o alvo e inimigos em uma área de 3x3 durante 1d6 de turnos.
5-Flecha do desarmamento – acertou desarma independentemente do tipo de arma.
6-Flecha de desintegração - dano 1d20 + o nível do personagem se tirar 19 e 20 desintegra por
completo a criatura.

3
Nyrut
Ele veio a Azelatrof em busca da verdadeira história do paradeiro dos membros da Irmandade de
Cobalto para recontar a história do ponto de vista do mago que aniquilou a irmandade, não se
contenta que um mago tão poderoso sacrificou as vidas de tantas pessoas inocentes para tornar a
cidade em um poço de miséria e ainda se vangloriar por isso.
Inventário:
Varinha - + 1 de dano nos ataques mágicos.
Grimoire.
Manto
Adaga - dano 1d4.
Zarabatana – alcance 3/6, dano 1d4.
MAGIAS:
Abrir/Trancar portas - duração de 1d6 + 1.
Expandir/Encolher - duração de 1d6 + 1 por nível do mago (nesse caso é 1d6 + 3) aumenta ou
encolhe o tamanho de alguém em até 5% do tamanho original por nível de mago(15%).
Mãos Flamejantes – alcance de 3 metros + 1 metro por nível do mago; dispara um raio em todas as
direções , todas as criaturas até 3 metros e recebem 1d3 + 2 por nível do mago.
Lumus - duração 1h + 30min.

4
3.Funcionamento do programa

3.1 Bibliotecas usadas e funções


- Stdio.h: onde estão localizadas as funções referentes às operações nas quais os mecanismos operam
em função da entrada e da saída padrão, bem como em arquivos também.
Funções:
● scanf: permite a leitura de dados a partir de uma fonte de caracteres de acordo com um
formato pré-determinado;
● printf: responsável por imprimir algo na tela, pode ser texto ou o conteúdo de uma variável
ou constante;
- Stdlib.h: biblioteca padrão; é uma biblioteca frequentemente usada em memória alocação de
ponteiro que é comum na maioria dos programas em C maiores, outro uso popular dessa biblioteca é
suas funções geradoras de números aleatórios.
Funções:
● rand: essa função produz um valor aleatório na faixa entre 0 e a constante RAND_MAX;
● srand: essa função inicializa a função rand com um valor "semente" para que se produza um
valor aleatório na faixa determinada.
- Time.h: nessa biblioteca estão localizadas as funções, variáveis, e macros para manipulação de
unidades de tempo. A partir das funções fornecidas é possível obter variações de tempo como data e
horário retornadas pelo sistema. É um cabeçalho muito poderoso em termos de controle de execução
do programa por intermédio do "tempo", no que diz respeito a manipulação de ações e operações que
tem como referência datas e horas.
Funções:
● time (NULL): essa função é usada dentro do srand para determinar um total de segundos
passados desde 1 de janeiro de 1970 até a data atual, assim a cada execução o valor da
"semente" será diferente.

- String.h: Nesta biblioteca padrão da linguagem C estão contidos protótipos utilizados para a
manipulação de strings também conhecidos como array de chars. Estas funções são capazes desde a
contagem, cópia e concatenação, comparação e diversas outras modificações. Na biblioteca estão

5
presentes os seguintes tipos: size_t(longo inteiro sem sinal, responsável por guardar a quantidade de
bytes de qualquer objeto retornado pelo operador sizeof) e NULL(Macro).
Funções:
● strcmp: essa função devolve um valor inteiro que indica o relacionamento entre string1 e
string2; Ex: strcmp(string1, string2) == 0 (o 0 indica que os parâmetros são iguais).

3.2 Estruturas de repetição usadas


● Do-while(faça - enquanto): Garante que o bloco de instruções seja executado no mínimo, já
que a condição que controla o laço é testada apenas no final do comando.
Ex: do {
Comandos a serem executados;
}while(condição);

● If/Else (se - senão): Esse comando dá origem às chamadas "estruturas de decisão


encadeadas", esse formato tem uma estrutura de seleção dentro da outra que permite fazer a
escolha de apenas um entre vários comandos possíveis.
Ex:
if(condição)
{ \\ irão ser executados se a condição do laço foi verdade; \\
comandos a serem executados;};
else
{\\ irá ser executados se a condição do laço "if" for falsa\\ outros comandos};

3.3 Variáveis do programa


● Struct: Variável especial que contém diversas outras variáveis normalmente de tipos
diferentes; é uma estrutura de dados composto que define fisicamente uma lista de incógnitas
agrupadas sob um nome em um bloco de memória assim todas a variáveis conseguem ser

6
acessadas por meio de um único ponteiro ou pelo que é declarado na estrutura que retorna o
mesmo endereço.
● Char: variável para identificar a escolha do herói escolhido pelo jogador;
char meupersonagem1[10][10] ={"nyrute","randrina"};

● Int: variável para valores inteiros; usada para identificar os índices dos vetores do programa
como os vetores dos atributos dos personagens, as escolhas de caminho e decisões
definitivas.

4.Descrição da IDE usada

Visual Studio Code


Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft. Ele possui
suporte para depuração, controle de versionamento Git incorporado, realce de sintaxe,
complementação inteligente de código. O editor é baseado no Electron, um framework que é usado
para desenvolver aplicativos Node.js para o desktop rodando no motor de layout Blink. Suporta um
número de linguagens de programação e um conjunto de recursos que podem ou não estar
disponíveis para a dada linguagem, como mostrado na tabela a seguir. Muitos dos recursos do Visual
Studio Code não são expostos através de menus ou da interface de usuário. Ao invés disso, elas estão
acessíveis através da paleta de comandos ou por meio de um arquivo JSON (como as preferências do
usuário). A paleta de comandos é uma interface de linhas de comando.

7
5. Resultado experimentais

8
6.Conclusão
O desenvolvimento do presente estudo possibilitou uma análise de como um jogo feito à base
de códigos fontes pode melhorar o aprendizado sobre linguagem de programação e os resultados
geraram um jogo criado do zero. Além disso, também permitiu uma pesquisa a fundo para obter
conhecimento sobre a estrutura de um jogo de rpg .
Com o uso correto das bibliotecas e suas funções é capaz de produzir uma estrutura de programação
complexa e completa resultando em seu primeiro jogo.

7.Bibliografia
Fluxograma
https://lucid.app/lucidchart/cc2fb29d-6d7a-4c35-8146-8979131160a5/edit?viewport_loc=4319%2C4
3%2C3330%2C1581%2C0_0&invitationId=inv_a29be37c-3431-4935-8ac8-36b521e095e1#

Sites para base do trabalho:


Sobre as bibliotecas e funções:
https://petbcc.ufscar.br/stdio/

Sobre as estruturas de repetição:


http://linguagemc.com.br/estruturas-de-decisao-encadeadas-if-else-if-else/
http://linguagemc.com.br/comando-do-while/

Projeto - Google drive


https://drive.google.com/drive/folders/1gPGLcMqsiunuB56uujdTrx-ONt3PIiE-?usp=sharing

9
10

Você também pode gostar