Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 07.09.2005, 14:42   Nach oben    #1
sonja
Gast
 
Beiträge: n/a
Standard 4gewinnt problem

hab n problem mit meinem programm.
es erkennt nich immer ob man gewonn hat

PHP-Code:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.*;
public class 
main extends Applet {
 
char feld[][] = new char[7][6];
// char spielera = 'a';
 
char spieler 'b';
 
Label winner = new Label("");
 public 
void init() {
  
this.setSize(450,400);
  
this.setLayout(new BorderLayout());
  
Panel p = new Panel();
  
p.setLayout(null);
  
p.setSize(455,20);
  
Button b1 = new Button("1");
  
b1.setBounds(50,0,50,20);
  
Button b2 = new Button("2");
  
b2.setBounds(100,0,50,20);
  
Button b3 = new Button("3");
  
b3.setBounds(150,0,50,20);
  
Button b4 = new Button("4");
  
b4.setBounds(200,0,50,20);
  
Button b5 = new Button("5");
  
b5.setBounds(250,0,50,20);
  
Button b6 = new Button("6");
  
b6.setBounds(300,0,50,20);
  
Button b7 = new Button("7");
  
b7.setBounds(350,0,50,20);
  
Button neu = new Button("Neu");
  
neu.setBounds(0,0,50,20);
  
this.add(p,BorderLayout.SOUTH);
  
this.add(winner,BorderLayout.NORTH);
  
p.add(b1);
  
p.add(b2);
  
p.add(b3);
  
p.add(b4);
  
p.add(b5);
  
p.add(b6);
  
p.add(b7);
  
p.add(neu);
  
  
  
b1.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(0);
   }
  });
  
b2.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(1);
   }
  });
  
b3.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(2);
   }
  });
  
b4.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(3);
   }
  });
  
b5.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(4);
   }
  });
  
b6.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(5);
   }
  });
  
b7.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
setScheibe(6);
   }
  });
  
neu.addActionListener (new ActionListener() {
   public 
void actionPerformed (ActionEvent e){
    
reset();
    
repaint();
   }
  });
  
  
reset();
 }
 
 
 public 
void arrayausgeben(){
  
int a 0;
  
int c;
  
System.out.println("----------------------------------");
   for (
c=0<6c++){
   
System.out.println(feld[a][c] + "," feld[a+1][c] +"," feld[a+2][c] + "," +feld[a+3][c] +"," feld[a+4][c] +"," feld[a+5][c] +"," feld[a+6][c]);
   } 
  
 
 }
 public 
void start() {
  
 }
 public 
void stop() {
  
 }
 public 
void paint(Graphics g) {
  
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(400,50,400,350);
  
g.drawLine(50,50,400,50);
  
g.drawLine(50,100,400,100);
  
g.drawLine(50,150,400,150);
  
g.drawLine(50,200,400,200);
  
g.drawLine(50,250,400,250);
  
g.drawLine(50,300,400,300);
  
g.drawLine(50,350,400,350);
  
arrayausgeben();
  for(
int x 07x++) {
   for(
int y 06y++) {
    if(
feld[x][y] == 'b') {
     
g.setColor(Color.blue);
     
g.fillOval(x*50+50,y*50+50,49,49);
    }
    if(
feld[x][y] == 'g') {
     
g.setColor(Color.green);
     
g.fillOval(x*50+50y*50+50,49,49);
    } 
   }
  }
 }
 private 
void setScheibe(int Nummer) {
  
int x Nummer;
  if(
feld[Nummer][5] == 'l') {
   
feld[Nummer][5] = spieler;
   
gewonnen();
   if(
spieler == 'b') {
    
spieler 'g';
   }
   else {
    
spieler 'b';
   }
   
repaint();
   return;
  }
  for(
int y 5feld[x][y] != 'l'y--) {
   if(
feld[x][y-1] == 'l') {
    
feld[x][y-1] = spieler;
    
arrayausgeben();
    
gewonnen();
    break;
   }
  }
   
  if(
spieler == 'b') {
   
spieler 'g';
  }
  else {
   
spieler 'b';
  }
  
  
repaint();
  
 }
 
 public 
void reset(){
  for(
int x 07;x++) {
   for(
int y 06y++) {
    
feld[x][y] = 'l';
   }
  }
 }
 private 
void gewonnen() {
  for(
int x 07x++) {
   for(
int y 06y++) {
    try{
     
//Wenn vier Punkte senkrecht
     
if(feld[x][y] == spieler && feld[x+1][y] == spieler && feld[x+2][y] == spieler && feld[x+3][y] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
     
//Wenn vier Punkte -senkrecht
     
if(feld[x][y] == spieler && feld[x-1][y] == spieler && feld[x-2][y] == spieler && feld[x-3][y] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
     
//wenn vier Punkte waagerecht
     
if(feld[x][y] == spieler && feld[x][y+1] == spieler && feld[x][y+2] == spieler && feld[x][y+3] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
     
     
//wenn vier Punkte -waagerecht
     
if(feld[x][y] == spieler && feld[x][y-1] == spieler && feld[x][y-2] == spieler && feld[x][y-3] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
     
//Wenn vier Punkte diagonal rechts-hoch
     
if(feld[x][y] == spieler && feld[x+1][y+1] == spieler && feld[x+2][y+2] == spieler && feld[x+3][y+3] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
//     Wenn vier Punkte diagonal links-hoch
     
if(feld[x][y] == spieler && feld[x-1][y+1] == spieler && feld[x-2][y+2] == spieler && feld[x-3][y+3] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
//     Wenn vier Punkte diagonal links-runter
     
if(feld[x][y] == spieler && feld[x-1][y-1] == spieler && feld[x-2][y-2] == spieler && feld[x-3][y-3] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
//     Wenn vier Punkte diagonal rechts-runter
     
if(feld[x][y] == spieler && feld[x+1][y-1] == spieler && feld[x+2][y-2] == spieler && feld[x+3][y-3] == spieler) {
      
winner.setText("Spieler " spieler +  " hat gewonnen");
      break;
     }
    }
    catch(
Exception e) {
    
/* System.out.println("--------------");
     System.out.println(x);
     System.out.println(y);
     System.out.println(feld[x][y]);
     System.out.println(feld[x][y-1]);*/
     
    
}
   }
  }
 }

 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.09.2005, 16:27   Nach oben    #2
Technaton
Neuer Benutzer
 
Registriert seit: 08.06.2005
Beiträge: 10
Standard

Bisschen mehr Beschreibung wäre schon toll statt 'ner halbherzigen Fehlerbeschreibung und 'ner Menge Quelltext.
Technaton ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.09.2005, 21:25   Nach oben    #3
sonja
Gast
 
Beiträge: n/a
Standard

sry aba war das ertse mal dass ich was hier rein gestellt hab und so....
aaaaaaaaalso: eigentlich funktioniert das, nur wenn man vier gleiche "punkte" an der linken seite übereinander hat erkennt er nicht dass man gewonnen hat.
könnte dann vlt ein gaaaaanz lieber netter mensch sagen WARUM???
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 18:43   Nach oben    #4
sparrow
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 567
Standard

Also im Quellcode sehe ich im Moment keinen Fehler.
Was bedeutet denn "an der linken Seite"?
Wenn man in der ersten "Spalte" des Spielfeldes 4 Punkte übereinander hat?
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.09.2005, 20:23   Nach oben    #5
sonja
Gast
 
Beiträge: n/a
Standard

jo
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem E-Mails zu senden Jann Hendrik Plauderecke 7 25.05.2007 21:37
Problem mit zu vielen MySQL-Querys / Grundkonzeption Chr!s PHP-Programmierung 13 27.08.2006 16:59
Logisches Problem beim einsatz von Ereignissen Prophet Allgemeine Java-Programmierung 19 05.06.2006 22:08
Problem mit Cookie und Reloads... Bookworm PHP-Programmierung 10 13.04.2006 12:09
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:04 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

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