Hallo zusammen, ich habe folgendes Problem, ich will, naja besser ich muss eine Art Würfelspiel erstellen, nun hab ich mir schon ein wenig Code im Netz angesehen, und bin da auf diesen hier gestoßen:
ich versteh ihn eigentlich auch ganz gut, wenn man mal von "maleAugen" absieht, deshalb will ich auch anstatt dieser gezeichneten Würfel *.gif Bilder nehmen um die Würfel darzustellen. Dazu hab ich mir mit einem Grafikprogramm annimierte Bilder erstellt und will diese nun anstelle der in Java gmalten Bilder einstellen. Da fällt nach meiner Ansicht dann ja zeichneWuerfel() heraus und dort müssen dann die *.gifs eingefügt werden mit einem MediaTracker. Ich hab das auch probiert, aber da ich auch nicht so recht etwas anzufangen weiß mit "maleAugen" krieg ich das nicht hin.
Kann mir jemand von euch da etwas unter die Arme greifen und mal nen Beispiel geben auf mein obiges Beispiel bezogen? Das wäre richtig cool. DANKE
Code:
import java.awt.*;
import java.awt.event.*;
class Wuerfeln extends Panel implements MouseListener
{
int anzahlWuerfe = 0;
int[] wuerfel = {0,0,0,0,0};
int[] fest = {0,0,0,0,0};
// Konstruktor
Wuerfelbrett()
{
addMouseListener( this );
}
public void paint(Graphics g)
{
zeichneWuerfel();
}
public void neuesSpiel()
{
for (int i = 0; i < wuerfel.length; i++)
{
wuerfel[i] = 0;
fest[i] = 0;
}
anzahlWuerfe = 0;
zeichneWuerfel();
}
public void wuerfeln()
{
double zufallszahl;
if (anzahlWuerfe<3)
{
for (int i = 0; i < wuerfel.length; i++)
{
if (fest[i]==0)
{
zufallszahl = Math.ceil(6.0*Math.random());
wuerfel[i] = (int)Math.round(zufallszahl);
} //if
} // for
} // if
anzahlWuerfe++;
zeichneWuerfel();
}
public void maleAugen(Graphics g, int x, int y, int Augen, int f)
{
if (Augen!=0) {
if (f==0) {
g.setColor(Color.blue);
} else {
g.setColor(Color.lightGray);
}
// links oben
if (Augen!=1) g.fillArc(x+3,y+3,8,8,0,360);
// rechts oben
if (Augen>=4) g.fillArc(x+29,y+3,8,8,0,360);
// links mitte
if (Augen==6) g.fillArc(x+3,y+16,8,8,0,360);
// mitte mitte
if (Augen%2==1) g.fillArc(x+16,y+16,8,8,0,360);
// rechts mitte
if (Augen==6) g.fillArc(x+29,y+16,8,8,0,360);
// links unten
if (Augen>=4) g.fillArc(x+3,y+29,8,8,0,360);
// rechts unten
if (Augen!=1) g.fillArc(x+29,y+29,8,8,0,360);
g.setColor(Color.black);
} // if (Augen!=0)
} // Ende public void maleAugen()
public void zeichneWuerfel()
{
Graphics g = getGraphics();
// Uebermale alles, was vorher war,
// mit einem grossen weissen Rechteck.
g.clearRect(10,10,241,41);
// Male nun fuenf Wuerfel
g.setColor(Color.black);
g.drawRect(10,10,40,40);
maleAugen(g,10,10,wuerfel[0],fest[0]);
g.drawRect(60,10,40,40);
maleAugen(g,60,10,wuerfel[1],fest[1]);
g.drawRect(110,10,40,40);
maleAugen(g,110,10,wuerfel[2],fest[2]);
g.drawRect(160,10,40,40);
maleAugen(g,160,10,wuerfel[3],fest[3]);
g.drawRect(210,10,40,40);
maleAugen(g,210,10,wuerfel[4],fest[4]);
} // Ende public void zeichneWuerfel()
// Die Methoden fuer das Interface MouseListener
public void mousePressed( MouseEvent me )
{
int mx = me.getX();
int my = me.getY();
Graphics g = getGraphics();
for (int i = 0; i < wuerfel.length; i++)
{
if ((my>=10) && (my<=50)) {
if ((mx>=10+i*50) && (mx<=50+i*50))
{
if ((fest[i]==0) && (wuerfel[i]!=0))
{fest[i]=1;} else {fest[i]=0;}
maleAugen(g,10+i*50,10,wuerfel[i],fest[i]);
} // if
} // if
} // for
} // mousePressed
// Dummies
public void mouseClicked( MouseEvent me )
{
} // mouseClicked
public void mouseReleased( MouseEvent me )
{
} // mouseReleased
public void mouseEntered( MouseEvent me )
{
} // mouseEntered
public void mouseExited( MouseEvent me )
{
} // mouseExited
} // classWuerfelbrett extends Panel implements MouseListener
ich versteh ihn eigentlich auch ganz gut, wenn man mal von "maleAugen" absieht, deshalb will ich auch anstatt dieser gezeichneten Würfel *.gif Bilder nehmen um die Würfel darzustellen. Dazu hab ich mir mit einem Grafikprogramm annimierte Bilder erstellt und will diese nun anstelle der in Java gmalten Bilder einstellen. Da fällt nach meiner Ansicht dann ja zeichneWuerfel() heraus und dort müssen dann die *.gifs eingefügt werden mit einem MediaTracker. Ich hab das auch probiert, aber da ich auch nicht so recht etwas anzufangen weiß mit "maleAugen" krieg ich das nicht hin.
Kann mir jemand von euch da etwas unter die Arme greifen und mal nen Beispiel geben auf mein obiges Beispiel bezogen? Das wäre richtig cool. DANKE