|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | ||
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
[JAVA] Gioco memory-aiuto
Mi scuso se prima ho sbagliato a postare
, spero che ora vada bene.Mi quoto comunque: Quote:
Quote:
|
||
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2005
Città: Roma sud
Messaggi: 590
|
Devi modificare solo la classe CharButton cosi dovrebbe andare...
Codice:
import java.io.Serializable;
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.String.*;
class CharButton extends JButton
{
private String werte;
CharButton(String lab)
{
super(new ImageIcon("default.jpg"));
werte = lab;
}
void uncover()
{
setIcon(new ImageIcon(werte+".jpg"));
}
void cover()
{
setText("");
}
String getChar()
{
return werte;
}
}
Ciao
__________________
-Mac Book intel core duo 1,83GHz, 1,25 Gb RAM -Amd athlon 64 dual core 4400+, 2 GB RAM, Asus a8n-sli Deluxe, totale 500 GB di HARD DISK(4 hdd) |
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Quote:
Allora ho fatto quello che mi hai detto, solo che quando faccio partire il gioco, praticamente compare l'immagine di default in tutti i quadretti, quando poi ci clicco sopra compaiono le altre immagini(1.png, 2.png, ecc.), e non sono nascoste..., come potrei fare? |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2005
Città: Roma sud
Messaggi: 590
|
Non ho capito bene in pratica dopo aver cliccato su 2 immagini che non coincidono non si "richiudono" quando clicchi su un altra?
Io proverei a modificare il metodo Codice:
void cover()
{
setText("");
}
Codice:
void cover()
{
setIcon(new ImageIcon("vuota.jpg"));
}
__________________
-Mac Book intel core duo 1,83GHz, 1,25 Gb RAM -Amd athlon 64 dual core 4400+, 2 GB RAM, Asus a8n-sli Deluxe, totale 500 GB di HARD DISK(4 hdd) |
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Quote:
, compare così: , anche se ne clicco 2, restano sempre senza colori..., ho provato con vari metodi, purtroppo però non sono riuscito a risolvere Ti ringrazio nuovamente dell'(grande) aiuto che mi stai dando, perchè ne ho proprio bisogno
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2005
Città: Roma sud
Messaggi: 590
|
Hai provato con un altra immagine non png ma JPG??? Prova con questa ad esempio
![]() e' la stessa immagine che hai postato tu ma convertita in JPG
__________________
-Mac Book intel core duo 1,83GHz, 1,25 Gb RAM -Amd athlon 64 dual core 4400+, 2 GB RAM, Asus a8n-sli Deluxe, totale 500 GB di HARD DISK(4 hdd) |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Perchè quando clicchi su una carta, parte il MemoryListener su quell'oggetto CharButton, il quale prevede nel metodo actionPerformed questo:
Codice:
public void actionPerformed(ActionEvent e)
{
CharButton mem2 = (CharButton) e.getSource();
if (erste == null)
{
erste = mem2;
mem2.setEnabled(false);
mem2.uncover();
}
else if (zweite == null)
{
mem2.setEnabled(false);
mem2.uncover();
zweite = mem2;
if (erste.getChar().equals(zweite.getChar()))
{
erste.setBackground(Color.BLACK);
zweite.setBackground(Color.BLACK);
erste = null;
zweite = null;
Paare++;
if (Paare == 18)
{
JOptionPane.showMessageDialog(null,
"Du hasst gewonnen!!", "Gut gemacht",
JOptionPane.INFORMATION_MESSAGE);
}
}
else
{
}
}
else
{
mem2.setEnabled(false);
mem2.uncover();
erste.cover();
erste.setEnabled(true);
erste = mem2;
zweite.cover();
zweite.setEnabled(true);
zweite = null;
}
}
![]() Inoltre ti consiglio di ricontrollare la logica di quel MemoryListener, e di cambiare i nomi della classi e renderli più coerenti (che diavolo sarebbe un CharButton quando in realtà è un'immagine?)
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 13-11-2008 alle 16:30. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:53.










, spero che ora vada bene.

, compare così:
, anche se ne clicco 2, restano sempre senza colori..., ho provato con vari metodi, purtroppo però non sono riuscito a risolvere 








