000
20.05.2004, 12:11 Uhr
~Salfador12
Gast
|
Hallo zusammen
ich erst vor kurzen angefangen mit Java und spiele bisschen mit den Klassen rum. Folgendes Problem habe ich
im meine Superclasse habe ich volgende initialisation
C++: |
public void init() { setLayout(new BorderLayout()); Panel grid = new Panel(); grid.setLayout(new GridLayout(0, 2)); add("Center", grid); myFeldCanvas = new FeldCanvas(); grid.add(myFeldCanvas); myScoreCanvas = new ScoreCanvas(); grid.add(myScoreCanvas);
|
die Canvas sieht so aus:
C++: |
class FeldCanvas extends Canvas implements ImageObserver{ public static final int BalkenBreite = 8; public static final Color BalkenFarbe = Color.blue; protected block FallingShape = null; public void paint(Graphics g) { DrawPlayField(g); DrawFallingShape(g); }
public void DrawFallingShape(Graphics g) { FallingShape.Display(g, BalkenBreite); }
public void DrawPlayField(Graphics g) { int x, y; g.setColor(BalkenFarbe); g.fillRect (Tetris.x, 0, BalkenBreite, Tetris.kBreite * Tetris.Ky); //linker Balken g.fillRect (Tetris.kBreite * Tetris.Kx + BalkenBreite + Tetris.x, 0, BalkenBreite, Tetris.kBreite * Tetris.Ky);//Rechter Balken g.fillRect (Tetris.x, Tetris.kBreite * Tetris.Ky, Tetris.kBreite * Tetris.Kx + BalkenBreite * 2, BalkenBreite);//Unterer Balken for (x = 0; x < Tetris.Kx; x++) { for (y = 0; y < Tetris.Ky; y++) { g.setColor(Tetris.HintergrundFarbe); g.fillRect((BalkenBreite +Tetris.x) + x * Tetris.kBreite + 1, y * Tetris.kBreite + 1, Tetris.kBreite - 2, Tetris.kBreite - 2); g.setColor(Color.white); g.drawRect((BalkenBreite +Tetris.x) + x * Tetris.kBreite, y * Tetris.kBreite, Tetris.kBreite - 1, Tetris.kBreite - 1); } } }
}
|
und letzendlich die classe block
C++: |
class block{ public void Display (Graphics g, int xOffs) { g.setColor(Color.red); g.fillRect(100,100,100,100); } }
|
Wie man unschwer sehen kann versuche ich Tetris nachprogrammieren. Mein Problem ist das das Feld (DrawPlayField) ohne weiteres gezeichnet wird nur der rote Quadrat nicht. Welchen Fehler habe ich gemacht? Für Hilfe bedanke ich mich in voraus. |