[Java] Hilfe in Dame

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von darkman x, 8. Februar 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. Februar 2009
    Hilfe in Dame

    Hallo, ich versuche gerade Dame zu programmieren... aber ich weiß jetzt nicht wie ich es machen muss, damit man die steine auf die schwarzen felder bewegen kann. Aber ich möchte gerne mit getSource programmieren. Ich hoffe ihr könnt mir irgendwie helfen, tipps oder lösungsvorschläge wäre sehr nett.

    //das programm

    import java.awt.*;
    import javax.swing.*; //ist für die Grafik, also das man die Bilder einfügen kann
    import java.awt.event.*;




    public class Dame extends Frame implements ActionListener {


    JButton[][] feld = new JButton[8][8];
    int[][] feldbelegt = new int[8][8]; //0 = frei, 1 = weißer stein, 2 = schwarzer stein
    ImageIcon white = new ImageIcon("bilder/white.gif");
    ImageIcon black = new ImageIcon("bilder/black.gif");
    ImageIcon s_white = new ImageIcon("bilder/s_white.gif");
    ImageIcon s_red = new ImageIcon("bilder/s_red.gif");
    boolean farbe = true;
    boolean spieler1 = true
    boolean spieler2


    public Dame(){

    super("Dame");
    setSize(259,284);
    setLayout(null);


    //Spielfeld
    //die if-befehle dienen dazu, diesen schwarz-weis felder abwechselnd zu machen
    int reihen = 0;
    int spalten = 0;
    for(reihen=1;reihen<=8;reihen++)
    {

    if (farbe == true)
    {
    farbe = false;
    }else{
    farbe = true;
    }
    for(spalten=1;spalten<=8;spalten++)
    {
    if (farbe == true)
    {
    feld [reihen-1][spalten-1] = new JButton(white);
    farbe = false;
    }else{
    if (reihen < 4)
    {
    feldbelegt[reihen-1][spalten-1] = 2; //schwarzer stein
    feld [reihen-1][spalten-1] = new JButton(s_red);
    }else{
    if (reihen > 5)
    {
    feldbelegt[reihen-1][spalten-1] = 1; //weißer stein
    feld [reihen-1][spalten-1] = new JButton(s_white);
    }else{
    feldbelegt[reihen-1][spalten-1] = 0; //freies feld
    feld [reihen-1][spalten-1] = new JButton(black);
    }
    }
    farbe = true;
    }
    //hier werden die Bausteine selber platziert
    feld [reihen-1][spalten-1].setBounds(10+((spalten-1)*30),35+((reihen-1)*30),30,30);
    add(feld [reihen-1][spalten-1]);
    feld [reihen-1][spalten-1].addActionListener(this);
    feld [reihen-1][spalten-1].setActionCommand((reihen-1)+""+(spalten-1));
    /*
    1. setzen der positionen... mit größe...
    2. feld wird hinzugefügt
    3. actionlistener wird für das feld gesetzt
    4. das ist der befehl, den er bekommt, wenn das feld geklickt wird... also bei dem 1. feld links oben... wäre das 11
    */

    }


    }

    addWindowListener(
    new WindowAdapter() {
    public void windowClosing(WindowEvent event) {
    dispose();
    setVisible(false);
    }
    }
    );

    setResizable(false);
    setVisible(true);

    }


    public void actionPerformed(ActionEvent erg)
    {

    //getsource

    }


    public static void main (String[] args)
    {
    new Dame();
    }

    }
     
  2. 8. Februar 2009
    AW: Hilfe in Dame

    hi,

    du willst also mit der methode actionPerformed() deine klick ergebnisse verarbeiten.
    somit kannst du dies über eine if-bedinung machen. sprich if(erg.getSource == XXX. wobei XXX ein butten ist. bei dir ist es ein mehrdimensionales array. dadurch musst du ermitteln welches es gerade ist. wenn du das hast, kannst du diesen button verändern.

    aber es kommt noch ein weiteres problem hinzu. woher soll das programm wissen, welchen stein er setzten muss???

    nice day!!!
     
  3. 8. Februar 2009
    AW: Hilfe in Dame

    so ich würds so machen:

    1. klick (der stein der Bewegt werden soll) Wird mit getSource() ermittelt und dann in ner variablen zwischengespeichert)
    2. Klick ("ziel position") Wird ebenfalls ermittelt durch getSource() und dann im feldbelegt eben die 1 oder 2 setzen

    MfG
     
  4. 9. Februar 2009
    AW: Hilfe in Dame

    Ich hab verstanden ich probier dann mal, aber heute schaffe ich es einfach nicht... vllt morgen oder in den nächsten Tagen, könnt ihr aber zwischen durch mal reinschauen,falls ich noch mal schreibe... wäre echt nett

    bw sind raus
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.