29. april 2003 - 16:24Der er
57 kommentarer og 1 løsning
Mølle i java
Hey... Jeg er i gang med et projekt i programmerings opgave, og skal lave et Mølle spil i jave... Jeg har lavet følgende: http://deagle.adsl.dk og jeg vil gerne lave sådan så jeg kan flytte mine brikker nede under op på mit brædt ... Nogle der kan hjælpe med det ?? Hilsen Rosgaard...
Du skal vel have en event handler på dem nedenfor der ved klik fjerner dem og en vent handler på placeringerne ovenfor der ved klik sætter dem. Plus lidt logik der styrer at det altid er 1 fjern + 1 sæt i den rækkefølge.
Du har en mouseClicked metode der bliver kaldt når der klikkes.
Den kode er lige nu tom.
Mit forslag er at den ændres til at have en logik som følger:
hvis klik på brik i bunden så { hvis antal brikker i hånden = 0 så { fjern den antal brikker i hånden = 1 } ellers { "du må kun flytte en brik af gangen" } } hvis klik på position så { hvis antal brikker i hånden = 1 så { sæt den antal brikker i hånden = 0 } ellers { "du skal løfte en brik først" } }
public class tictac extends Applet implements MouseListener, MouseMotionListener {
public tictac() { this.addMouseListener(this);
}
Point[] p = new Point[9]; Point[] hbrik = new Point[5]; Point[] sbrik = new Point[4]; Point punkt;
public void init() { for ( int n=0; n<3;n++) p[n]= new Point (50,n*60+50); for ( int n=3; n<6;n++) p[n]= new Point(110,(n-3)*60+50); for ( int n=6; n<9;n++) p[n]= new Point(170,(n-6)*60+50);
for ( int i = 0; i< hbrik.length; i++) { hbrik[i] = new Point(35*i+20,380);
for ( int n = 0; n<9;n++) { g.setColor(Color.blue); g.drawOval(p[n].x-5,p[n].y-5 ,10,10); g.setColor(Color.red); g.fillOval(p[n].x-5 ,p[n].y-5 ,10,10); } } public void mousePressed(MouseEvent e) { punkt = e.getPoint(); Graphics g = getGraphics();
// g.drawString("("+ punkt.x + " , " + punkt.y+")" , punkt.x,punkt.y); for ( int n = 0; n<24;n++) { if( punkt.distance(p[n])<20) {
g.fillOval(p[n].x-25,p[n].y-25,50,50);
}
}
} public void mouseReleased(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e) { } public void mouseMoved(MouseEvent e) {} public void mouseDragged(MouseEvent e) {}
public class tictac extends Applet implements MouseListener, MouseMotionListener {
private int nn = 0;
public tictac() { this.addMouseListener(this);
}
Point[] p = new Point[9]; Point[] hbrik = new Point[5]; Point[] sbrik = new Point[4]; Point punkt;
public void init() { for (int n = 0; n < 3; n++) p[n] = new Point(50, n * 60 + 50); for (int n = 3; n < 6; n++) p[n] = new Point(110, (n - 3) * 60 + 50); for (int n = 6; n < 9; n++) p[n] = new Point(170, (n - 6) * 60 + 50);
for (int i = 0; i < hbrik.length; i++) { hbrik[i] = new Point(35 * i + 20, 380);
} for (int i = 0; i < sbrik.length; i++) sbrik[i] = new Point(35 * i + 20, 410);
public class tictac extends Applet implements MouseListener, MouseMotionListener {
private int nn = 0;
private boolean[] inuse = new boolean[9];
public tictac() { this.addMouseListener(this);
}
Point[] p = new Point[9]; Point[] hbrik = new Point[5]; Point[] sbrik = new Point[4]; Point punkt;
public void init() { for (int n = 0; n < 3; n++) p[n] = new Point(50, n * 60 + 50); for (int n = 3; n < 6; n++) p[n] = new Point(110, (n - 3) * 60 + 50); for (int n = 6; n < 9; n++) p[n] = new Point(170, (n - 6) * 60 + 50);
for (int i = 0; i < hbrik.length; i++) { hbrik[i] = new Point(35 * i + 20, 380);
} for (int i = 0; i < sbrik.length; i++) sbrik[i] = new Point(35 * i + 20, 410);
public class tictac extends Applet implements MouseListener, MouseMotionListener {
private int nn = 0;
private boolean[] inuse = new boolean[9];
public tictac() { this.addMouseListener(this);
}
Point[] p = new Point[9]; Point[] hbrik = new Point[5]; Point[] sbrik = new Point[4]; Point punkt;
public void init() { for (int n = 0; n < 3; n++) p[n] = new Point(50, n * 60 + 50); for (int n = 3; n < 6; n++) p[n] = new Point(110, (n - 3) * 60 + 50); for (int n = 6; n < 9; n++) p[n] = new Point(170, (n - 6) * 60 + 50);
for (int i = 0; i < hbrik.length; i++) { hbrik[i] = new Point(35 * i + 20, 380);
} for (int i = 0; i < sbrik.length; i++) sbrik[i] = new Point(35 * i + 20, 410);
hvis man minimere vinduet , så forsvinder knapperne ... Skal det hele lavet om for at fixe det?? Jeg tror snart du må få lidt ekstra point for det her :DD .... Men har du ik msn/icq/mIRC ?? :D
public void mousePressed(MouseEvent e) { Point punkt = e.getPoint(); for (int n = 0; n < 9; n++) { if (punkt.distance(p[n]) < 20) { if (state[n] == 0) { state[n] = nn % 2 + 1; nn++; } }
} repaint(); } public void mouseReleased(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseMoved(MouseEvent e) { } public void mouseDragged(MouseEvent e) { } }
okay, som du nok ved, ved jeg meget meget mget lidt i java ... så hjælp lige i gang med hvor jeg må begynde med at skrive det der .. bare efter public class tictac extends Applet implements MouseListener, MouseMotionListener { ????
public void mousePressed(MouseEvent e) { Point punkt = e.getPoint(); for (int n = 0; n < 9; n++) { if (punkt.distance(p[n]) < 20) { if (state[n] == 0) { state[n] = nn % 2 + 1; nn++; } }
} repaint(); } public void mouseReleased(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseMoved(MouseEvent e) { } public void mouseDragged(MouseEvent e) { } public void actionPerformed(ActionEvent e) { if (e.getSource() == b) { for (int i = 0; i < 9; i++) state[i] = 0; repaint(); } } }
hmm, en sidste ting, har glemt at kravet var at der skulle være en lykke med ... hvor ka jeg nemmest smide sådan en ind ?? Og ville det være besværligt at sætte et point system op, som bare ville skrive : Kryds vundet: x Bolle vundet: x Uafgjort: x
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.