COde Review
-
Vielen Vielen Dank. Es wird noch ja eine Woche dauern, aber dann....
-
Die Kritik wird aber deine Feelings hurten.
-
So hier ist mein Projekt :http://fischkopf2009.fi.funpic.de/TTT_Game.zip
-
Iiiiihh, das ist ja Java (hättest du das nicht vorher schreiben können - jetzt ist mein Rechner verseucht
Deine main-Methode ist aber leer (auskommentiert), oder übersehe ich etwas
public class TTT_Application{ public static void main(String arg[]){ /*TTT_PlayingField field = new TTT_PlayingField(); field.setFieldValue(new Point(0,2),PlayerColor.Player1); field.printField(); System.out.println(); TTT_PlayingField field2 = field.clone(); field2.setFieldValue(new Point(0,0), PlayerColor.Player2); field2.printField(); System.out.println(); field.printField();*/ } }
???
Oder istpublic static TTT_Application app = new TTT_Application();
dein Einstiegspunkt?
Und deine Klasse "TTT_NN_Node" ist viel(!!!) zu groß - das geht deutlich kürzer (z.B. mittels einer Schleife, anstatt den vielen Einzelchecks (left, right, up, down, ...).
Gleiches gilt auch für "TTT_PlayingField"...Und deine "TTT_Game.run()"-Methode mit der "while(true)"-Schleife macht mir Angst (100% Prozessorlast) -)
Jetzt weiß ich wieder, warum ich Java nicht mag
-
Th69 schrieb:
Jetzt weiß ich wieder, warum ich Java nicht mag
Schlechter Stil liegt nicht an Java.
-
- Präfixe für Klassen sind doof
- In TTT_Player: Wenn man Name und Farbe eh nur einmal setzen und dann nicht mehr ändern darf, übergib die beiden Attribute im Konstruktor und mach die Setter weg
- setFieldState aus TTT_PlayingField würde ich umbenennen, schließlich wird da nix gesetzt sondern eher was intern berechnet; diese Methode auch vereinfachen
- TTT_NN_Node ist ein gar schröcklicher Klassenname
- Die einzige Funktion aus TTT_NN_Node ist zu lang. Evtl hast du die Aufgabe von TTT_NN_Node nicht richtig festgelegt?
- Wie schon Vorredner erwähnt ist die Schleife in TTT_Game nicht sehr schickSonst sieht's aber ganz gut aus!
-
Ich möchte mich hier erst mal bedanken. Hätte nicht gedacht, dass ich soviel Antworten bekomme.
Zu der While Schleife :
Sie läuft in einem seperaten Threat und hat die Aufgabe den Spiel - Verlauf zu überwachen. Gibt es eine elegantere Lösung ?
Okay an den Namen der Klasse werde ich noch mal arbeiten.
-
Du solltest wenigstens ein "Thread.Sleep(...)" (oder wie das in Java heißt) einbauen...
(aber warum du dafür einen eigene Thread benötigst, weiß ich nicht - aber wie schon geschrieben, verstehe ich auch dein Design nicht ganz !?)
-
Kannst du mir einen Verbesserung vorschlag geben ? :xmas1:
-
BVei GUI-Krams bietet sich natürlich immer Event-basiertes Arbeiten an. Der User macht 'ne Aktion und du reagierst darauf. Oder du hast (zusätzlich) noch einen Timer, also alle paar Millisekunden wird dein Event ausgelöst.
Muss das in der besagten Schleife denn so hochtüchtig tausende male pro Sekunde ausgeführt werden? Was passiert da genau?