开窗户小游戏

package GUI;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class OpenWindow extends JFrame implements ActionListener{
private JLabel label=new JLabel("开窗户游戏");
private JButton button[]=new JButton[25];
private JPanel top=new JPanel();
private JPanel bottom=new JPanel();
private final int width=400;
private final int height=400;
private JButton reset=new JButton("重置");
Color c;
public OpenWindow(){
top.setLayout(new GridLayout(5,5));
for(int i=0;i<button.length;i++){
button[i]=new JButton();
button[i].setBackground(Color.black);
button[i].addActionListener(this);
button[i].setActionCommand(String.valueOf(i));
c=button[i].getBackground();
top.add(button[i]);
}
this.add(top,BorderLayout.CENTER);
bottom.add(label);
bottom.add(reset);
reset.addActionListener(this);
this.add(bottom,BorderLayout.SOUTH);
this.setBounds(100, 100, width, height);
this.setTitle("开窗户游戏");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==reset){
for(int i=0;i<button.length;i++){
button[i].setBackground(Color.black);
}
}else{
int x=Integer.parseInt(e.getActionCommand());
selectIndex(x);
}
}

public void ChangeColor(JButton b){
if(b.getBackground()==c){
b.setBackground(Color.white);
}else{
b.setBackground(c);
}
}
public void selectIndex(int h){
if(h==0){
ChangeColor(button[h]);
ChangeColor(button[h+1]);
ChangeColor(button[h+5]);
}else if(h==4){
ChangeColor(button[h]);
ChangeColor(button[h-1]);
ChangeColor(button[h+5]);
}else if(h==20){
ChangeColor(button[h]);
ChangeColor(button[h+1]);
ChangeColor(button[h-5]);
}else if(h==24){
ChangeColor(button[h]);
ChangeColor(button[h-1]);
ChangeColor(button[h-5]);
}else if(1<=h&&h<=3){
ChangeColor(button[h]);
ChangeColor(button[h+1]);
ChangeColor(button[h-1]);
ChangeColor(button[h+5]);
}else if(21<=h&&h<=23){
ChangeColor(button[h]);
ChangeColor(button[h+1]);
ChangeColor(button[h-1]);
ChangeColor(button[h-5]);
}else if(h%5==0){
ChangeColor(button[h]);
ChangeColor(button[h+1]);
ChangeColor(button[h-5]);
ChangeColor(button[h+5]);
}else if(h%5==4){
ChangeColor(button[h]);
ChangeColor(button[h-1]);
ChangeColor(button[h-5]);
ChangeColor(button[h+5]);
}else{
ChangeColor(button[h]);
ChangeColor(button[h-1]);
ChangeColor(button[h-5]);
ChangeColor(button[h+5]);
ChangeColor(button[h+1]);
}

}
public void result(){
int count=0;
for(int i=0;i<button.length;i++){
if(button[i].getBackground()==c){
count++;
}
}
if(count==25){
JOptionPane.showMessageDialog(this, "恭喜你,你赢了!", "消息对话框", JOptionPane.INFORMATION_MESSAGE);
}
}
public static void main(String[] args) {
OpenWindow window=new OpenWindow();
}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值