Gra kółko i krzyżyk - ocena kodu

0

Cześć wszystkim. Jest to mój pierwszy program w Javie więc proszę o wyrozumiałość. Jest to test czego nauczyłem się po pierwszych 6 rozdziałach książki.
Proste kółko i krzyżyk dla 2 graczy (komputer to też gracz brak tutaj algorytmu komputera).
Kompilowany na UBUNTU:
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
javac 1.7.0_75

simple.java (tutaj jest main) : http://4programmers.net/Pastebin/3845
board.java : http://4programmers.net/Pastebin/3842
player.java : http://4programmers.net/Pastebin/3843
game.java : http://4programmers.net/Pastebin/3844

0
  1. Java conventions czyli nazwy klas z dużej litery
  2. metoda main powinna być moim zdaniem jak najbardziej "uboga", operować na gotowych obiektach bez logiki, np.
players[0] = new player("LUKE", "X");
players[1] = new player("COMPUTER", "O");
new game().play(players);
  1. dziedziczenie game po board, jedno do drugiego się ni jak ma
  2. Stringi powinno porównywać się za pomocą equals a nie ==
  3. klasa game mogła by być swoistym kontrolerem
public void setStatus(boolean status) { run = status;}

nie lubię jednolinijkowców nawet bardzo prostych, ja osobiście wolę

public void setStatus(boolean status) { 
	run = status;
}
  1. program wywala się przy wpisaniu litery, brak walidacji na inputa
if(play.checkWin("O") == true) {

ja osobiście wolę

if(play.isWinner("O")) {
  1. w mainie:
for(int i = 0; i < 32; ++i) System.out.println();

U mnie źle się rysuje plansza; lepiej byłoby czyścić ekran i rysować od nowa
10. pętla while w mainie mogła by być w oddzielnej klasie (worker)
11.

play.checkDraw()

--> play.isOver()

1 użytkowników online, w tym zalogowanych: 0, gości: 1