0
私はアプレットがカードを "****"で表向きにして起動するときにペアカードゲームを作ろうとしています.JButtonを押すとランダムに選択された数字に基づいて図が表示されます2枚のカードに同じ乱数を与えると私は何を、図では、私がJButtonを押すたびに変更する必要はありませんが、私は乱数を選んで保存する方法は?
import javax.swing.*;
import java.util.Stack;
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
import java.util.*;
public class Memorando extends Applet implements ActionListener {
JButton cartas[];
JButton juegoNuevo;
Label marcador;
public void init(){
this.setLayout(new BorderLayout());
this.setBackground(Color.CYAN);
Font appletFont=new Font("Monospased", Font.BOLD, 20);
this.setFont(appletFont);
juegoNuevo=new JButton("Juego nuevo");
juegoNuevo.addActionListener(this);
Panel topPanel=new Panel();
topPanel.add(juegoNuevo);
this.add(topPanel,"North");
cartas=new JButton[8];
Panel panelCentral=new Panel();
panelCentral.setLayout(new GridLayout(2,4));
this.add(panelCentral,"Center");
marcador=new Label("No has ganado aun :(");
this.add(marcador,"South");
for(int i=0;i<8;i++){
cartas[i]=new JButton("*********");
cartas[i].addActionListener(this);
cartas[i].setBackground(Color.WHITE);
panelCentral.add(cartas[i]);
}
}
public void actionPerformed(ActionEvent e) {
JButton boton=(JButton) e.getSource();
String[] figuras=new String[8];
figuras[0]="♥";
figuras[1]="♣";
figuras[2]="♠";
figuras[3]="♦";
if(boton == juegoNuevo){
for(int i=0;i<8;i++){
cartas[i].setEnabled(true); cartas[i].setLabel("*********");
cartas[i].setBackground(Color.CYAN);
}
marcador.setText("Juego nuevo");
juegoNuevo.setEnabled(false);
return;
}
int random = new Random().nextInt(3)+1;
if(boton == cartas[0]){
cartas[0].setLabel(figuras[random]);
}
if(boton == cartas[1]){
int numAleatorio=(int) (Math.random()*4);
cartas[1].setLabel(figuras[random]);
}
if(boton == cartas[2]){
int numAleatorio=(int) (Math.random()*4);
cartas[2].setLabel(figuras[numAleatorio]);
}
if(boton == cartas[3]){
int numAleatorio=(int) (Math.random()*4);
cartas[3].setLabel(figuras[numAleatorio]);
}
if(boton == cartas[4]){
int numAleatorio=(int) (Math.random()*4);
cartas[4].setLabel(figuras[numAleatorio]);
}
if(boton == cartas[5]){
int numAleatorio=(int) (Math.random()*4);
cartas[5].setLabel(figuras[numAleatorio]);
}
if(boton == cartas[6]){
int numAleatorio=(int) (Math.random()*4);
cartas[6].setLabel(figuras[numAleatorio]);
}
if(boton == cartas[7]){
int numAleatorio=(int) (Math.random()*4);
cartas[7].setLabel(figuras[numAleatorio]);
}
}
}
これは私がJButtonをクリックするたびに変わるので、私はランダムに数字を拾う必要がありますが、それは静的でなければなりません –
アプリを実行するたびに同じ乱数セットを取得したい場合は、ランダムジェネレータの種を設定します。 –
私の問題は、私がカードを比較しようとしていることです。両方のカードの数字が同じでない場合、カードが元に戻ってきて、それと同等であれば、カードが上になるので、 –