OK, jestem w trakcie tworzenia prostej gry szachowej Java. To pytanie dotyczy raczej projektu OOP niż Java Swing.OOP desing, Java Swing, gra w szachy, instanceof
mam następujące:
- Mam klasy panel, który implementuje JPanel.
- Mam następnie klasą abstrakcyjną kawałek, który rozciąga się od mojej klasie Panelu
- Wtedy mam zajęcia dla różnych elementów: Pożyczki, król, biskup etc, które rozciągają się od mojej klasie Elementów
W moim głównym ChessGame Klasa:
- Używam tablicę Panelu przechowywać układ moim pokładzie
- więc tablica będzie przechowywać, obiekty pANEL, miejsc płyta z żadnym sztuk na nim.
- I będzie przechowywać, podklasy, takie jak Pożyczki, Queen, Bishop etc (miejsc płyta z kawałkach)
Tak, lewy górny kwadrat (0,0) mapuje do mojaTablica [0] [0]
Mój problem polega na tym, aby sprawdzić, czy miejsce jest pusta lub szachy w nim muszę używać:
if(panels[x][y] instanceof Piece){
((Piece)panels[x][y]).makeMove();
}
co pytam jest to straszny projekt? Wiem, że powinienem starać się unikać przykładów. Jakie byłoby lepsze podejście?
Dzięki.
Możesz wpisać 'null', aby powiedzieć, że tam nie ma elementu, lub możesz utworzyć nową klasę' Empty' i dziedziczyć z panelu, a następnie tak, instanceof jest dobrym sposobem dookoła. – kajacx
@kajacx sprawiają, że odpowiedź. To jest idealne. – DiogoSantana
@kajacx Dzięki za szybką odpowiedź. Obiekty panelu zapewniają funkcjonalność, tworzą puste miejsca na planszy. Więc nie jestem pewien, czy zadziała null. Moja klasa Panel to moja pusta klasa, prawda? Po prostu tworzy puste miejsca na planszy. – user1543871