Skip to content

loupote/INF1636_OOP_MonopolyGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Participantes do grupo

  • Louis Pottier - 2311024
  • Luiz Felipe Neves - 2311024
  • Matheus Nossar - 2311024

Classe que contém main

AppBancoImobiliario (src/view/AppBancoImobiliario.java)

Descrição do formato do arquivo de salvamento da partida

Nome do formato: BANCO_IMOBILIARIO_SAVE_V1

O arquivo é um texto plano codificado em US-ASCII. A estrutura é baseada em linhas, onde cada linha representa um registro distinto. Os campos dentro de cada registro são separados por ponto e vírgula (;).

  1. Cabeçalho (Header)

A primeira linha do arquivo é uma assinatura estática para validação de versão.

Conteúdo: BANCO_IMOBILIARIO_SAVE_V1
  1. Metadados (META)

Contém o estado global da partida. Diferente das outras linhas, esta utiliza pares chave=valor.

Prefixo: META

Campos:

    jogadores: Número total de jogadores (int).

    jogadorAtual: Índice (0-based) do jogador que detém a vez (int).

    saldoBanco: Valor monetário disponível no banco (int).

    fase: Estado atual do turno (Enum: AGUARDANDO_LANCAMENTO, etc.).

Exemplo: META;jogadores=4;jogadorAtual=2;saldoBanco=174805;fase=AGUARDANDO_LANCAMENTO

  1. Contexto Visual e Textual (MSG / IMG)

Armazenam a última interação ocorrida para reconstrução da interface. O conteúdo é codificado em Base64.

MSG: Última mensagem de texto exibida.

    Formato: MSG;<texto_base64>

IMG: Referência para a última imagem exibida (ex: cartas de sorte/revés).

    Formato: IMG;<caminho_ou_id_base64>
  1. Jogadores (PLAYER)

Define o estado de cada jogador. Os campos são posicionais.

Prefixo: PLAYER

Estrutura: PLAYER;Nome;Cor;Saldo;Posição;Falido?;Preso?;SaídaLivre?;DuplasSeguidas;TentativasPrisão

Índice Campo Tipo Descrição 1 Nome String Nome do jogador. 2 Cor Enum Cor do peão (ex: LARANJA, VERMELHO). 3 Saldo Int Dinheiro atual do jogador. 4 Posição Int Índice do tabuleiro (0-39). 5 Falido Bool true se o jogador perdeu o jogo. 6 Preso Bool true se está na prisão. 7 Saída Livre Bool true se possui carta de "Saída Livre da Prisão". 8 Duplas Int Contador de dados iguais consecutivos. 9 Tentativas Int Contador de tentativas falhas de sair da prisão.

Exemplo: PLAYER;3;LARANJA;10716;34;false;false;false;0;0

  1. Propriedades (PROP)

Representa terrenos edificáveis (ruas/avenidas).

Prefixo: PROP

Estrutura: PROP;Posição;DonoIndex;Casas;TemHotel?;RequerVisita?

Índice Campo Tipo Descrição 1 Posição Int Índice do terreno no tabuleiro (0-39). 2 Dono Int Índice do jogador proprietário (-1 se sem dono). 3 Casas Int Quantidade de casas construídas. 4 Hotel Bool true se houver um hotel construído. 5 Requer Visita Bool Flag lógica de controle de visita (usada na lógica de construção).

Exemplo: PROP;29;1;0;true;false (Propriedade na posição 29, dono é o jogador 1, tem 1 hotel).

  1. Companhias (COMP)

Representa terrenos utilitários (Ferrovias ou companhias de serviço) que não aceitam casas/hotéis.

Prefixo: COMP

Estrutura: COMP;Posição;DonoIndex

Índice Campo Tipo Descrição 1 Posição Int Índice do terreno no tabuleiro. 2 Dono Int Índice do jogador proprietário (-1 se sem dono).

Exemplo: COMP;5;2 (Companhia na posição 5 pertence ao jogador 2).

About

OOP Class project in Java to implement a board game

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages