|
|
|
![]() |
|
Strumenti |
![]() |
#1 | ||
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
[JAVA] Gioco memory-aiuto
Mi scuso se prima ho sbagliato a postare
![]() 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:
![]() ![]() ![]() 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 15:30. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:13.