G
Guest
Gast
Ich bin gerade dabei eine Klausur zu bearbeiten, die sich mit dem Thema GBO beschäftigt. Nun besteht diese Klausur aus 8 Aufgaben. 7 dieser Aufgaben konnte ich lösen, während ich mit einer Aufgabe überhaupt nicht klar komme. Eine konkrete Frage in diesem Zusammenhang zu stellen wäre sinnloss. Aus diesem Grund stell ich einfach mal den Quellcode der Klasse mit der ich Probleme habe ins Netz. Ich hab die Klasse soweit wie ich konnte bearbeitet. Es wäre super wenn ihr mir bei der Lösung der Aufgabe 6 behilflich sein könntet.
Hier der Link zur Klausur (login: i, password: studis)
Hier der Link zur Klausur (login: i, password: studis)
Code:
import javax.swing.*;
import java.awt.*;
public class GraphicView extends JPanel implements Listener
{
private Area area;
public GraphicView(Area area)
{
this.area = area;
area.addListener(this);
}
public void update()
{
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int[][] position = area.getPositions();
int w = getWidth();
int h = getHeight();
int deltaX = w / position.length;
int deltaY = h / position[0].length;
FontMetrics fm = g.getFontMetrics();
int labelHeight = fm.getAscent();
for(int i=0; i<position.length; i++)
{
for(int j=0; j<position[i].length; j++)
{
String label = "";
if(position[i][j] != 0)
{
g.setColor(Color.BLACK);
g.fillRect(i * deltaX, j * deltaY, deltaX, deltaY);
label = "player " + position[i][j] + " @ ";
}
label += "[" + i + "," + j + "]";
int labelWidth = fm.stringWidth(label);
g.setColor(Color.BLACK);
//g.drawString(label);
}
}
for(int i=0; i<position.length; i++)
{
//g.drawLine();
}
for(int j=0; j<position[0].length; j++)
{
//g.drawLine();
}
}
}