From 15d9bb8dbffa9a33a2816e349df4d3c17b3fa0b9 Mon Sep 17 00:00:00 2001 From: luciano-freitas-melo <202016847@aluno.unb.br> Date: Mon, 25 Nov 2024 00:25:52 -0300 Subject: [PATCH] revisa parte de personagem no DD --- docs/DD/v1.md | 126 ++++++++++++++++++++++++-------------------------- 1 file changed, 60 insertions(+), 66 deletions(-) diff --git a/docs/DD/v1.md b/docs/DD/v1.md index 128b155..13707cf 100644 --- a/docs/DD/v1.md +++ b/docs/DD/v1.md @@ -1,7 +1,7 @@ # Dicionário de Dados ## Introdução -O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo utilizados em um sistema, fornecendo informações detalhadas sobre a estrutura de cada tabela, como nome, descrição, tipo de dado, tamanho e restrições de domínio. +O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo utilizados em um sistema, fornecendo informações detalhadas sobre a estrutura de cada tabela do [modelo relacional](../MR/v1.md), como nome, descrição, tipo de dado, tamanho e restrições de domínio. ## Tabela: Nação @@ -12,8 +12,6 @@ O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo | nome | Nome da nação | varchar | 20 | PK | | descrição | Descrição detalhada da nação | varchar | 250 | Not null | ---- - ## Tabela: Cidade **Descrição:** Possui as informações das cidades que o jogador poderá explorar. **Observações:** A tabela possui uma chave estrangeira para a tabela Nação. @@ -48,7 +46,7 @@ O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo | Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | | ---- | ------------------------------------------ | ------------ | ------- | --------------------- | | id | Identificador do personagem | int | | PK / Identity | -| tipo | Descreve se é um personagem jogável ou não | varchar | 1 | Not null | +| tipo | Descreve se é um personagem jogável ou não | char | | Not null | ## Tabela: PC **Descrição:** Possui as informações do personagem que o jogador irá utilizar, pode ser classificado como *playable character*. @@ -60,7 +58,7 @@ O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo | nome | Nome do personagem | varchar | 50 | Not null | | vidaMax | Vida máxima do personagem | int | | Not null | | vidaAtual | Valor que se altera em consequência do combate | int | | Not null | -| xp | Quantidade de pontos de experiência do personagem | int | | Default | +| xp | Quantidade de pontos de experiência do personagem | int | | Not null | | nível | Nível do personagem | int | | Not null | | numOuro | Quantidade de moedas de ouro | int | | | | numPrata | Quantidade de moedas de prata | int | | | @@ -76,69 +74,76 @@ O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo ## Tabela: NPC **Descrição:** Possui as informações dos personagens que o jogador poderá interagir, os quais serão não-jogáveis (*non-playable characters*). -**Observações:** +**Observações:** A tabela está dividida em duas sub-tabelas, Amigo e Inimigo, através de uma especialização por tipo. | Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | | ---- | ------------------------------------- | ------------ | ------- | --------------------- | | id | Identificador do NPC | int | | PK / Identity | -| tipo | Descreve se é o NPC é amigável ou não | varchar | 1 | Not null | +| tipo | Descreve se é o NPC é amigável ou não | char | | Not null | ## Tabela: Amigo **Descrição:** Possui as informações dos personagens não-jogáveis que serão amigáveis ao jogador. -**Observações:** - -| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | -| ----------- | --------------------------- | ------------ | ------- | --------------------- | -| id | Identificador do personagem | int | | PK / FK | -| falaEntrada | Diálogo inicial | varchar | 150 | Not null | -| falaSaida | Diálogo final | varchar | 150 | Not null | - - -## Tabela: Mestre -**Descrição:** Possui as informações do mestre, que será responsável em ensinar novos movimentos ao jogador. -**Observações:** - -| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | -| ------------------------ | --------------------------------------------- | ------------ | ------- | --------------------- | -| id | Identificador | int | | PK | -| nivelNecessarioDiscipulo | Nível necessário para ser discípulo do mestre | int | | Not null | - ---- - -## Tabela: Curandeiro -**Descrição:** Possui as informações do curandeiro, que será responsável em curar o jogador. -**Observações:** - -| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | -| ----------------- | -------------------------------------- | ------------ | ------- | --------------------- | -| id | Identificador | int | | PK | -| precoPorPontoCura | Preço por quantidade de cura a receber | int | | Not null | - ---- - -## Tabela: Mercador -**Descrição:** Possui as informações do mercador, que poderá vender itens para o jogador. -**Observações:** - -| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | -| --------------------- | ----------------------------- | ------------ | ------- | --------------------- | -| id | Identificador | int | | PK | -| nivelNecessarioCompra | Nível necessário para comprar | int | | Unique / Not null | -| multPreco | Multiplicador de preço | float | | Not null | - ---- +**Observações:** O Amigo pode ter subtipos especificos, sendo eles: + + - **Mestre**: responsável por ensinar novos movimentos ao jogador + - **Mercador**: responsável por curar o jogador + - **Curandeiro**: responsável por vender itens ao jogador + +| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | +| ------------------------ | ---------------------------------------------------------------- | ------------ | ------- | --------------------- | +| id | Identificador do personagem | int | | PK / FK | +| nome | Nome do personagem | varchar | 50 | Not null | +| vidaMax | Vida máxima do personagem | int | | Not null | +| vidaAtual | Valor que se altera em consequência do combate | int | | Not null | +| xp | Quantidade de pontos de experiência do personagem | int | | Not null | +| nível | Nível do personagem | int | | Not null | +| falaEntrada | Diálogo inicial do NPC | varchar | 150 | Not null | +| falaSaida | Diálogo final do NPC | varchar | 150 | Not null | +| ehMestre | Indica se o Amigo é um mestre | boolean | | | +| nivelNecessarioDiscipulo | Nível necessário para ser discípulo do mestre | int | | | +| ehMercador | Indica se o Amigo é um mercador | boolean | | | +| nivelNecessarioCompra | Nível necessário para comprar com o mercador | int | | | +| multPreco | Define um aumento ou redução de preço ao comprar com um mercador | float | | | +| ehCurandeiro | Indica se o Amigo é um Curandeiro | boolean | | | +| precoPorPontoCura | Preço por quantidade de cura a receber pelo Curandeiro | int | | | +| idArea | Identificador da área em que o Personagem está | int | | FK / Not null | + +## Tabela: FalaHistoria +**Descrição:** Possui as informações das falas que serão utilizadas pelos Amigos para interagir com o jogador durante o jogo. + +| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | +| ------- | ------------------------------------- | ------------ | ------- | --------------------- | +| id | Identificador da fala | int | | PK / Identity | +| dialogo | Fala do personagem | varchar | 150 | Not null | +| idAmigo | Identificador do Amigo que tem a fala | int | | FK / Not null | ## Tabela: Inimigo **Descrição:** Possui as informações dos personagens não-jogáveis que serão hostis ao jogador. **Observações:** -| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | -| -------------- | ------------------------- | ------------ | ------- | --------------------- | -| falaCombate | Fala durante o combate | varchar | 200 | PK | -| xpGanho | XP ganho ao derrotar | int | | Not null | -| numMoedasGanho | Moedas ganhas ao derrotar | int | | Not null | - +| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | +| -------------- | ------------------------------------------------- | ------------ | ------- | --------------------- | +| id | Identificador do personagem | int | | PK / FK | +| nome | Nome do personagem | varchar | 50 | Not null | +| vidaMax | Vida máxima do personagem | int | | Not null | +| vidaAtual | Valor que se altera em consequência do combate | int | | Not null | +| xp | Quantidade de pontos de experiência do personagem | int | | Not null | +| nível | Nível do personagem | int | | Not null | +| falaEntrada | Diálogo inicial do NPC | varchar | 150 | Not null | +| falaSaida | Diálogo final do NPC | varchar | 150 | Not null | +| xpGanho | XP ganho ao derrotar | int | | Not null | +| numMoedasGanho | Moedas ganhas ao derrotar | int | | Not null | +| idArea | Identificador da área em que o Personagem está | int | | FK / Not null | + +## Tabela: FalaCombate +**Descrição:** Possui as informações das falas que serão utilizadas pelos Inimigos para interagir com o jogador durante o combate. + +| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | +| --------- | --------------------------------------- | ------------ | ------- | --------------------- | +| id | Identificador da fala | int | | PK / Identity | +| dialogo | Fala do personagem | varchar | 150 | Not null | +| idInimigo | Identificador do Inimigo que tem a fala | int | | FK / Not null | ## Tabela: Movimento @@ -232,17 +237,6 @@ O Dicionário de Dados é uma ferramenta que descreve os dados que estão sendo -## Tabela: Inventário -**Descrição:** Detém as informações do inventário do personagem do jogador. -**Observações:** - -| Nome | Descrição | Tipo de dado | Tamanho | Restrições de domínio | -| ------- | ----------------------------------------- | ------------ | ------- | --------------------- | -| id | Identificador do inventário do personagem | int | | PK | -| pesoMax | Peso máximo suportado pelo inventário | float | | Default | - - - ## Histórico de versão | Data | Versão | Descrição | Autor |