Antwort
 
Themen-Optionen Thema durchsuchen
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]);*/
     
    
}
   }
  }
 }

 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.09.2005, 16:27 Nach oben    #2
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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???
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.09.2005, 18:43 Nach oben    #4
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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 Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind 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 +1. Es ist jetzt 01:10 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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