- Java7 to switche ze stringami których używasz ale także try-with-reosueces którego nie używasz(wygooglaj), to także NIO.2 i np: klasa Path czy Paths których także nie używasz, poczytaj o tym, warto !
Kopiuj
case "przedsiębiorstwo":
nazwa = inFile.next();
rodzajPola = Pole.rodzajPola.PRZEDSIEBIORSTWO;
Plansza.addPole(rodzajPola, nazwa);
break;
case "start":
rodzajPola = Pole.rodzajPola.START;
Plansza.addPole(rodzajPola, "START");
break;
case "parking":
rodzajPola = Pole.rodzajPola.PARKING;
Plansza.addPole(rodzajPola, "PARKING");
break;
case "szansa":
rodzajPola = Pole.rodzajPola.SZANSA;
Plansza.addPole(rodzajPola, "SZANSA");
break;
case "kasa":
inFile.next();
rodzajPola = Pole.rodzajPola.KASA_SPOLECZNA;
Plansza.addPole(rodzajPola, "KASA SPOŁECZNA");
break;
case "więzienie":
rodzajPola = Pole.rodzajPola.WIEZIENIE;
Plansza.addPole(rodzajPola, "WIĘZIENIE");
break;
case "podatek":
inFile.next();
int oplata = inFile.nextInt();
rodzajPola = Pole.rodzajPola.PODATEK_DOCHODOWY;
Plansza.addPole(rodzajPola, "PODATEK DOCHODOWY", oplata);
break;
case "dworzec":
nazwa = inFile.next();
rodzajPola = Pole.rodzajPola.DWORZEC;
Plansza.addPole(rodzajPola,nazwa);
break;
każdy taki case powinien być metodą, powtarzasz kod, źle !
//DALEJ
Zamiast tych casów można to rozwiązać lepiej:
Kopiuj
doSomething(Types.PODATEK)
Takie coś powinno się wyciągać do metody
Kopiuj
nazwa = inFile.next();
GraczCzlowiek graczCzlowiek = new GraczCzlowiek(nazwa);
gracze.add(graczCzlowiek);
A takie coś nie powinno się zdarzyć:
Kopiuj
ArrayList<Gracz> gracze = new ArrayList<>();
????????
isPozwolenieNaBudowe()
To jest słabe, Effective Java 2, Item 2
Kopiuj
private int oplata = 0;
private Random generator = new Random();
public NieKupne(rodzajPola rodzaj, String nazwa){
this.rodzaj = rodzaj;
this.nazwa = nazwa;
this.nrPola = liczbaPol;
liczbaPol++;
}
public NieKupne(rodzajPola rodzaj, String nazwa, int oplata){
this.rodzaj = rodzaj;
this.nazwa = nazwa;
this.oplata = oplata;
this.nrPola = liczbaPol;
liczbaPol++;
}
Te metody robią zdecydowanie za dużo, jedna metoda jedna akcja.
https://github.com/kamedor/monopoly1.1/blob/master/src/Gracz.java
te nazwymetod, klas, zmiennych są śmieszkowe...
<trololo>
Tam faktycznie są testy, najs :D nie rób takich kitajskich taktyk.... użyj jak człowiek Junita :D
</trololo>