BlockChallenge: Klötze haben keinen anschlag

Status
Nicht offen für weitere Antworten.

El_Jazzo

Mitglied
hallo zusammen

ich hoffe jemand kann mir weiter helfen?!

ich programmiere momentan ein spiel das änlich ist wie tetris (block challenge). leider habe ich das problem, dass meine klötze keinen anschlag erkennen und durch das bild laufen bis in alle ewigkeit! also sie bleiben nicht unten am boden stehen. die blöcke zeichen ich mit draw().

weiss da jemand eine lösung wie ich machen kann dass die blöcke den boden erkennen?
 

heart_disease

Bekanntes Mitglied
Wie stellst du dir vor, dass dir irgendjemand bei so einer mageren Fragestellung helfen kann?
Ohne Code nix los und dass du eine Methode mit dem Namen draw() verwendest ist auch kein sonderlich hilfreicher Hinweis.
 
Zuletzt bearbeitet:

El_Jazzo

Mitglied
also die klötze wurden so erstellt und werden in einem panel dargestellt:

g.setColor(fill_color);
g.fillRect(this.top_left.x, this.top_left.y, WIDTH/2, WIDTH/2);
g.fillRect(this.top_left.x, this.top_left.y, WIDTH, WIDTH/2);
g.fillRect(this.top_left.x, this.top_left.y, WIDTH/2, WIDTH);

g.setColor(color_line);
g.drawRect(this.top_left.x, this.top_left.y, WIDTH, WIDTH);
g.drawRect(this.top_left.x, this.top_left.y, WIDTH/2, WIDTH/2);
g.drawRect(this.top_left.x+WIDTH/2, this.top_left.y+WIDTH/2, WIDTH/2, WIDTH/2);

jetz ist es so das diese klötze durch diesen panel (300x300) durchlaufen, da sie stetig neu gezeichnet werden bis sie auf dem panel nicht mehr sichtbar sind. ich möchte aber das diese unten am panel sichtbar bleiben. wie kann ich das machen?
 

HoaX

Top Contributor
draw() malt sicherlich deine Blöcke blind an die Position wo sie vorgeben sich zu befinden. Also sorge dafür dass die Blöcke sich nicht weiter bewergen wenn der Rand erreicht ist... was soll man mehr dazu sagen?
 

El_Jazzo

Mitglied
und wie mache ich das mein programm erkennt, dass ein klotz den unteren rand erreicht hat und somit ein neuer gezeichnet werden kann?
 

Landei

Top Contributor
Normalerweise hat ein Spiel eine interne Repräsentation (Modell) und davon abgeleitet, aber separat die Darstellung. Ein Schachprogramm hat intern z.B. eine Figuren-Klasse, und nicht nur die Pixel auf dem Bildschirm (stell dir vor, das Programm müsste anhand der Pixel erkennen, auf welche Figur der Nutzer gerade geklickt hat - schon etwas ungeschickt, oder?). Bei Tetris und Verwandten bietet sich natürlich ein 2D Array mit Klötzchen an, da kann man auch ganz schnell sehen, ob ein Klötzchen "unter" sich noch Platz hat. Auch der linke, rechte und untere Rand kann durch Klötzchenreihen "simuliert" werden. Natürlich muss man noch etwas tricksen, um den Übergang von einer Klötzchenposition zur nächsten fließend und nicht "springend" zu gestalten, das ist aber für den eigentlichen Spielablauf oft gar nicht so entscheidend, sondern nur "Abteilung Schönes & Elegantes".

Falls dich englisch nicht abschreckt, würde ich dir diese Online-Lektüre empfehlen: Killer game programming in Java
 
Zuletzt bearbeitet:
B

bygones

Gast
Code:
if (block.getX() == 0) // oder halt getY() was auch immer diese Koordinate ist
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E BlockChallenge: Problem beim löschen der Blöcke Java Basics - Anfänger-Themen 3
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
M Erste Schritte Neuen Frame nur einmal offen haben Java Basics - Anfänger-Themen 6
K Methoden mit den Namen accept. Welche Funktion haben diese? Java Basics - Anfänger-Themen 2
K Welchen Typ haben Variablen in Default-Methoden und in statischen Methoden in Schnittstellen? Java Basics - Anfänger-Themen 4
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
N Objektvariablen haben den gleichen Wert - warum? Java Basics - Anfänger-Themen 5
T Wenn Schaltjahr ist, soll Februar, einen Tag mehr haben, GUI mit combobox Java Basics - Anfänger-Themen 4
B Warum haben Java Programme ein anderes Design? Java Basics - Anfänger-Themen 5
J Haben Chars wirklich keine KeyCodes? Java Basics - Anfänger-Themen 12
J Wie behalten Variablen den Wert, den sie in einer anderen Methode erhalten haben? Java Basics - Anfänger-Themen 14
M Class will alle Variablen als static haben Java Basics - Anfänger-Themen 11
T Doublezahlen haben ein E Java Basics - Anfänger-Themen 12
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
E Object als Parameter das Unbekannt ist, aber ein bestimmtes Interface haben muss Java Basics - Anfänger-Themen 3
M möchte in konstrukturaufruf eine bedingte anweisung haben. Java Basics - Anfänger-Themen 6
T Variablen haben null Wert in try-Anweisung Java Basics - Anfänger-Themen 4
L Array von Buttons, jeder soll MouseListener haben Java Basics - Anfänger-Themen 5
D Welchen Namen darf ein Konstruktor haben? Java Basics - Anfänger-Themen 6
M Warum können innere Klassen keine static-members haben? Java Basics - Anfänger-Themen 2
P Program funktioniert nur bei Rechner die jdk haben Java Basics - Anfänger-Themen 4
S Welche Bedeutung haben diese Wörter? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben