Guten Tag,
bin gerade dabei ein Spiel zu programmieren.
Als Oberfläche hab ich ein GridLayout gewählt, dieses beinhaltet Buttons. Diese Buttons sollen die einzelnen Spielfelder darstellen.
Die Struktur wird durch ein zwei Dim. Array erstellt:
gameGrid= new int[][]
{{3,0,0,0,0,1,0,0,0,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,0,1,0,0,0,0,0,0,0,2,2,2},
{2,2,0,0,0,0,2,2,2,2,2,2,2,2,2,2,1,0,0,0},
{2,2,0,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,0},
{2,2,0,2,2,1,0,0,0,0,1,1,0,0,0,0,1,0,1,0},
{2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,2,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,1,2,2},
{2,2,1,2,2,2,2,2,2,2,2,0,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,2,2,2,2,2,0,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,1,0,0,0,1,0,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2},
{2,2,0,1,0,0,0,2,2,2,2,2,2,2,2,0,0,0,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,4}};
Diese Struktur wird später dann dem Layout zugeordnet.
gamefield = gameGrid.createGameGrid();
pnlGame.setLayout(new GridLayout(gamefield.length,gamefield.length,0,0));
Beim durchlaufen des Arrays wird anhand der Werte das Image der Buttons "geladen".
for (int zeile=0;zeile<gamefield.length;zeile++)
{
for (int spalte=0;spalte<gamefield.length;spalte++)
{
if (gamefield[zeile][spalte]==0)
{
JButton button = new BlauFeld();
//buttons.add(button);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==1)
{
JButton button = new RotFeld();
//buttons.add(button);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==2)
{
JButton button = new GrasFeld();
//buttons.add(button);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==3)
{
JButton button = new StartFeld();
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
drawPlayersStartPosition(button);
button.setText("YES");
}
});
//buttons.add(button);
button.action(null, null);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==4)
{
JButton button = new ZielFeld();
//buttons.add(button);
pnlGame.add(button);
}
die Frage ist nun wie realisier ich es das z.b beim Start des Spiels. Die Spielfiguren(sollen gezeichnete Kreise sein) sich auf den Buttons abzeichnen.
Hat da jemand eine Idee
bin gerade dabei ein Spiel zu programmieren.
Als Oberfläche hab ich ein GridLayout gewählt, dieses beinhaltet Buttons. Diese Buttons sollen die einzelnen Spielfelder darstellen.
Die Struktur wird durch ein zwei Dim. Array erstellt:
gameGrid= new int[][]
{{3,0,0,0,0,1,0,0,0,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2},
{2,2,2,2,2,2,2,2,0,1,0,0,0,0,0,0,0,2,2,2},
{2,2,0,0,0,0,2,2,2,2,2,2,2,2,2,2,1,0,0,0},
{2,2,0,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,0},
{2,2,0,2,2,1,0,0,0,0,1,1,0,0,0,0,1,0,1,0},
{2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,2,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,1,2,2},
{2,2,1,2,2,2,2,2,2,2,2,0,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,2,2,2,2,2,0,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,1,0,0,0,1,0,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2},
{2,2,0,2,2,2,0,2,2,2,2,2,2,2,2,2,2,0,2,2},
{2,2,0,1,0,0,0,2,2,2,2,2,2,2,2,0,0,0,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,2,2},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,4}};
Diese Struktur wird später dann dem Layout zugeordnet.
gamefield = gameGrid.createGameGrid();
pnlGame.setLayout(new GridLayout(gamefield.length,gamefield.length,0,0));
Beim durchlaufen des Arrays wird anhand der Werte das Image der Buttons "geladen".
for (int zeile=0;zeile<gamefield.length;zeile++)
{
for (int spalte=0;spalte<gamefield.length;spalte++)
{
if (gamefield[zeile][spalte]==0)
{
JButton button = new BlauFeld();
//buttons.add(button);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==1)
{
JButton button = new RotFeld();
//buttons.add(button);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==2)
{
JButton button = new GrasFeld();
//buttons.add(button);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==3)
{
JButton button = new StartFeld();
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
drawPlayersStartPosition(button);
button.setText("YES");
}
});
//buttons.add(button);
button.action(null, null);
pnlGame.add(button);
}
if (gamefield[zeile][spalte]==4)
{
JButton button = new ZielFeld();
//buttons.add(button);
pnlGame.add(button);
}
die Frage ist nun wie realisier ich es das z.b beim Start des Spiels. Die Spielfiguren(sollen gezeichnete Kreise sein) sich auf den Buttons abzeichnen.
Hat da jemand eine Idee