Hab ein Problem! Bei Dame! Beim Umranden!

Dieses Thema im Forum "Allgemeine Java-Themen" wurde erstellt von SirBaros, 4. Juni 2006.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. SirBaros

    SirBaros Neues Mitglied

    Hab ein Problem !! iCH programmiere das Spiel Dame und ich hab die Graue Bausteine als 1 zugewiesen und wenn ich 1 umranden will also sprich Grau, umrander er die linke 3 spalten anstatt die oberen 3! woran liegt der fehler!hier der code!danke!
    Code (Text):
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    public class dame extends Frame {
        Canvas cv;
        int x,y;
        int xi,yi;
        int [][] a= new int [8][8];
        public dame(){
           
            setLayout (new FlowLayout());
            Button bt= new Button("Spiel los");
           
       
            cv=new Canvas();
            cv.setSize(450,450);
            add(cv);
            add(bt);
           
           
            bt.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent  e){
               aufstellung();
                }
                     
            });
               
                   
            cv.addMouseListener(new java.awt.event.MouseAdapter(){
                public void mouseClicked(java.awt.event.MouseEvent e){
                   
                   
                    x=e.getX();
                    y=e.getY();
                    System.out.println(x+" ; "+y);
                    xIndex(x);
                    yIndex(y);
                    umrandengrau();
                    for(int ui=0;ui<=7;ui++){
                        for(int u=0;u<=7;u++){
                        if(a[ui][u]==1){
                            System.out.println(ui+" ; "+u+"=1");
                        }if(a[ui][u]==2){
                            System.out.println(ui+" ; "+u+"=2");
                        }
                        }}
                    }
                   
                });
           
            addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                    System.exit(0);
                }
           
           
           
            })
            ;
       
           
        }
        private void aufstellung(){
               
            boolean auf =false;

           
            Graphics g;
            g=cv.getGraphics();
           
            for(int ui=0;ui<=7;ui++){
                for(int u=0;u<=7;u++){
                   
                    //Steine auf Anfang setzen
                    if(auf==true){
                   
                    if(ui<3){
                       
                            a[ui][u]=1;    
                            //grauer Stein (1)
                                 
               
                    }if(ui>4) {
                       
                            a[ui][u]=2;    
                            //weißer Stein (2)    
                    }
                    auf=false;
                    }else{
                    auf=true;
                    }
                }if(ui%2 != 0){
                    auf=false;
                }else{auf=true;}
                }
                   
           
                   
           
            //Kästchen zeichnen
           
            for(int s=0;s<=7;s++){
                for(int z=0;z<=7;z++){
                    g.drawRect(5+s*50,5+z*50,50,50);
                   
                    if(auf==true){
                        g.fillRect(5+s*50,5+z*50,50,50);
                       
                        auf=false;
                    }else {
                        auf=true;
                    }}
                    if(s%2==0){
                        auf=true;
                    }else{
                        auf=false;                        
                }
            }
           
           
        for(int t=0;t<=7;t++){
            for(int i=0;i<=7;i++){
               
           
                if(a[t][i]==1){             //grauer Stein zeichnen
                    g.setColor(Color.GRAY);
                    g.fillOval(i*50+8,t*50+8,44,44);
                    }
                if(a[t][i]==2){             //weißer Stein zeichnen
                    g.setColor(Color.WHITE);
                    g.fillOval(i*50+8,t*50+8,44,44);

                    ;                        
            }}
        }

    }

       
        private int xIndex(int x){
            System.out.println("x="+(x-5)/50);
            return (x-5)/50;
           
        }
         
        private int yIndex(int y){
            System.out.println("y="+(y-5)/50);
            return (y-5)/50;
        }
       
        private int xPos(int xi){
            return (xi*50)+5;
        }
       
        private int yPos(int yi){
            return (yi*50)+5;
        }
       
        private void umrandengrau(){
            Graphics g;
            g=cv.getGraphics();
            g.setColor(Color.RED);
            xi=xIndex(x);
            yi=yIndex(y);
            if(a[xi][yi]==1){
            g.drawRect(xPos(xi),yPos(yi),50,50);
            }
        }
         public static void main(String[] args) {
            dame d=new dame();
            d.setSize(700,500);
            d.setVisible(true);
        }
    }
     
     
  2. Leroy42

    Leroy42 Neues Mitglied

    :shock:
    Also ich habe dein Programm mal kopiert und gestartet.

    Das Brett sieht doch richtig und gut aus: Was genau willst du denn ändern?
     
  3. thE_29

    thE_29 Neues Mitglied

    Wie oft postetst du den gleichen Code mit anderen Fragen?

    Ich schließ das mal!
     
Die Seite wird geladen...
Status des Themas:
Es sind keine weiteren Antworten möglich.