Hallo,
bei vielen Dingen bin ich bisher auf dieses Forum gestoßen und es hat mir sehr geholfen, hier etwas zu lesen. Jetzt hab ich mich mal dazu durchgerungen einen Account zu erstellen, um eine Frage bzgl. eines Spiels, welches ich programmiere, loszuwerden.
Es geht um eine Schachspiel Application mit einem Frame. Das Schachbrett wird über eine for Schleife gezeichnet, d.h. es werden Rechtecke aneinandergefügt und dabei immer überprüft, ob das vorherige Feld schwarz oder weiß ist und das Gegenteil wird gezeichnet. Soweit sogut, klappt. Dann habe ich ein zweidimensionales Image Array erstellt. Dieses enthält die Schachfiguren, welche gleichzeitig in startaufstellung angeordnet sind.
Aus diesem Feld lasse ich bisher auch gleichzeitig über die Schleife, welche das Brett zeichnet die Startposition zeichnen.
Nun ist meine Frage, wie ich am besten mit dem MouseListener ein Feld auswählen kann und das Image was auf diesem Feld liegt an die Maus pappen und auf ein neues Feld verschieben.
Die Idee ist, die Mauskoordinaten auszulesen und beim Click/Drag mit einer riesigen switch anweisung nochmal zu überprüfen, wo die koordinaten liegen. wenn sie zb zwischen 0 und 60 (für x und y) liegen, dann ist feld 1 gemeint. dafür wird auf das array figuren[0][0] (1. position) zugegriffen, der inhalt an die maus gepappt. beim loslassen werden wieder die koordinaten überprüft und der arrayinhalt in das neue feld geschrieben und aus dem alten gelöscht.
Meine Frage: Ist diese Denkweise denn sinnvoll? Geht es nicht auch viel einfacher, als für jedes Kästchen eine riesen Switch Abfrage zu machen? Kann ich den Mauslistener direkt an ein Bild aus einem Feld hängen oder ist es sinnvoller ein weiteres Array mit den Kästchenkoordinaten zu erstellen?
Wie pappe ich überhaupt ein Image aus einem Array an die Maus?
Ziel ist es in meine Malschleife neben den Kästchen auch immer das korrekte ArrayImage an die korrekte Stelle zu malen und durch Mausbewegung auch die Speicherung durchzuführen..
Ist jetzt etwas allgemein, wenn jemand am Quellcode interesse hat, bitte ich um eine PM.
Liebe Grüße,
gulty
bei vielen Dingen bin ich bisher auf dieses Forum gestoßen und es hat mir sehr geholfen, hier etwas zu lesen. Jetzt hab ich mich mal dazu durchgerungen einen Account zu erstellen, um eine Frage bzgl. eines Spiels, welches ich programmiere, loszuwerden.
Es geht um eine Schachspiel Application mit einem Frame. Das Schachbrett wird über eine for Schleife gezeichnet, d.h. es werden Rechtecke aneinandergefügt und dabei immer überprüft, ob das vorherige Feld schwarz oder weiß ist und das Gegenteil wird gezeichnet. Soweit sogut, klappt. Dann habe ich ein zweidimensionales Image Array erstellt. Dieses enthält die Schachfiguren, welche gleichzeitig in startaufstellung angeordnet sind.
Aus diesem Feld lasse ich bisher auch gleichzeitig über die Schleife, welche das Brett zeichnet die Startposition zeichnen.
Nun ist meine Frage, wie ich am besten mit dem MouseListener ein Feld auswählen kann und das Image was auf diesem Feld liegt an die Maus pappen und auf ein neues Feld verschieben.
Die Idee ist, die Mauskoordinaten auszulesen und beim Click/Drag mit einer riesigen switch anweisung nochmal zu überprüfen, wo die koordinaten liegen. wenn sie zb zwischen 0 und 60 (für x und y) liegen, dann ist feld 1 gemeint. dafür wird auf das array figuren[0][0] (1. position) zugegriffen, der inhalt an die maus gepappt. beim loslassen werden wieder die koordinaten überprüft und der arrayinhalt in das neue feld geschrieben und aus dem alten gelöscht.
Meine Frage: Ist diese Denkweise denn sinnvoll? Geht es nicht auch viel einfacher, als für jedes Kästchen eine riesen Switch Abfrage zu machen? Kann ich den Mauslistener direkt an ein Bild aus einem Feld hängen oder ist es sinnvoller ein weiteres Array mit den Kästchenkoordinaten zu erstellen?
Wie pappe ich überhaupt ein Image aus einem Array an die Maus?
Ziel ist es in meine Malschleife neben den Kästchen auch immer das korrekte ArrayImage an die korrekte Stelle zu malen und durch Mausbewegung auch die Speicherung durchzuführen..
Ist jetzt etwas allgemein, wenn jemand am Quellcode interesse hat, bitte ich um eine PM.
Liebe Grüße,
gulty