PDA

View Full Version : Leggere PlayFieldDescriptor da un file testo (o xml)


fek
15-03-2008, 12:58
Questo e' il codice incriminato:


public static PlayFieldDescriptor createForPlayerOne(Engine engine)
{
// TODO: REFACTOR THIS: Remove all hard coded values. This code has to be data-driven
// Place these values in a text file and create a PlayFieldDescriptor from there.
return new PlayFieldDescriptor(
new Point(20, 32),
new Point(292, 32),
new Point(291, 421),
new Point(20, 224),
WarningBox.createForPlayerOne(engine),
CounterBox.createForPlayerOne(engine),
CrushBox.getOriginForPlayerOne());
}


public static PlayFieldDescriptor createForPlayerTwo(Engine engine)
{
// TODO: REFACTOR THIS: Remove all hard coded values. This code has to be data-driven
// Place these values in a text file and create a PlayFieldDescriptor from there.
return new PlayFieldDescriptor(
new Point(524, 32),
new Point(476, 32),
new Point(419, 421),
new Point(524, 224),
WarningBox.createForPlayerTwo(engine),
CounterBox.createForPlayerTwo(engine),
CrushBox.getOriginForPlayerTwo());
}


Deve diventare qualcosa tipo:


public static PlayFieldDescriptor createForPlayerTwo(Engine engine)
{
return PlayFieldDescriptor.loadFrom(engine, "PlayerOne.txt");
}


Chi se ne occupa?

thebol
15-03-2008, 13:48
Questo e' il codice incriminato:


public static PlayFieldDescriptor createForPlayerOne(Engine engine)
{
// TODO: REFACTOR THIS: Remove all hard coded values. This code has to be data-driven
// Place these values in a text file and create a PlayFieldDescriptor from there.
return new PlayFieldDescriptor(
new Point(20, 32),
new Point(292, 32),
new Point(291, 421),
new Point(20, 224),
WarningBox.createForPlayerOne(engine),
CounterBox.createForPlayerOne(engine),
CrushBox.getOriginForPlayerOne());
}


public static PlayFieldDescriptor createForPlayerTwo(Engine engine)
{
// TODO: REFACTOR THIS: Remove all hard coded values. This code has to be data-driven
// Place these values in a text file and create a PlayFieldDescriptor from there.
return new PlayFieldDescriptor(
new Point(524, 32),
new Point(476, 32),
new Point(419, 421),
new Point(524, 224),
WarningBox.createForPlayerTwo(engine),
CounterBox.createForPlayerTwo(engine),
CrushBox.getOriginForPlayerTwo());
}


Deve diventare qualcosa tipo:


public static PlayFieldDescriptor createForPlayerTwo(Engine engine)
{
return PlayFieldDescriptor.loadFrom(engine, "PlayerOne.txt");
}


Chi se ne occupa?
non passerei engine, ma farei restituire le info che servono ai vari Box in maniera indipendete

fek
15-03-2008, 14:06
non passerei engine, ma farei restituire le info che servono ai vari Box in maniera indipendete

Si', va benissimo. Te ne occupi tu?

thebol
15-03-2008, 18:40
Si', va benissimo. Te ne occupi tu?

io avrei ancora da fare i test su playField x il crushBox....

Bonfo
15-03-2008, 19:11
Lo faccio io, sempre se non ci sono altre priorità.
E' da almeno 2 settimane che non committo niente e mi vergogno un po' :flower:

In ogni caso l'avevo già notato quel codice: no mi piace che da una parte si passi il Box e dall'altra le posizioni del Box.

Mi ci metto al lavoro. (tempi: 4 giorni)

Bonfo
18-03-2008, 05:47
non passerei engine, ma farei restituire le info che servono ai vari Box in maniera indipendete

Mi è venuto qualche dubbio, mi puoi spiegare meglio cosa intendevi ? grazie ;)

thebol
20-03-2008, 10:37
Mi è venuto qualche dubbio, mi puoi spiegare meglio cosa intendevi ? grazie ;)

PlayFieldDescriptor non avrebbe un getWarningBox, ma un getWarningBoxOrgin
o getWarningBoxPippoProperty.

Poi sara il consumatore di PlayFieldDescriptor a creare il playField e il warningBox con le propietà dentro il playFieldDescriptor.

Se le propieta di WarningBox, CrushBox dovessero essere molte, si potrebbe fare un WarningBoxDescriptor(o se le propietà sono in comune fra i vari box un commonBoxDesriptor), ma se non nasce quest'esigenza, lo riterrei YANGI

Bonfo
20-03-2008, 17:32
Ok, allora mi stavo muovendo nella direzione giusta ;)

Sono in ritardo di 2 giorni... stasera finisco!

Bonfo
21-03-2008, 05:25
Fatto.

Alcuni commenti:
1) ho reso completamente trasparente il fatto che i dati vengano caricati da file. Va bene o no?
2) I test dei vari box non sono consistenti al 100% ( vedere i post precedenti)
3) la creazione di playfield non è testata completamente.

fek
21-03-2008, 09:28
Fatto.

Alcuni commenti:
1) ho reso completamente trasparente il fatto che i dati vengano caricati da file. Va bene o no?
2) I test dei vari box non sono consistenti al 100% ( vedere i post precedenti)
3) la creazione di playfield non è testata completamente.

1) perfetto
2) puoi aggiustarli?
3) puoi testarla?

Bonfo
21-03-2008, 17:40
1) perfetto
2) puoi aggiustarli?
3) puoi testarla?

Certo ;)
Comunicavo a tutto il team, cosi' se qualcuno non sa cosa fare... :P