tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Kai008
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
488
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    javap javap ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    Bin dabei, ein 4gewint Applet zu programmieren.

    Ich möchte die Bilder mit einer paint Methode auf die Spielfläche zeichnen, nur wie stell ich dass an? Ich komme einfach nicht weiter, habt ihr vielleicht eine Idee?
    Geändert von javap (14.03.09 um 15:31 Uhr)
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Klassen schreibt man groß, aber ich würde das komplett anderst machen:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    
    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.util.HashMap;
    import java.util.Map;
     
    public class Viergewinnt extends Applet
    {
        private static final long serialVersionUID = 1L;
        
        private boolean init = true;
        private int playerOnRow = 0;
        private Map<String, Field> fieldMap;
        private Images images;
        private Grid grid;
        private Paint paint;
     
        public void init()
        {
            new MouseListener(this);
            this.images = new Images(this);
            this.grid = new Grid();
            this.createFields();
            this.paint = new Paint(this);
            
            this.init = false;
            this.repaint();
        }
        private void createFields()
        {
            this.fieldMap = new HashMap<String, Field>();
            
            for(int y = 0; y < 6; y++)
                for(int x = 0; x < 7; x++)
                    this.fieldMap.put(x + "/" + y, new Field());
        }
        
        public void paint(Graphics g)
        {
            if(this.init)
                return;
            this.paint.run(this.images, this.fieldMap, g);
            this.grid.paint(g);
        }
        
        public void mouseClicked(int x)
        {
            if(x < 90 || x > 506)
                return;
            x-= 90;
            x = (int)Math.floor(x / 60);
            
            int y = 5;
            for(; y != -1 && this.fieldMap.get(x + "/" + y).getImage() != null; y--);
            if(y < 0)
                return;
     
            Image image = null;
            if(this.playerOnRow == 0)
                image = this.images.getSol();
            else if(this.playerOnRow == 1)
                image = this.images.getLuna();
            
            if(image == null)
                return;
            
            this.fieldMap.get(x + "/" + y).setImage(image);
            
            if(this.playerOnRow == 0)
                this.playerOnRow = 1;
            else
                this.playerOnRow = 0;
            this.repaint();
        }
    }
    import java.awt.Image;
    import java.awt.MediaTracker;
    import java.awt.Toolkit;
     
    public class Images extends Object
    {
        private Image sol;
        private Image luna;
        
        public Images(Viergewinnt viergewinnt)
        {
            super();
            
            MediaTracker tracker = new MediaTracker(viergewinnt);
            this.sol = Toolkit.getDefaultToolkit().getImage("sol.jpg");
            this.luna = Toolkit.getDefaultToolkit().getImage("luna.jpg");
            
            tracker.addImage(this.sol, 0);
            tracker.addImage(this.luna, 1);
            
            try
            {
                tracker.waitForAll();
            }
            catch(Throwable t)
            {
                t.printStackTrace();
            }
        }
        public Image getSol()
        {
            return(this.sol);
        }
        public Image getLuna()
        {
            return(this.luna);
        }
    }
    import java.awt.Graphics;
     
    public class Grid extends Object
    {
        public Grid()
        {
            super();
        }
        public void paint(Graphics g)
        {
            g.drawString("Vier Gewinnt", 260, 18);
            
            g.drawRect(85, 85, 420, 420);
     
            g.drawLine(85, 155, 505, 155);
            g.drawLine(85, 225, 505, 225);
            g.drawLine(85, 295, 505, 295);
            g.drawLine(85, 365, 505, 365);
            g.drawLine(85, 435, 505, 435);
            g.drawLine(85, 505, 505, 505);
     
            g.drawLine(145, 85, 145, 505);
            g.drawLine(205, 85, 205, 505);
            g.drawLine(265, 85, 265, 505);
            g.drawLine(325, 85, 325, 505);
            g.drawLine(385, 85, 385, 505);
            g.drawLine(445, 85, 445, 505);
        }
    }
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
     
    public class MouseListener extends MouseAdapter
    {
        private Viergewinnt viergewinnt;
        
        public MouseListener(Viergewinnt viergewinnt)
        {
            super();
            
            viergewinnt.addMouseListener(this);
            this.viergewinnt = viergewinnt;
        }
        public void mouseClicked(MouseEvent m)
        {
            int x = m.getX();
            this.viergewinnt.mouseClicked(x);
        }
    }
    import java.awt.Image;
     
    public class Field extends Object
    {
        private Image image;
        
        public Field()
        {
            super();
        }
        public void setImage(Image image)
        {
            this.image = image;
        }
        public Image getImage()
        {
            return(this.image);
        }
    }
    import java.awt.Graphics;
    import java.awt.Image;
    import java.util.Map;
     
    public class Paint extends Object
    {
        private Viergewinnt viergewinnt;
        
        public Paint(Viergewinnt viergewinnt)
        {
            super();
            
            this.viergewinnt = viergewinnt;
        }
        public void run(Images images, Map<String, Field> fieldMap, Graphics g)
        {
            for (int y = 0; y < 6; y++)
                for(int x = 0; x < 7; x++)
                {
                    Field field = fieldMap.get(x + "/" + y);
                    if(field == null)
                    {
                        System.err.println("Error");
                        return;
                    }
                    Image image = field.getImage();
                    if(image != null)
                        g.drawImage(image, x * 60 + 90, y * 70 + 95, this.viergewinnt);
                }
        }
    }

    Du musst aber noch überprüfen ob wer gewonnen hat und ein Doppelbuffer könnte auch nicht schaden.

    Viel Spaß damit.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Brauche hilfe beim Programmieren eines Java Applet-preview.jpg  
    Angehängte Grafiken Angehängte Grafiken   
    javap bedankt sich. 

  3. #3
    javap javap ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    danke für die schnelle hilfe, aber der Code ist ja ein ganz anderer als der, den ich gepostet habe. Ist mein code völliger schwachsinn?

    Kann man dass auch nicht leichter programmieren, so dass auch ein laie versteht, was im quellcode geschieht?
     

  4. #4
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Nein, das nicht.
    Aber bei meinen ist einfach nur alles schön auf Klassen aufgeteilt, wärend bei dir alles in einer pickt. Und nach ner Zeit wird das einfach unübersichtlich, deshalb sollte man es gleich verwenden. Als ich mit OOP angefangen habe hatte mein Source (meine Klasse) ein wenig mehr als 3000 Zeilen. Und glaub mir, es ist wesendlich angenehmer OO zu Programmieren, vor allem da es auch extrem einfach ist.
    Ich habe ihm dir mal durchkommentiert.
    Ich weiß, im Board sieht es immer sehr groß aus, aber lade ihm dir mal in ne IDE wie Eclipse oder was auch immer du bevorzugst, und schau ihm dir an.
    In Wirklichkeit ist der nicht besonderst groß.
    Hast du dennoch Fragen zu irgend einer Zeile dann frag.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    
    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.util.HashMap;
    import java.util.Map;
     
    public class Viergewinnt extends Applet //Erbe von Applet
    {
        private static final long serialVersionUID = 1L; //Serialisierungs-Zeugs
        
        private boolean init = true; //Wird noch intialisiert
        private int playerOnRow = 0; //Welcher Spieler ist dran?
        private Map<String, Field> fieldMap; //Hier werden die Felder gespeichert
        private Images images; //Das Bilder-Object
        private Grid grid; //Das Raster-Objekt
        private Paint paint; //Das Zeichen-Object
     
        public void init() //Überschreibt Applet.init();
        {
            new MouseListener(this); //Das MouseListener-Object
            this.images = new Images(this); //Das Bilder-Object wird intialisiert.
            this.grid = new Grid();//-""- Raster-Object -""-
            this.createFields(); //Felder werden erstellt.
            this.paint = new Paint(this);//Das Paint-Object wird intialisiert.
            
            this.init = false; //Intialisierung abgeschlossen
            this.repaint();//Zeichne neu
        }
        private void createFields() //Siehe Viergewinnt.init();
        {
            this.fieldMap = new HashMap<String, Field>(); //Neue HashMap
            
            for(int y = 0; y < 6; y++) //Vertikal
                for(int x = 0; x < 7; x++)//Horzeniontal
                    this.fieldMap.put(x + "/" + y, new Field());//Feld erstellen und in Map schreiben.
        }
        
        public void paint(Graphics g) //Die Zeichenmethode
        {
            if(this.init) //Wird noch intialisiert
                return; //Zeichnen abbrechen
            this.paint.run(this.images, this.fieldMap, g); //Methode run des Zeichenobjekts aufrufen.
            this.grid.paint(g); //Methode Paint des Raster-Objects aufrufen.
        }
        
        public void mouseClicked(int x) //Noch so ne Methode
        {
            if(x < 90 || x > 506) //Maus ausserhalb des Rasters
                return; //dann abbrechen
            x-= 90; //sonst x
            x = (int)Math.floor(x / 60); //ausrichten.
            
            int y = 5;//eine Int mit Wert 5.
            for(; y != -1 && this.fieldMap.get(x + "/" + y).getImage() != null; y--); //Stein nach unten fallen lassen.
            if(y < 0)
                return;
     
            Image image = null; //Bilddatei erstellen.
            if(this.playerOnRow == 0) //Spieler 1 an der Reihe
                image = this.images.getSol(); //Sonne hohlen
            else if(this.playerOnRow == 1) //sonst
                image = this.images.getLuna(); //Mond holen.
            
            if(image == null) //Fehlerabfang
                return;
            
            this.fieldMap.get(x + "/" + y).setImage(image); //Stein setzen.
            
            if(this.playerOnRow == 0) //Anderer Spieler dran.
                this.playerOnRow = 1;
            else
                this.playerOnRow = 0;
            this.repaint(); //Neu zeichen.
        }
    }
    import java.awt.Image;
    import java.awt.MediaTracker;
    import java.awt.Toolkit;
     
    public class Images extends Object
    {
        private Image sol; //Sonne,
        private Image luna; //Mond,
        //und keine Sterne. ._.
        public Images(Viergewinnt viergewinnt)
        {
            super();
            
            MediaTracker tracker = new MediaTracker(viergewinnt); //Ein MediaTracker bitte
            this.sol = Toolkit.getDefaultToolkit().getImage("sol.jpg"); //Bild laden
            this.luna = Toolkit.getDefaultToolkit().getImage("luna.jpg"); //Bild laden
            
            tracker.addImage(this.sol, 0); //Bild tracker geben
            tracker.addImage(this.luna, 1); //this²
            
            try
            {
                tracker.waitForAll(); //Warten bis fertig geladen wurde.
            }
            catch(Throwable t)
            {
                t.printStackTrace();
            }
        }
        public Image getSol() //Sonne zurückgeben
        {
            return(this.sol);
        }
        public Image getLuna() //Mond zurückgeben
        {
            return(this.luna);
        }
    }
    import java.awt.Graphics;
     
    public class Grid extends Object
    {
        public Grid()
        {
            super(); //Konstruktor von Object aufrufen.
        }
        public void paint(Graphics g) //Zeichnet überschrift und Raster. Nix besonderes.
        {
            g.drawString("Vier Gewinnt", 260, 18);
            
            g.drawRect(85, 85, 420, 420);
     
            g.drawLine(85, 155, 505, 155);
            g.drawLine(85, 225, 505, 225);
            g.drawLine(85, 295, 505, 295);
            g.drawLine(85, 365, 505, 365);
            g.drawLine(85, 435, 505, 435);
            g.drawLine(85, 505, 505, 505);
     
            g.drawLine(145, 85, 145, 505);
            g.drawLine(205, 85, 205, 505);
            g.drawLine(265, 85, 265, 505);
            g.drawLine(325, 85, 325, 505);
            g.drawLine(385, 85, 385, 505);
            g.drawLine(445, 85, 445, 505);
        }
    }
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
     
    public class MouseListener extends MouseAdapter
    {
        private Viergewinnt viergewinnt;
        
        public MouseListener(Viergewinnt viergewinnt)
        {
            super();
            
            viergewinnt.addMouseListener(this); //Viergewinnt den MouseListener geben.
            this.viergewinnt = viergewinnt;
        }
        public void mouseClicked(MouseEvent m) //Taste gedrückt.
        {
            int x = m.getX(); //Hohle x-Koordinaten
            this.viergewinnt.mouseClicked(x); //Und rufe das Teil da auf.
        }
    }
    import java.awt.Graphics;
    import java.awt.Image;
    import java.util.Map;
     
    public class Paint extends Object
    {
        private Viergewinnt viergewinnt;
        
        public Paint(Viergewinnt viergewinnt)
        {
            super();
            
            this.viergewinnt = viergewinnt;
        }
        public void run(Images images, Map<String, Field> fieldMap, Graphics g) //Hier wird gezeichnet
        {
            for (int y = 0; y < 6; y++) //Vertikal
                for(int x = 0; x < 7; x++) //Horenziontal
                {
                    Field field = fieldMap.get(x + "/" + y); //Hohle das Feld
                    if(field == null) //Fehlerabfang
                    {
                        System.err.println("Error");
                        return;
                    }
                    Image image = field.getImage(); //Hohle den Spielsteing
                    if(image != null) //Ist einer gesetzt
                        g.drawImage(image, x * 60 + 90, y * 70 + 95, this.viergewinnt); //Zeichne ihm.
                }
        }
    }
     

  5. #5
    javap javap ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    irgendwie wird fast der gesamte text rot makiert dargestellt. woran liegt dass? An Eclipse? Oder hab ich jetzt was nicht mibekommen


    Und ist es wirklich nicht möglich, den Code zu erweitern, den ich zu anfang gepostet habe? Es muss nicht perfekt geschrieben sein, ist vollkommen egal, hauptsache dass Programm wird irgendwie ausgeführt, so dass es funktioniert. Kann man da nicht kurz etwas dahinklatschen, unswar so, dass dabei mäglichst wenig text entsteht?

    wäre dir sehr dankbar, wenn du mir da ein bisschen weiterhelfen könntest.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Brauche hilfe beim Programmieren eines Java Applet-viergewinnt.jpg  
    Geändert von javap (14.03.09 um 15:32 Uhr)
     

  6. #6
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Doch schon, aber am Ende wirst du dich nichtmehr so gut auskennen.
    Eben weil alles der Reihe nach drinnensteht.

    Du kannst aber auch die Methode zum berechnen des Feldes (Viergewinnt.mouseClicked(int)) und die zum Zeichnen (Paint.run(Images, Map, Graphics)) anpassen und für deinen Source verwenden.

    Ach ja, und die Datei braucht den selben Namen wie die Klasse. (Controll + 1)
     

  7. #7
    javap javap ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    4
    Ich habe hier jetzt einen neuen code und der funktioniert auch soweit ganz gut, aber wie ermittle ich jetzt den Gewinn bei einer Diagonalen? könntest du mir da weiterhelfen, ich komm einfach nicht auf die lösung.

    Und ich wollte noch einen Button per mouselistener einbauen, mit dem man dass momentane Spielfeld leeren kann, also die spielsteine vom Feld löschen.

    Außerdem ist noch ein weiterer kleiner fehler im code. Wenn ein Spieler dass Spiel gewinnt, wird dass Spielfeld sofort gelöscht, dass Spielfeld soll aber erst dann nach dem Gewinnen gelöscht werden, wenn der spieler die confirm nachricht bestätigt.
    Hoffe du kannst mir weiterhelfen =)

    hier der code

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.JOptionPane;
     
    public class VierGewinnt_dummy extends Applet implements MouseListener {
     
        private static final long serialVersionUID = -8566236578954888489L;
     
        static int feld[][] = { 
                                { 0, 0, 0, 0, 0, 0, 0 }, 
                                { 0, 0, 0, 0, 0, 0, 0 },
                                { 0, 0, 0, 0, 0, 0, 0 }, 
                                { 0, 0, 0, 0, 0, 0, 0 },
                                { 0, 0, 0, 0, 0, 0, 0 }, 
                                { 0, 0, 0, 0, 0, 0, 0 } 
                                };
     
        int player = 1;
     
        int a = 0;
     
        int b = 0;
     
        Image rot;
     
        Image blau;
     
        Image cube;
     
        String Spieler1 = JOptionPane
                .showInputDialog("Spieler1:");
     
        String Spieler2 = JOptionPane
                .showInputDialog("Spieler 2:");
            
        
        public void init() {
            addMouseListener(this);
            cube = Toolkit.getDefaultToolkit().createImage("cube.gif");
            rot = getImage(getCodeBase(), "rot.gif");
            blau = getImage(getCodeBase(), "blau.gif");
            JOptionPane.showMessageDialog(null, Spieler1 +" beginnt!");
        }
        
     
        public boolean gewonnen(String Spieler) {
            String s = "";
            for (int y2 = 0; y2 < 6; y2++) {
                for (int x1 = 0; x1 < 7; x1++) {
                    s = s + feld[y2][x1];
                }
            }
     
            for (int x1 = 0; x1 < 7; x1++) {
                for (int y2 = 0; y2 < 6; y2++) {
                    s = s + feld[y2][x1];
                }
            }
     
            repaint();
     
            if (s.contains(Spieler)) {
     
                for (int x1 = 0; x1 < 7; x1++)
                    for (int y1 = 0; y1 < 6; y1++)
                        feld[y1][x1] = 0;
                repaint();
                return true;
            }
            return false;
        }
     
        public void drawSpielfeld(Graphics g) {
            g.drawImage(cube, 0, 0, this);
            g.setFont(new Font("Comic Sans MS", + Font.BOLD, 20));
            g.setColor(Color.white);
            g.drawLine(0, 50, 0, 350);
            g.drawLine(50, 50, 50, 350);
            g.drawLine(100, 50, 100, 350);
            g.drawLine(150, 50, 150, 350);
            g.drawLine(200, 50, 200, 350);
            g.drawLine(250, 50, 250, 350);
            g.drawLine(300, 50, 300, 350);
            g.drawLine(350, 50, 350, 350);
        
            
            
            g.drawLine(0, 50, 350, 50);
            g.drawLine(0, 100, 350, 100);
            g.drawLine(0, 150, 350, 150);
            g.drawLine(0, 200, 350, 200);
            g.drawLine(0, 250, 350, 250);
            g.drawLine(0, 300, 350, 300);
            g.drawLine(0, 350, 350, 350);
            g.setColor(Color.red);
            g.drawString("Vier Gewinnt", 225, 20);
     
            g.drawRect(0,350,350,390);
            g.setColor(Color.white);
            g.fillRect(1, 349, 349, 389);
            g.setColor(Color.black );
            g.drawRect(50, 355, 242, 35);
            g.setFont(new Font("Comic Sans MS",  + Font.BOLD, 20));
            g.setColor(Color.black);
            g.drawString("Spielfeld Leeren", 96, 380);
            
            
        
        }
     
        public void paint(Graphics g) {
            resize(351, 400);
            drawSpielfeld(g);
            for (int x = 0; x < 7; x++) {
                for (int y = 0; y < 6; y++) {
                    if (feld[y][x] == 1)
                        g.drawImage(rot, 50 * x, 50 * y + 50, this);
                    if (feld[y][x] == 2)
                        g.drawImage(blau, 50 * x, 50 * y + 50, this);
                }
            }
     
            g.drawString(Spieler1 + ":" + a, 0, 20);
            g.drawString(Spieler2 + ":" + b, 0, 45);
            
            if (player == 1) { g.drawRect(230,22,118,22); 
                                g.setColor(Color.red);
                                g.fillRect(231, 23, 117, 21);}
            if (player == 2) {
                g.drawRect(230,22,118,22); 
                g.setColor(Color.blue);
                g.fillRect(231, 23, 117, 21);
            }
        }
     
        public void mouseClicked(MouseEvent arg0) {
     
        }
     
        public void mousePressed(MouseEvent arg0) {
     
            int x = arg0.getX();
            if (player == 1) {
                int feldvoll = 5;
                if (x < 50) {
                    for (feldvoll = 5; feld[feldvoll][0] != 0; feldvoll--) {
                    }
                    feld[feldvoll][0] = 1;
                }
                if (x > 50 && x < 100) {
                    for (feldvoll = 5; feld[feldvoll][1] != 0; feldvoll--) {
                    }
                    feld[feldvoll][1] = 1;
                    
                }
                if (x > 100 && x < 150) {
                    for (feldvoll = 5; feld[feldvoll][2] != 0; feldvoll--) {
                    }
                    feld[feldvoll][2] = 1;
                }
                if (x > 150 && x < 200) {
                    for (feldvoll = 5; feld[feldvoll][3] != 0; feldvoll--) {
                    }
                    feld[feldvoll][3] = 1;
                }
                if (x > 200 && x < 250) {
                    for (feldvoll = 5; feld[feldvoll][4] != 0; feldvoll--) {
                    }
                    feld[feldvoll][4] = 1;
                }
                if (x > 250 && x < 300) {
                    for (feldvoll = 5; feld[feldvoll][5] != 0; feldvoll--) {
                    }
                    feld[feldvoll][5] = 1;
                }
                if (x > 300 && x < 350) {
                    for (feldvoll = 5; feld[feldvoll][6] != 0; feldvoll--) {
                    }
                    feld[feldvoll][6] = 1;
                }
                player = 2;
            } else if (player == 2) {
                int feldvoll = 5;
                if (x < 50) {
                    for (feldvoll = 5; feld[feldvoll][0] != 0; feldvoll--) {
                    }
                    feld[feldvoll][0] = 2;
                }
                if (x > 50 && x < 100) {
                    for (feldvoll = 5; feld[feldvoll][1] != 0; feldvoll--) {
                    }
                    feld[feldvoll][1] = 2;
                }
                if (x > 100 && x < 150) {
                    for (feldvoll = 5; feld[feldvoll][2] != 0; feldvoll--) {
                    }
                    feld[feldvoll][2] = 2;
                }
                if (x > 150 && x < 200) {
                    for (feldvoll = 5; feld[feldvoll][3] != 0; feldvoll--) {
                    }
                    feld[feldvoll][3] = 2;
                }
                if (x > 200 && x < 250) {
                    for (feldvoll = 5; feld[feldvoll][4] != 0; feldvoll--) {
                    }
                    feld[feldvoll][4] = 2;
                }
                if (x > 250 && x < 300) {
                    for (feldvoll = 5; feld[feldvoll][5] != 0; feldvoll--) {
                    }
                    feld[feldvoll][5] = 2;
                }
                if (x > 300 && x < 350) {
                    for (feldvoll = 5; feld[feldvoll][6] != 0; feldvoll--) {
                    }
                    feld[feldvoll][6] = 2;
                }
                player = 1;
            }
     
        
            if (gewonnen("1111")) {
                a = a + 1;
                JOptionPane.showMessageDialog(null, Spieler1
                        + " hat gewonnen!");
                JOptionPane.showMessageDialog(null, Spieler2 + " ist dran!");
            }
            if (gewonnen("2222")) {
                b = b + 1;
                JOptionPane.showMessageDialog(null, Spieler2
                        + " hat gewonnen!");
                JOptionPane.showMessageDialog(null, Spieler1 + " ist dran!");
     
            }
        }
     
        public void mouseReleased(MouseEvent arg0) {
     
        }
     
        public void mouseEntered(MouseEvent arg0) {
     
        }
     
        public void mouseExited(MouseEvent arg0) {
     
        }
    }
    Geändert von javap (14.03.09 um 16:41 Uhr)
     

Ähnliche Themen

  1. J2ME brauche Hilfe beim einbinden eines Midlets
    Von Frechdachs34 im Forum Java
    Antworten: 0
    Letzter Beitrag: 19.11.10, 15:56
  2. Antworten: 2
    Letzter Beitrag: 25.07.06, 19:08
  3. Antworten: 7
    Letzter Beitrag: 06.10.05, 15:01
  4. Antworten: 8
    Letzter Beitrag: 14.06.04, 10:37
  5. Brauche Hilfe beim programmieren
    Von aniram im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 05.05.04, 18:57