Hallo,
kurze erklärung: wir sollen ein MosaikApplet Spiel programmieren ( Canvas Objekte, mit zwei Varianten Bild oder Farben ) das über eine CheckBox ein Frame erzeugt, also wenn die CheckBox aktiv ist soll ein Frame geöffnet werden....wenn sie inaktiv ist soll klarerweise kein Frame kommen.
ich hab jetzt eine if() abfrage gemacht mit
modus bedeutet die BildVariante wenn die BildCheckBox inaktiv ist soll es mit der FarbVariante weitergehen auch mit oder ohne Frame.
Ich hoffe ich hab das verständlich erklärt?!
die Klasse Mosaik:
ich weiss ich hab die if() Abfrage falsch:
wie kann ich die Abfrage so abändern das sie funktioniert?
es gibt beim compilieren keinen Fehler.
das was ich nicht haben will ist das das Fenster egal ob ich es auswähle oder nicht immer kommt...
wäre nett wenn mir wer einpaar kleine tipps geben könnte
komm da von alleine nicht weiter.
Danke schon mal
thomas
kurze erklärung: wir sollen ein MosaikApplet Spiel programmieren ( Canvas Objekte, mit zwei Varianten Bild oder Farben ) das über eine CheckBox ein Frame erzeugt, also wenn die CheckBox aktiv ist soll ein Frame geöffnet werden....wenn sie inaktiv ist soll klarerweise kein Frame kommen.
ich hab jetzt eine if() abfrage gemacht mit
Java:
if(modus){BildVariante}else{FarbVarainte}
Ich hoffe ich hab das verständlich erklärt?!
die Klasse Mosaik:
Java:
import java.applet.Applet;
import java.awt.Image;
import java.awt.Color;
import java.awt.*;
public class Mosaik extends Applet implements SteuerIF {
int raster; // Raster des Spieles
String bildName; // Name der Bilddatei
String protokollFrame;
Image image; // Image-Objekt zu "bildName"
BildMosaik bm; // Canvas-Objekte auf Panel
private Color farbeRueck, farbeVor;
private int imageWidth;
private VorschauCanvas vorschauBild;
private SteuerPanel steuerPanel;
private FarbMosaik fm;
private boolean zuletztBild = true;
/***************************************************/
Frame f;
ProtokollModel pm;
MosaikEventHandler eventHandler;
MosaikIF mm;
public void init() {
setBackground(new Color(236,230,100));
// Parameter einlesen
String temp = getParameter("raster");
try {
raster = Integer.parseInt(temp);
} catch(NumberFormatException nfe) {
raster = 4;
System.out.println("Raster auf default= " + raster + " gesetzt. NumberFormatException: " + nfe.getMessage());
}
// Parameter "bildName" einlesen
bildName = getParameter("bildName");
// Parameter "protokollFenster" einlesen
protokollFrame = getParameter("Protokollfenster");
// Parameter für die Farben
farbeRueck = Color.blue;
farbeVor = Color.red;
image = getImage(getCodeBase(), bildName);
// MediaTracking im ImageHandler
image = ImageHandler.trackImage(image, this);
imageWidth = image.getWidth(this);
vorschauBild = new VorschauCanvas(image);
add(vorschauBild);
steuerPanel = new SteuerPanel(this);
add(steuerPanel);
}
public void startGame(int raster, boolean modus, boolean proto) {
if(vorschauBild != null) {
remove(vorschauBild);
vorschauBild = null;
} else {
if(zuletztBild) {
remove(bm);
} else {
remove(fm);
}
}
remove(steuerPanel);
if(modus) { //BildMosaik
if(protokollFrame.equals("ok")){
bm = new BildMosaik(raster, imageWidth, farbeRueck, image);
bm.protokollFrame(raster, imageWidth, farbeRueck, farbeVor); //erzeugt Frame aus dem BildMosaik
add(bm);
zuletztBild = true;
}else{
bm = new BildMosaik(raster, imageWidth, farbeRueck, image);
add(bm);
zuletztBild = true;
}
} else {
if(protokollFrame.equals("ok")){ //FarbMosaik
fm = new FarbMosaik(raster, imageWidth, farbeRueck, farbeVor);
fm.protokollFrame(raster, imageWidth, farbeRueck, farbeVor); // erzeugt Frame aus dem FarbMosaik
add(fm);
zuletztBild = false;
}else{
fm = new FarbMosaik(raster, imageWidth, farbeRueck, farbeVor);
add(fm);
zuletztBild = false;
}
}
add(steuerPanel);
validate();
}
public void resetGame() {
/* if(modus){
remove(bm);
}else{
remove(fm);
}
vorschauBild = new VorschauCanvas(image);
add(vorschauBild);
steuerPanel = new SteuerPanel(this);
add(steuerPanel);*/
validate();
}
}
ich weiss ich hab die if() Abfrage falsch:
Java:
if(modus) { //BildMosaik
if(protokollFrame.equals("ok")){
bm = new BildMosaik(raster, imageWidth, farbeRueck, image);
bm.protokollFrame(raster, imageWidth, farbeRueck, farbeVor); //erzeugt Frame aus dem BildMosaik
add(bm);
zuletztBild = true;
}else{
bm = new BildMosaik(raster, imageWidth, farbeRueck, image);
add(bm);
zuletztBild = true;
}
} else {
if(protokollFrame.equals("ok")){ //FarbMosaik
fm = new FarbMosaik(raster, imageWidth, farbeRueck, farbeVor);
fm.protokollFrame(raster, imageWidth, farbeRueck, farbeVor); // erzeugt Frame aus dem FarbMosaik
add(fm);
zuletztBild = false;
}else{
fm = new FarbMosaik(raster, imageWidth, farbeRueck, farbeVor);
add(fm);
zuletztBild = false;
}
}
wie kann ich die Abfrage so abändern das sie funktioniert?
es gibt beim compilieren keinen Fehler.
das was ich nicht haben will ist das das Fenster egal ob ich es auswähle oder nicht immer kommt...
wäre nett wenn mir wer einpaar kleine tipps geben könnte
komm da von alleine nicht weiter.
Danke schon mal
thomas