Javaのプログラミング手伝ってください
以下のソースコードを応用して、添付画像のような数字のかかれた画像を3つ並べてそれを回して7を揃えるというゲームを作りたいのですが全く進みません。どなたか完成させてくださいm(__)m使用する画像のファイル名は「slot1.jpeg」~「slot7.jpeg」です。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class OneSlot extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
final int MAX = 7;
Timer timer = new Timer(150 , this);
JLabel label= new JLabel("スタートで始まるよ",JLabel.CENTER);
JButton[] bt = {new JButton("スタート"),new JButton("ストップ")};
JLabel slot= new JLabel(new ImageIcon("Slot1.jpg"),JLabel.CENTER);
ImageIcon[] slot_icon = new ImageIcon[MAX];
int iCount = 0;
OneSlot(String title) {
super(title);
timer.setActionCommand("timer");
setBounds(200, 200, 230, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for(int i = 0;i < slot_icon.length; i++)
slot_icon[i] = new ImageIcon("Slot" + (i+1) + ".jpg");
add("North",label);
add("Center",slot);
JPanel p = new JPanel();
for (int i = 0; i < bt.length;i++) {
bt[i].addActionListener(this);
p.add(bt[i]);
}
add("South",p);
setVisible(true);
}
public static void main(String[] args) {
new OneSlot("スロットマシン");
}
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if(cmd.equals("timer")) {
if(++iCount == slot_icon.length) iCount = 0;
slot.setIcon(slot_icon[iCount]);
}
if(e.getSource() == bt[0] && !timer.isRunning()) {
label.setText("7が当たりだよ");
timer.start();
}
else if(e.getSource() == bt[1] && timer.isRunning()) {
if(iCount+1 == MAX) label.setText("やった!!おめでとう");
else label.setText("残念でした");
timer.stop();
}
}
}
お礼
ありがとうございます。 こんな感じです。 応用がまだ出来ないのですが コピー&ペーストでうまくいきました。