Boa tarde. Num projecto de um jogo tenho uma classe game que é a base de todo o model, e nessa classe tenho um método para guardar os dados do jogo num ficheiro de texto. Acontece que a única coisa que ele está a escrever no ficheiro é "false 8 false 8" (separados por linhas) e isto não era suposto acontecer. Podem-me ajudar dizendo o que está mal e porquê? Em baixo está o código que tenho na classe.
Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace jogo
{
class game
{
private tabuleiro tabuleiro;
private players jogador1=new players();//ou definir 1 lista d jogadores
private players jogador2=new players(); //os jogadors possuem peças
private histórico historico;
public game()
{
tabuleiro = new tabuleiro();
arbitro = new arbitro();
historico = new histórico();
}
public void instanciaJogadores()
{
//jogador1 = new players();
//jogador2 = new players();
jogador1.Nome = "Player 1";
jogador2.Nome = "Player 2";
}
internal histórico Historico
{
get { return historico; }
set { historico = value; }
}
internal players Jogador1
{ get { return jogador1; } }
internal players Jogador2
{ get { return jogador2; } }
public void guardaJogo() //algo está mal
{
//preciso guardar:
//-celulas/tabuleiro
//-dados dos Jogadores
//-peças n mesa
//-histórico
//-jogador a jogar
FileInfo t = new FileInfo("jogoGuardado.txt");
StreamWriter Txt =t.CreateText();
Txt.WriteLine(jogador1.Nome);
Txt.WriteLine(jogador1.NumeroPeças.ToString());
Txt.WriteLine(jogador1.Estado.ToString());
foreach (peças pedra in jogador1.Peças)
{
Txt.WriteLine(pedra.PosiçaoAtual.PosicaoX.ToString());
Txt.WriteLine(pedra.PosiçaoAtual.PosicaoY.ToString());
Txt.WriteLine(pedra.PosiçaoDestino.PosicaoX.ToString());
Txt.WriteLine(pedra.PosiçaoDestino.PosicaoX.ToString());
Txt.WriteLine(pedra.Estado.ToString());
Txt.WriteLine(pedra.Cor.ToString());
Txt.WriteLine(pedra.DireçaoAnterior.ToString());
Txt.WriteLine(pedra.DireçaoAtual.ToString());
Txt.Write(Txt.NewLine);
}
Txt.WriteLine(jogador2.Nome);
Txt.WriteLine(jogador2.NumeroPeças.ToString());
Txt.WriteLine(jogador2.Estado.ToString());
foreach (peças pedra in jogador2.Peças)
{
Txt.WriteLine(pedra.PosiçaoAtual.PosicaoX.ToString());
Txt.WriteLine(pedra.PosiçaoAtual.PosicaoY.ToString());
Txt.WriteLine(pedra.PosiçaoDestino.PosicaoX.ToString());
Txt.WriteLine(pedra.PosiçaoDestino.PosicaoX.ToString());
Txt.WriteLine(pedra.Estado.ToString());
Txt.WriteLine(pedra.Cor.ToString());
Txt.WriteLine(pedra.DireçaoAnterior.ToString());
Txt.WriteLine(pedra.DireçaoAtual.ToString());
Txt.Write(Txt.NewLine);
}
foreach (string line in historico.History)
{
Txt.WriteLine(line);
Txt.Write(Txt.NewLine);
}
Txt.Close();
}
}
}