- Louis Pottier - 2311024
- Luiz Felipe Neves - 2311024
- Matheus Nossar - 2311024
AppBancoImobiliario (src/view/AppBancoImobiliario.java)
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 (;).
- Cabeçalho (Header)
A primeira linha do arquivo é uma assinatura estática para validação de versão.
Conteúdo: BANCO_IMOBILIARIO_SAVE_V1
- 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
- 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>
- 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
- 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).
- 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).