d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Very Basic Java
Add Reply New Topic New Poll
Member
Posts: 9,113
Joined: Jun 15 2009
Gold: 1,962.00
Sep 21 2012 06:13am
So gonna make a chess board with black rectangles in java (this is very basic, like 2nd lesson we have) using loops and only 1 rectangle. This is my current code but I fail to make a chess board.


function start()
{

var startVardeX =0;

for (var x=startVardeX;x<=600;x=x+200) {
for (var y=0;y<=600;y=y+100){

rectangle (x,y,100,100,"black");



}
/*if (startVardeX==0) {
startVardeX=100;{
}
}*/
}


line (0,0,700,0,5,"black");
line (0,0,0,600,5,"black");
line (0,700,700,700,5,"black");
line (700,700,700,0,5,"black");
}
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Sep 21 2012 06:35am
probably because that won't even compile in java. are you using javascript?

describe your problem a bit more. does it draw anything? is your function getting called? how are you calling your function?

This post was edited by carteblanche on Sep 21 2012 06:39am
Member
Posts: 9,113
Joined: Jun 15 2009
Gold: 1,962.00
Sep 21 2012 06:42am
Quote (carteblanche @ 21 Sep 2012 14:35)
probably because that won't even compile in java. are you using javascript?

describe your problem a bit more. does it draw anything? is your function getting called? how are you calling your function?


Nevermind I solved it :)

function start()
{

var y = 100;

for (var x = 200; x <= 800;)
{
rectangle(x, y, 100, 100, "black");

if (x == 800 && y < 800)
{
x = 100;
y += 100;
}
else if (x == 700 && y < 800)
{
x = 200;
y += 100;
}
else
{
x += 200;
}

}
line (100,100,100,900,5,"black");
line (100,900,900,900,5,"black");
line (900,900,900,100,5,"black");
line (100,100,900,100,5,"black");

}

This post was edited by mavajava on Sep 21 2012 06:49am
Member
Posts: 11,637
Joined: Feb 2 2004
Gold: 434.84
Sep 21 2012 08:10am
You might want to first figure out which programming language you are actually using first.
Member
Posts: 4,478
Joined: Feb 10 2010
Gold: 1,806.00
Sep 22 2012 04:45pm
Years ago I made a chessgame in java.
Here is some of the code.

Its in danish. But maybe u can use it.
Send me a message if I should send u the whole thing.

CHESSFRAME:
Code
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SkakFrame extends Frame
{
   SkakFelt[][] felt, udfeltH, udfeltS;
   Button tilslut;
   Panel braetPanel, sidePanel, talPanel, bogstPanel, bundVPanel, bundHPanel;
   Panel tilpasPanel, knapPanel, hovedPanel, udPanel, brHPanel, brSPanel;
   public static Label urH, urS;
   public static boolean urtid = true;
   aListener k;
   String trtekst = ("    " + "Hvid" + "     " + "Sort" + "\n" );
   TextArea tekstområde;
   Timer tid;
   boolean farve = true, flyt = false;
   VirtuelBraet skakbraet;
   int tfx, tfy, tex, tey;
   int hx = 0, hy = 0, sx = 0, sy = 0;
   ImageIcon midbil, bilbp, bilbq, bilwp, bilwq;
   
   public SkakFrame ( )
   {
super("49105 SKAK");
setSize(808, 416);
urH = new Label(" H: 0:00:00");
urS = new Label(" S: 0:00:00");
urH.setBackground(Color.blue);
urS.setBackground(Color.white);
tilslut = new Button("Tilslut");
tilslut.addActionListener(new Knaplytter());
felt = new SkakFelt[8][8];
udfeltS = new SkakFelt[4][4];
udfeltH = new SkakFelt[4][4];
tekstområde = new TextArea(trtekst, 8, 1);        
braetPanel = new Panel( );
knapPanel = new Panel( );
udPanel = new Panel( );
bundVPanel = new Panel( );
bundHPanel = new Panel( );
brHPanel = new Panel( );
brSPanel = new Panel( );
sidePanel = new Panel( );
hovedPanel = new Panel( );
talPanel = new Panel( );
bogstPanel = new Panel( );
tilpasPanel = new Panel( );

tid = new Timer(1000, new TidsLytter( ));             // ur
 
bilbp = new ImageIcon("bp.gif");
bilbq = new ImageIcon("bq.gif");
bilwp = new ImageIcon("wp.gif");
bilwq = new ImageIcon("wq.gif");
 
setLayout(new BorderLayout( ));
hovedPanel.setLayout(new BorderLayout( ));
tilpasPanel.setLayout(new BorderLayout( ));
braetPanel.setLayout(new GridLayout(8, 8));
sidePanel.setLayout(new GridLayout(2, 1));
talPanel.setLayout(new GridLayout(8, 1));
knapPanel.setLayout(new GridLayout(2, 2));//(4, 1));
bogstPanel.setLayout(new GridLayout(1, 8));
bundVPanel.setLayout(new GridLayout(1, 2));
bundHPanel.setLayout(new GridLayout(1, 2));
udPanel.setLayout(new GridLayout(2, 1));
brHPanel.setLayout(new GridLayout(4, 4));
brSPanel.setLayout(new GridLayout(4, 4));

knapPanel.add(urS);
knapPanel.add(tilslut);
knapPanel.add(urH);
sidePanel.add(tekstområde);
sidePanel.add(knapPanel);
udPanel.add(brSPanel);
udPanel.add(brHPanel);

tilpasPanel.add("Center", bogstPanel);
bundVPanel.add(new Label("                   "));
bundVPanel.add(new Label("                   "));
bundHPanel.add(new Label("          "));
bundHPanel.add(new Label("         "));
tilpasPanel.add("West", bundVPanel);
tilpasPanel.add("East", bundHPanel);

hovedPanel.add("Center", braetPanel);
hovedPanel.add("West", talPanel);
 
add("Center", hovedPanel);
add("South", tilpasPanel);          
add("East", sidePanel);
add("West", udPanel);

skakbraet = new VirtuelBraet( );

skakbraet.indsaet(new Taarn("t", true), 0, 0);
skakbraet.indsaet(new Hest("s", true), 0, 1);
skakbraet.indsaet(new Loeber("l", true), 0, 2);
skakbraet.indsaet(new Konge("k", true), 0, 3);
skakbraet.indsaet(new Dronning("d", true), 0, 4);
skakbraet.indsaet(new Loeber("l", true), 0, 5);
skakbraet.indsaet(new Hest("s", true), 0, 6);
skakbraet.indsaet(new Taarn("t", true), 0, 7);

skakbraet.indsaet(new Bonde("b", true), 1, 0);
skakbraet.indsaet(new Bonde("b", true), 1, 1);
skakbraet.indsaet(new Bonde("b", true), 1, 2);
skakbraet.indsaet(new Bonde("b", true), 1, 3);
skakbraet.indsaet(new Bonde("b", true), 1, 4);
skakbraet.indsaet(new Bonde("b", true), 1, 5);
skakbraet.indsaet(new Bonde("b", true), 1, 6);
skakbraet.indsaet(new Bonde("b", true), 1, 7);

skakbraet.indsaet(new Taarn("t", false), 7, 0);
skakbraet.indsaet(new Hest("s", false), 7, 1);
skakbraet.indsaet(new Loeber("l", false), 7, 2);
skakbraet.indsaet(new Konge("k", false), 7, 3);
skakbraet.indsaet(new Dronning("d", false), 7, 4);
skakbraet.indsaet(new Loeber("l", false), 7, 5);
skakbraet.indsaet(new Hest("s", false), 7, 6);
skakbraet.indsaet(new Taarn("t", false), 7, 7);

skakbraet.indsaet(new Bonde("b", false), 6, 0);
skakbraet.indsaet(new Bonde("b", false), 6, 1);
skakbraet.indsaet(new Bonde("b", false), 6, 2);
skakbraet.indsaet(new Bonde("b", false), 6, 3);
skakbraet.indsaet(new Bonde("b", false), 6, 4);
skakbraet.indsaet(new Bonde("b", false), 6, 5);
skakbraet.indsaet(new Bonde("b", false), 6, 6);
skakbraet.indsaet(new Bonde("b", false), 6, 7);

tegnUdfelter( );
tegnBraet( );  
   }    
   
   public void tegnBraet( )
   {
for (int i = 7; i >= 0; i = i - 1)  //  (int i = 0; i < 8; i++)  erstattes med denne hvis sort ønskes "nederst"
           {
 talPanel.add(new Label(" " + (i + 1)));
 bogstPanel.add(new Label("" + Notation.givBog(i)));
 for (int k = 7; k >= 0; k = k - 1)   // (int k = 0; k < 8; k++)  erstattes med denne hvis sort ønskes "nederst"  
     {
                       if (skakbraet.givBrik(i, k) == null)
      {
   felt[i][k] = new SkakFelt(farve, true);
   felt[i][k].addMouseListener(new Lytter(i, k));      // listener                              
      }                              
                       else
      {                              
   felt[i][k] = new SkakFelt(farve, false);
   felt[i][k].addMouseListener(new Lytter(i, k));      // listener
   midbil = new ImageIcon(skakbraet.givBrik(i, k).givIkon( ));
   felt[i][k].billede = midbil.getImage();
      }                              
                       braetPanel.add(felt[i][k]);
                       if (farve == true)
      farve = false;
                       else
      farve = true;                        
     }
 if (farve == true)
     farve = false;
 else
     farve = true;                                                                                                      
           }                    
   }
   
   public boolean checkSkak(boolean farve)
   {
int kgx = -1;
int kgy = -1;
boolean skak = false;

for (int i = 0; i < 8; i++)
    {
 for (int k = 0; k < 8; k++)
     {
  if (skakbraet.givBrik(i, k) != null && skakbraet.givBrik(i, k).GivNavn( ) == "k")
      if (skakbraet.givBrik(i, k).givFarve( ) == farve)
   {
       kgx = i;
       kgy = k;
   }                                          
     }
    }              

for (int i = 0; i < 8; i++)
    {
 for (int k = 0; k < 8; k++)
     {
  if (skakbraet.givBrik(i, k) != null && skakbraet.givBrik(i, k).givFarve( ) != farve)
      if (skakbraet.skakFlyt(i, k, kgx, kgy, skakbraet) == true)                              
   skak = true;                                                                                                
     }
    }
return skak;
   }
   
   public void checkTom()
   {
for (int i = 0; i < 8; i++)
    {
 for (int k = 0; k < 8; k++)
     {
  if (skakbraet.givBrik(i, k) == null && felt[i][k].tom == false)
      {
   felt[i][k].tom = true;
   felt[i][k].repaint( );  
      }
  if (skakbraet.givBrik(i, k) != null && skakbraet.givBrik(i, k).GivNavn() == "t" && felt[i][k].tom == true)
      {
   if (skakbraet.givBrik(i, k).givFarve() == true)
       {
    midbil = new ImageIcon("wr.gif");
    felt[i][k].billede = midbil.getImage();
       }
   else
       {
    midbil = new ImageIcon("br.gif");
    felt[i][k].billede = midbil.getImage();
       }
   felt[i][k].tom = false;
   felt[i][k].repaint( );
      }
     }
    }
   }
   
   public void tegnUdfelter( )
   {
for (int i = 0; i < 4; i++)
    {
 for (int k = 0; k < 4; k++)
     {
  udfeltH[i][k] = new SkakFelt(true, true);
  brHPanel.add(udfeltH[i][k]);
  udfeltS[i][k] = new SkakFelt(false, true);
  brSPanel.add(udfeltS[i][k]);
     }
    }
   }
   
   public void fjernStartFarve( )
   {
for (int i = 0; i < 8; i++)
    {
 for (int k = 0; k < 8; k++)
     {
  if (felt[tfx][tfy].starttr == true)
      {
   felt[tfx][tfy].starttr = false;
   felt[tfx][tfy].repaint( );
      }
     }
    }                                                            
   }  
   
   public void fjernBrik(int ex, int ey)
   {
if (skakbraet.givBrik(ex, ey).givFarve( ) == false)
    {
 udfeltH[hx][hy].billede = felt[ex][ey].billede;
 udfeltH[hx][hy].tom = false;
 udfeltH[hx][hy].repaint( );
 hx = hx + 1;
 if (hx > 3)
     {
  hy = hy + 1;
  hx = 0;
     }                                  
    }
else
    {
 udfeltS[sx][sy].billede = felt[ex][ey].billede;
 udfeltS[sx][sy].tom = false;
 udfeltS[sx][sy].repaint( );
 sx = sx + 1;
 if (sx > 3)
     {
  sy = sy + 1;
  sx = 0;
     }          
    }                                                    

   }
   
   public void fjernEnpessant( )
   {
if (skakbraet.tempEnpessant.givFarve( ) == true)
    {
 udfeltH[hx][hy].billede =  bilwp.getImage();
 udfeltH[hx][hy].tom = false;
 udfeltH[hx][hy].repaint( );
 hx = hx + 1;
 if (hx > 3)
     {
  hy = hy + 1;
  hx = 0;
     }                                  
    }
else
    {
 udfeltS[sx][sy].billede = bilbp.getImage();
 udfeltS[sx][sy].tom = false;
 udfeltS[sx][sy].repaint( );
 sx = sx + 1;
 if (sx > 3)
     {
  sy = sy + 1;
  sx = 0;
     }          
    }  
skakbraet.tempEnpessant = null;
   }

   public void farveSkift()
   {
if (skakbraet.trfarve == true)
    {
 urH.setBackground(Color.blue);
 urS.setBackground(Color.white);
    }
else
    {
 urS.setBackground(Color.blue);
 urH.setBackground(Color.white);
    }
   
   }
   
   private class Lytter implements MouseListener
   {
private int x, y;
private boolean tilladt = false;
private boolean skakcheck = false;
private ArkeBrik mid;

public Lytter(int x, int y)
{
    this.x = x;
    this.y = y;
}

public void mousePressed (MouseEvent event)
{
    fjernStartFarve( );
    if (urtid == true)
 {
     if (flyt == false)
  {    
      tfx = x;
      tfy = y;
      if (felt[tfx][tfy].tom == false)
   {
       felt[tfx][tfy].starttr = true;
       felt[tfx][tfy].repaint( );
       flyt = true;      
   }                    
  }                        
     else
  {
      tex = x;
      tey = y;
      mid = skakbraet.givBrik(tex, tey);                        
      tilladt = skakbraet.move(tfx, tfy, tex, tey, skakbraet, true);
      if (tilladt == true)
   {                                                                        
       if (skakbraet.givBrik(tex, tey).givFarve( ) == true)
    skakcheck = checkSkak(true);
       else
    skakcheck = checkSkak(false);
   }
      if (skakcheck == true)
   skakbraet.omFlyt(tex, tey, tfx, tfy, mid, true);                                                                                                                                                                                                                          
      if (tilladt == true && skakcheck == false)
   {
       if (felt[tex][tey].tom == false)
    fjernBrik(tex, tey);
       if (skakbraet.tempEnpessant != null)
    fjernEnpessant();
       felt[tex][tey].tom = false;
       felt[tfx][tfy].tom = true;
       if (skakbraet.givBrik(tex, tey).GivNavn() == "k" && tfy - tey > 1)  //notation
    tekstområde.append("    " + " o-o ");
       else
    if (skakbraet.givBrik(tex, tey).GivNavn() == "k" && tfy - tey < -1)
        tekstområde.append("    " + "o-o-o");
    else        
        tekstområde.append("    " + Notation.nota(tfx, tfy, tex, tey));    // notation    
       if (skakbraet.givBrik(tex, tey).givFarve( ) == false)
    tekstområde.append("\n");  
       tid.start( );                  // ur
       if (tilslut.getLabel() == "Afbryd")      // Kommunikation
    k.meddel("" + tfx + tfy + tex + tey);
       if (felt[tfx][tfy].billede == bilbp.getImage() && tex == 0)
    felt[tex][tey].billede = bilbq.getImage();
       else
    if (felt[tfx][tfy].billede == bilwp.getImage() && tex == 7)
        felt[tex][tey].billede = bilwq.getImage();
    else
        felt[tex][tey].billede = felt[tfx][tfy].billede;
       farveSkift();      //  urenes baggrundsfarve
       felt[tex][tey].repaint( );
       felt[tfx][tfy].repaint( );
       checkTom( );
       flyt = false;                              
   }
      else      
   flyt = false;  
  }                                                        
 }        
}                                                          

public void mouseReleased(MouseEvent event) {}
public void mouseClicked(MouseEvent event) {}
public void mouseEntered(MouseEvent event)
{
    if (flyt == true)
 {
     tex = x;
     tey = y;
     mid = skakbraet.givBrik(tex, tey);                        
     tilladt = skakbraet.move(tfx, tfy, tex, tey, skakbraet, false);
     if (tilladt == true)
  {                                                                        
      if (skakbraet.givBrik(tex, tey).givFarve( ) == true)
   skakcheck = checkSkak(true);
      else
   skakcheck = checkSkak(false);
  }
     if (tilladt == true)
  skakbraet.omFlyt(tex, tey, tfx, tfy, mid, false);                                                                                                                                                                                                                                  
     if (tilladt == true && skakcheck == false)
  felt[tex][tey].muligtr = true;                                          
     felt[tex][tey].repaint( );
 }                    
}
public void mouseExited(MouseEvent event)
{
    if (felt[tex][tey].muligtr == true)
 {
            felt[tex][tey].muligtr = false;
            felt[tex][tey].repaint( );
               }            
}
   }
   
   public class Knaplytter implements ActionListener
   {

public void fjernFlyt(int fx,  int fy, int ex, int ey)
{
    skakbraet.move(fx, fy, ex, ey, skakbraet, true);
    if (felt[ex][ey].tom == false)
 fjernBrik(ex, ey);
    if (skakbraet.tempEnpessant != null)
 fjernEnpessant();
    felt[ex][ey].tom = false;
    felt[fx][fy].tom = true;
    if (skakbraet.givBrik(ex, ey).GivNavn() == "k" && fy - ey > 1)  //notation
 tekstområde.append("    " + " o-o ");
    else
 if (skakbraet.givBrik(ex, ey).GivNavn() == "k" && fy - ey < -1)
     tekstområde.append("    " + "o-o-o");
 else        
     tekstområde.append("    " + Notation.nota(fx, fy, ex, ey));    // notation    
    if (skakbraet.givBrik(ex, ey).givFarve( ) == false)
 tekstområde.append("\n");    
    tid.start( );                  // ur
    if (felt[fx][fy].billede == bilbp.getImage() && ex == 0)
 felt[ex][ey].billede = bilbq.getImage();
    else
 if (felt[fx][fy].billede == bilwp.getImage() && ex == 7)
     felt[ex][ey].billede = bilwq.getImage();
 else
     felt[ex][ey].billede = felt[fx][fy].billede;
    farveSkift();      //  urenes baggrundsfarve
    felt[ex][ey].repaint( );
    felt[fx][fy].repaint( );
    checkTom( );
}


public void actionPerformed (ActionEvent event)
{
   
    //aListener k = new aListener("haj");
    //k.connect();
   
    if (tilslut.getLabel() == "Tilslut")
 {
     k = new aListener("haj", this);
     tilslut.setLabel("Afbryd");
     k.connect();
 }
    else
 {  
     tilslut.setLabel("Tilslut");
     k.afbryd();
 }
}
   }                      
}


VIRTUALBOARD
Code
public class VirtuelBraet
{
   private ArkeBrik[][] braet;
   public ArkeBrik tempEnpessant;   // !!!
   public int traeknr = 0;
   public boolean virkeligtr = false, trfarve = true;

   public VirtuelBraet( )
   {
tempEnpessant = null;  // !!!
braet = new ArkeBrik[8][8];

for (int i = 0; i < 8; i++)
    for (int k = 0; k < 8; k ++)
 braet[i][k] = null;
   }
   
   public boolean move(int fx, int fy, int ex, int ey, VirtuelBraet br, boolean pse)    
   {
boolean tilladt = false;
boolean bo = false, bo2 = false;

virkeligtr = pse;
bo = braet[fx][fy].Gyldig(fx, fy, ex, ey, br);
bo2 = slutpunkt(fx, fy, ex, ey);
if (bo == true && bo2 == true && braet[fx][fy].givFarve() == trfarve)
    {
 if (pse == true)
       traeknr = traeknr + 1;
 if (pse && braet[fx][fy].GivNavn( ) == "b" && Math.abs(fx - ex) == 2)
     enpessant(fx, fy);
 if (pse && braet[fx][fy].GivNavn( ) == "k" && Math.abs(fy - ey) == 2)
     checkTaarn(ex, ey);
 braet[ex][ey] = braet[fx][fy];  
 braet[fx][fy] = null;
 if (pse && braet[ex][ey].GivNavn( ) == "k" || braet[ex][ey].GivNavn( ) == "t")
     rok(ex, ey);
                  if (pse && trfarve == true)                 // trækskifte
                  {
                        TidsLytter.urfarve = false;
                        trfarve = false;
                  }                        
                  else
                        if (pse && trfarve == false)          // trækskifte
                        {
                              TidsLytter.urfarve = true;
                              trfarve = true;                              
                        }                                      
 if (pse && braet[ex][ey].GivNavn( ) == "b" && ex == 0)      
     braet[ex][ey] = new Dronning("d", false);      
 else
     if (pse && braet[ex][ey].GivNavn( ) == "b" && ex == 7)
  braet[ex][ey] = new Dronning("d", true);                                              
 tilladt = true;
    }
         return tilladt;
   }
   
   public boolean skakFlyt(int fx, int fy, int ex, int ey, VirtuelBraet br)
   {
       boolean tilladt = false;
boolean bo = false, bo2 = false;
bo = braet[fx][fy].Gyldig(fx, fy, ex, ey, br);
bo2 = slutpunkt(fx, fy, ex, ey);
if (bo == true && bo2 == true)
      tilladt = true;
         return tilladt;              
   }
   
   public void omFlyt(int fx, int fy, int ex, int ey, ArkeBrik brik, boolean pse)
   {
          braet[ex][ey] = braet[fx][fy];
          braet[fx][fy] = brik;
          if (pse == true)
                traeknr = traeknr - 1;
    }

   public void checkTaarn(int ex, int ey)
   {
if (ey == 1)
  {
 braet[ex][ey+1] = braet[ex][ey-1];  
 braet[ex][ey-1] = null;
  }
else
    {
 braet[ex][ey-1] = braet[ex][ey+2];  
 braet[ex][ey+2] = null;
    }    
   }

   public ArkeBrik[][] givBraet( )
   {
return braet;
   }

   public void enpessant(int fx, int fy)
   {
braet[fx][fy].pessant = traeknr;
   }

   public void rok(int fx, int fy)
   {
braet[fx][fy].skiftRok();
   }
   
   public boolean checkEnpassant(int sx, int sy)
   {
boolean bo = false;

if (braet[sx][sy] != null && braet[sx][sy].pessant == traeknr)
    {
 if (virkeligtr == true)
     {
  tempEnpessant = braet[sx][sy]; //  !!!
  braet[sx][sy] = null;
     }
 bo = true;
    }                
return bo;                
   }
   
   public boolean checkRokade(int rx, int ry, boolean kfloej)
   {
boolean bo = false;
if (kfloej == true)
    if (braet[rx][ry-3] != null && braet[rx][ry-3].givRok() == true)
 bo = true;
if (kfloej == false)
    if (braet[rx][ry+4] != null && braet[rx][ry+4].givRok() == true)
 bo = true;
return bo;
   }

   public boolean slutpunkt(int fx, int fy, int ex, int ey)
   {
boolean bo = false;
if (braet[ex][ey] == null)
    bo = true;
else
    if (braet[fx][fy].givFarve() != braet[ex][ey].givFarve())
 bo = true;
return bo;
   }
   
   public boolean bondegaa(int fx, int fy, int ex, int ey)
   {
boolean bo = false;
if (braet[ex][ey] == null)
    bo = true;
return bo;
   }

   public boolean bondeslaa(int fx, int fy, int ex, int ey)
   {
boolean bo = false;
if (braet[ex][ey] != null)    
    if (braet[fx][fy].givFarve() != braet[ex][ey].givFarve())
 bo = true;
return bo;
   }

   public void indsaet(ArkeBrik brik, int x, int y)
   {
braet[x][y] = brik;
   }
   
   public boolean overhop(int fx, int fy, int ex, int ey)
   {
boolean bo = true;
int difx = ex - fx;
int dify = ey - fy;
int maxdif = 0;          // største numeriske forskel
int skridtx = 0;
int skridty = 0;

if (Math.abs(difx) > Math.abs(dify))
    maxdif = Math.abs(difx);
else
    maxdif = Math.abs(dify);

if (difx > 0)
    skridtx = 1;
else
    if (difx < 0)
 skridtx = -1;
if (dify > 0)
    skridty = 1;
else
    if (dify < 0)
 skridty = -1;

for (int i = 1; i < maxdif; i++)
    if (braet[fx + (i*skridtx)][fy + (i*skridty)] != null)
 bo = false;

return bo;
   }
   
   public ArkeBrik givBrik(int x, int y)
   {
         return braet[x][y];
   }                                                                    
}              
           


CHESSFIELD:
Code
import java.awt.*;
import java.applet.Applet;

public class SkakFelt extends Canvas
{
     Image billede;
     boolean tom = true;        // true hvis feltet er tomt;
     boolean farve = true;   // true hvis hvid
     boolean muligtr = false;  // true hvis træk er mulig
     boolean starttr = false; // true ved starttr
     
     public SkakFelt(boolean farve, boolean tom)
     {
           setSize(52, 52);
           this.tom = tom;
           this.farve = farve;                  
     }
     
     public void paint(Graphics page)
     {
           if (starttr == true)
                 setBackground(Color.lightGray);
           else
                 if (muligtr == true)
                       setBackground(Color.blue);
                 else
                       if (farve == false)// && muligtr == false)
                             setBackground(Color.gray);
                       else
                             if (farve == true)// && muligtr == false)
                                   setBackground(Color.white);                                                                                                                                                  
           if (tom == false)
                 page.drawImage(billede, 10, 10, this);
     }                    
}


PARENTPIECE:
Code
public abstract class ArkeBrik
{
   public int pessant;
   
   public abstract String GivNavn();
   public abstract boolean Gyldig(int fx, int fy, int ex, int ey, VirtuelBraet br);
   public abstract boolean givFarve();
   public abstract String givIkon( );
   public void skiftRok( ) {}
   public boolean givRok( ) {return true;}
}      


The pieces know hoa they move.
Here is an example. the Knight (springer in danish, but called hest here meaning horse)

Code
public class Hest extends ArkeBrik
{
   private String navn;
   private boolean farve = true;  // true = hvid, false = sort
   
   public Hest(String navn, boolean farve)
   {
this.farve = farve;
this.navn = navn;
   }
   
   public String GivNavn( )
   {
return navn;
   }
   
   public String givIkon( )
   {
         String ikonnavn;
   
         if (farve == true)
               ikonnavn = "wn.gif";
         else
               ikonnavn = "bn.gif";
         return ikonnavn;
     }          

   public boolean givFarve( )
   {
return farve;
   }

   public boolean Gyldig(int fx, int fy, int ex, int ey, VirtuelBraet br)
   {
boolean bo = false;

if (Math.abs(ex-fx) <= 2 && Math.abs(ey-fy) <= 2 && Math.abs(ex-fx)+Math.abs(ey-fy)==3)
    bo = true;
return bo;
   }
}  

Go Back To Programming & Development Topic List
Add Reply New Topic New Poll