Ergebnis 1 bis 13 von 13
-
01.07.2013, 16:24 #1Xburn
Java Quelltextfehler - Memory
hier kommt jemand hier weiter :/
Kann mir jemand den Fehler nennen ? Das Spiel was programmiert wird ist Memory, kennt warscheinlich jeder
Lg und vielen dank im vorraus !
Testklasse:
package memory;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class TestKlasse implements MouseListener, ActionListener{
private JFrame f;
private JButton end;
private Karte [][] k;
private int[][] x;
private int[][] y;
public TestKlasse() {
f=new JFrame();
f.setBackground(Color.GRAY);
f.setBounds(100, 100, 900, 700);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().setLayout(null);
f.setVisible(true);
end = new JButton("END");
end.setBounds(730, 620,120,30);
f.getContentPane().add(end);
end.addActionListener(this);
k=new Karte [2][8];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 8; j = j + {
k[i][j] = new Karte1();
k[i][j + 1] = new Karte2();
k[i][j + 2] = new Karte3();
k[i][j + 3] = new Karte4();
k[i][j + 4] = new Karte5();
k[i][j + 5] = new Karte6();
k[i][j + 6] = new Karte7();
k[i][j + 7] = new Karte8();
x[i][0] = (60 + 150 * i);
y[i][0] = 50;
x[i][1] = (60 + 150 * i);
y[i][1] = 200;
x[i][2] = (60 + 150 * i);
y[i][2] = 350;
x[i][3] = (60 + 150 * i);
y[i][3] = 500;
x[i][4] = (60 + 150 * (i + 2));
y[i][4] = 50;
x[i][5] = (60 + 150 * (i + 2));
y[i][5] = 200;
x[i][6] = (60 + 150 * (i + 2));
y[i][6] = 350;
x[i][7] = (60 + 150 * (i + 2));
y[i][7] = 500;
}
}
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 8; j++) {
{
k[i][j].setBounds(x[i][j], y[i][j], 150, 113);
f.getContentPane().add(k[i][j]);
k[i][j].addMouseListener(this);
}
}
}
}
public void fuehreAus(){
for (int i = 0; i < 4; i++)
for (int j = 0; j < 8; j++)
k[i][j].hide();
}
public void mische()
{
k[1][2] = k[1][7];
k[1][7] = k[1][2];
k[1][1] = k[0][5];
k[0][5] = k[1][4];
k[1][1] = k[0][1];
k[0][1] = k[1][1];
k[0][3] = k[0][4];
k[0][4] = k[0][3];
}
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent event) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 8; j++) {
if (event.getSource() == k[i][j]) {
k[i][j].turn();
}
if(k[0][j].off()==true &&
k[1][j].off()==true){
k[0][j].setBounds(750,400,150, 113);
k[1][j].setBounds(750,400,150, 113);
}
}
}
}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void actionPerformed(ActionEvent action) {
if (action.getSource()==end){
System.exit(0);
}
}
}
Startklasse:
public class StartKlasse {
public static void main(String[] args) {
TestKlasse tk = new TestKlasse();
tk.fuehreAus();
}
}
-
-
01.07.2013, 16:47 #2Xburn
-
01.07.2013, 17:02 #3Aurel-
AW: Java Quelltextfehler - Memory
1. Du hälst Stellenweise die Syntaxregeln nicht ein. Siehe z. B. Zeile 31:
Code:for (int j = 0; j < 8; j = j + {
Code:private Karte [][] k; k[i][j + 2] = new Karte3(); k[i][j + 3] = new Karte4(); . . ....
-
01.07.2013, 19:16 #4Speedy79
AW: Java Quelltextfehler - Memory
Auf den schnellen Blick würde ich mal sagen, wenn der Compiler meckert, dass der Fehler in Zeile 41 ist, da mal zu schauen.
Und: tatarata: x und y sind nicht instantiierte Arrays, also sind sie einfach null. Deswegen ist kein Wert zuweisbar, daher die Exception.
-
01.07.2013, 19:35 #5Unregistriert
AW: Java Quelltextfehler - Memory
package memory;
import java.applet.AudioClip;
import java.awt.*;
import javax.swing.*;
public abstract class Karte extends JLabel{
protected ImageIcon bild;
protected AudioClip music;
protected int x, y;
protected boolean off;
private boolean change;
public Karte(){
bild = new ImageIcon (this.getClass().getResource("deckblatt.gif"));
music=JApplet.newAudioClip(this.getClass().getResource("butt on.wav"));
x=10;
y=10;
setBounds(x, y, 120, 120);
off=false;
change=false;
}
public void hide(){
this.setIcon(bild);
this.setOff(false);
}
public abstract void show();
public void delete(){
music.play();
setIcon(bild);
setOff(true);
}
public void turn(){
if(change){
hide();
}else{
show();
}
change=!change;
}
public void setOff(boolean off){
off=off;
}
public void setWert(int wert){
wert=wert;
}
public boolean off(){
return off;
}
}
@Speedy79 : Wie behebe ich denn den Fehler? Mir wurde das so beigebracht.
-
01.07.2013, 20:59 #6HardAndSoft
AW: Java Quelltextfehler - Memory
Mach die Klammer zu, dann findet sich der Rest.
-
01.07.2013, 21:07 #7Unregistriert
AW: Java Quelltextfehler - Memory
Wo soll ich denn die Klammer schließen?
-
01.07.2013, 21:54 #8HardAndSoft
AW: Java Quelltextfehler - Memory
In der genannen Zeile, wo sonst?
Ich denke mal, das j=j+ ist ein Programmierfehler; der muss korrigiert werden und dahinter die Iteration gechlossen.
Viel Spass!
-
02.07.2013, 20:51 #9Unregistriert
AW: Java Quelltextfehler - Memory
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 8; j = j + 8) {
k[i][j] = new Karte1();
k[i][j + 1] = new Karte2();
k[i][j + 2] = new Karte3();
k[i][j + 3] = new Karte4();
k[i][j + 4] = new Karte5();
k[i][j + 5] = new Karte6();
k[i][j + 6] = new Karte7();
k[i][j + 7] = new Karte8();
x[i][0] = (60 + 150 * i);
y[i][0] = 50;
x[i][1] = (60 + 150 * i);
y[i][1] = 200;
x[i][2] = (60 + 150 * i);
y[i][2] = 350;
x[i][3] = (60 + 150 * i);
y[i][3] = 500;
x[i][4] = (60 + 150 * (i + 2));
y[i][4] = 50;
x[i][5] = (60 + 150 * (i + 2));
y[i][5] = 200;
x[i][6] = (60 + 150 * (i + 2));
y[i][6] = 350;
x[i][7] = (60 + 150 * (i + 2));
y[i][7] = 500;
}
}
Tut mir Leid, ich bin einfach zu dumm für sowas.
-
02.07.2013, 22:20 #10HardAndSoft
AW: Java Quelltextfehler - Memory
Dann schildere doch mal die Symptome.
Und melde Dich bei Forumla an; das dauernde Freischalten nervt.
-
03.07.2013, 13:41 #11Speedy79
AW: Java Quelltextfehler - Memory
Wie gesagt, soweit ich weiß, muss auch in Java ein Array direkt befüllt, oder seine Größe im Vorfeld festgelegt werden.
Das machst du für x und y nicht, für k schon (k=new Karte [2][8].
-
03.07.2013, 18:38 #12Unregistriert
AW: Java Quelltextfehler - Memory
Danke Leute!
Und sorry, dass ich nicht angemeldet bin. Ein Freund hat mir hier geholfen. Also es reingestellt und so. Danke.
-
04.07.2013, 23:43 #13Xburn
AW: Java Quelltextfehler - Memory
Auch von mir danke
Ähnliche Themen
-
Coding Java Programm<-->Java Applet
Java Programm<-->Java Applet: Hallo Leute, ich versuche grade, mir Java beizubringen, hab das mittlerweile auch in der Schule. Altbekannt ist da natürlich der Taschenrechner.... -
Hardware Max Memory 4GB Memory Unit
Max Memory 4GB Memory Unit: hi hab die ,,Max Memory 4GB Memory Unit,, der speicher ist aufgeteillt in verschiedene ,,karten,, nun zum problem es wird nur 473mb angezeigt , ... -
Java auf ps3?: Hey hab da ne kleine Frage.Ich hab jezz ne ps3 und möchte jezz auf der ps3 gerne im i-net chatten, und brauche java z.b. für Knuddels.Ich hab gelesen... -
java auf psp: geht java auf psp? -
PSone Memory Card 4MB (60 Memory Blocks) in PS2?: Habe bereits 2x1MB Speicherkarten (für PSone mit je 15 Speicherblöcken) in meiner PS2 für PSone-Spiele benutzt! Jetzt habe ich mir so eine 4MB-Karte...
GX und die erste Season waren die einzigen, die ich auch wirklich aktiv und komplett verfolgt habe. :D Deshalb freu ich mich umso mehr, dass es von...
Der Yu-Gi-Oh! Anime & TCG-Thread