Zum Inhalt springen

BlueJ Projekt Schachspiel viele Probleme


Empfohlene Beiträge

Geschrieben

Guten Morgen erstmal,

Um das vorweg zunehmen, ich habe in meinem Leben noch nie programmiert, und jetzt sollen wir als Projekt ein Schachspiel programmieren, was ich schon sehr heftig finde. Wir haben nun in unserer Gruppe schon einiges hinbekommen, aber laufen tut da bisher nichts so wirklich. Zum Programmieren nutzen wir BlueJ.

Nun zum Problem:

Ich habe bei unserem Schachspiel das Problem, das ich nicht in der Lage bin, den Klassen Bauer, König, Dame etc. ein eigenes Bild zuzuweisen.

Kann mir irgendjemand sagen, wie ich der Klasse sage, wo sie sich das Bild herholt, also wie sie automatisch den Pfad zu dem Bild findet.

Außerdem verstehe ich nicht, wie ich der Klasse überhaupt sage, das sie ein Bild für sich nutzen soll.

Eine weitere Frage ist, wäre es sinnvoll für das Schachbrett selber eine Grafik einzufügen und dann ein Array "darüber" zulegen oder wie sollte man das bewerkstelligen?

Infos zum Schachfeld:

Das Schachfeld hat eine Größe von 800 x 800 Pixeln

Jedes Feld dementsprechend 100 x 100 Pixel

Die Figuren sind als .png gespeichert und ebenfalls 100 x 100 Pixel groß.

Um euch ein Bild davon machen zu können habe ich unser bisheriges Ergebniss hier hochgeladen:

schachspiel.rar

Vielen Dank schonmal im Vorraus

P.S.: Wenn wir das geklärt haben sollten, dann hätte ich natürlich noch ein paar mehr fragen zu usnerem Projekt :)

Geschrieben

Ein Schachspiel als Anfänger zu programmieren ist schon etwa heftig. Ich habe euren Code kurz durchgeschaut, ihr habt ja schin ein paar Ansätze. Alle Figuren von der Klasse Spielfigur abzuleiten ist so schon gut. Aber ihr könnt auch einen Konstruktor in der Klasse Spielfigur verwenden, statt in den Klassen der einzelen Figuren, er sieht sowieso jedes mal gleich aus. Genauso die Member name, xPos, yPos und white. Dann bleibt für die einzelnen Figuren nur noch das moveControl() übrig.

Um Bilder in Java auszugeben, braucht ihr eine GUI wie zum Beispiel Swing oder SWT. Die Dateien von den Figuren könnt ihr dann entweder über einen zusätzlichen Member oder über den Klassennamen ableiten.

Geschrieben

Danke für die Antwort,

aber ich muss gestehen, ich verstehe es nicht ganz mit dem Swing oder SWT und wie ich die Bidler dann an die Klassen weiter leite...wenn ich das richtig verstanden habe was du da sagtest ^^

Geschrieben

Java kann ohne weiteres keine grafischen Oberflächen machen sondern nur Komandozeile (Textausgabe). Darum wurden Bibliotheken entwickelt, mit denen man grafische Komponenten (Buttons, Listen, Tabellen, Eingabefelder, ... und eben auch Images) umsetzen kann. Eine bekannte davon (von Sun, also dem früheren Hersteller von Java) entwickelt und heißt Swing, eine andere (von IBM entwickelt) heißt SWT. Wenn du Fenster (mit Bildern) anzeigen möchtest, musst du dich damit befassen.

Geschrieben

Ich hab "damals" in der Schule auch mit BlueJ angefangen. Ich meine mich erinnern zu können, dass es dort Beispielmethoden für Kreise, Rechtecke und Dreiecke gibt...

Die musst du dann nur mit einem Actionlistener versehen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...