新来的,发个自己写的JAVA开窗户游戏

原创 2005年05月26日 20:34:00

各位大哥大姐好,刚注册完,发个开窗户游戏源码来,高手们别笑喔!

无法粘附件上面,只好直接粘源码了

100% 纯 JAVA 编写, 可以在任何系统上运行,比如苹果电脑和LINUX等

以下是源代码

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class OpenWindows{
 public static void main(String[] args){
  JFrame.setDefaultLookAndFeelDecorated(true);
  JFrame frame=new JFrame("开窗户游戏");
  frame.getContentPane().add(new Mainpanel());
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.pack();
  frame.setVisible(true);
 } 
}
class Mainpanel extends JPanel{
 PanelC pc=new PanelC();
 PanelS ps=new PanelS(pc);
 public Mainpanel(){
  this.setLayout(new BorderLayout());
  this.add(pc,"Center");
  this.add(ps,"South");
 }
}
//方块面板
class PanelC extends JPanel{
 JButton[] jb=new JButton[25];
 Color c;
 public PanelC(){
 this.setLayout(new GridLayout(5,5));
 for(int i=0;i<25;i++){
  jb[i]=new JButton();
  jb[i].setActionCommand(String.valueOf(i));
  c=jb[i].getBackground();  //获得默认颜色
  jb[i].addActionListener(new OpenOther());
  this.add(jb[i]);
 }
 this.setPreferredSize(new Dimension(300,300));
 }
 class OpenOther implements ActionListener{
  public void actionPerformed(ActionEvent a){
   String y=a.getActionCommand();
   int x=Integer.parseInt(y);
   Select(x);
   IsWin();
  }
  //判断九种情况
  private void Select(int x){
   if(x==0){
    ChangeColor(jb[x]);
    ChangeColor(jb[x+1]);
    ChangeColor(jb[x+5]);
   }else if(x>0 && x<4){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-1]);
    ChangeColor(jb[x+1]);
    ChangeColor(jb[x+5]); 
   }else if(x==4){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-1]);
    ChangeColor(jb[x+5]); 
   }else if(x==20){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-5]);
    ChangeColor(jb[x+1]); 
   }else if(x==24){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-5]);
    ChangeColor(jb[x-1]); 
   }else if(x>20 && x<24){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-5]);
    ChangeColor(jb[x-1]);
    ChangeColor(jb[x+1]); 
   }else if(x%5==0){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-5]);
    ChangeColor(jb[x+1]);
    ChangeColor(jb[x+5]);     
   }else if(x%5==4){
    ChangeColor(jb[x]);
    ChangeColor(jb[x-5]);
    ChangeColor(jb[x-1]);
    ChangeColor(jb[x+5]);    
   }else{
    ChangeColor(jb[x]);
    ChangeColor(jb[x-5]);
    ChangeColor(jb[x-1]);
    ChangeColor(jb[x+1]);
    ChangeColor(jb[x+5]);     
   }   
  }  
  //改变周围颜色函数
  private void ChangeColor(JButton jb){
   if(jb.getBackground()==c)
    jb.setBackground(Color.white);
   else
    jb.setBackground(c);
  }
  //判断是否胜出
  private void IsWin(){
   int a=1;
   for(int i=0;i<25;i++)
    if(jb[i].getBackground()==Color.white)
     a++;
   if(a>25)
    JOptionPane.showMessageDialog(null,"恭喜过关");
  }
 }
}
class PanelS extends JPanel{
 JLabel jl=new JLabel("开窗户游戏");
 JButton jbS=new JButton("重置");
 PanelC pc;
 public PanelS(PanelC pc){
  this.pc=pc;
  jbS.addActionListener(new Reset());
  this.add(jl);
  this.add(jbS);
 }
 class Reset implements ActionListener{
  public void actionPerformed(ActionEvent a){
   for(int i=0;i<25;i++){
    pc.jb[i].setBackground(pc.c);
   }
  }
 }
}

自己开发的关窗户游戏

  • 2011年12月13日 09:46
  • 16KB
  • 下载

《Java EE互联网轻量级框架整合开发》在京东预售,发个目录

《Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现 》在京东预售,发个目录给大家look look...

发个java测试程序

  • 2013年06月08日 15:40
  • 1KB
  • 下载

发个比较老的VB写的 Windows Hacker

  • 2010年08月18日 15:28
  • 16KB
  • 下载

【贪吃蛇—Java程序员写Android游戏】系列 4.用Google SVN管理开源的Android项目

最近在写一个新浪微博团购分享的手机客户端(感兴趣的朋友可以到这里下载http://sharetuan.sinaapp.com/ ,是J2ME版本的,以后我基本就不会进行J2ME版本的开发,注意精力放在...

【待续,啊啊啊啊】【找了一遍,最后成功!!】stm32 USART 防止发送缓冲区被新来的数据覆盖

除了发送数据后延时,我在尝试有没有其他办法。 尝试办法: 1.空闲符号     见我的文章《http://blog.csdn.net/ysmz4/article/details/46546761》 2...
  • ysmz4
  • ysmz4
  • 2015年06月18日 16:59
  • 2177

公司新来了一个漂亮前台,面试一路过关斩将,结果一语惊人引发了大家的集体沉默!

跟所有的管培生一样,Sala被派到各个部门去轮岗,宝洁HR会根据轮岗的情况,Sala被公司寄予厚望,被当成未来的商业领袖进行重点培养。 第一个月,Sala被分配的岗位是前台。同时分配到前...

后缀数组模板-boj477.新来的小妹妹 & boj477. 田田背课文

09C. 新来的小妹妹 2014新生暑假个人排位赛09 时间限制 6000 ms 内存限制 65536 KB 题目描述 Mays王国的女王大人每天过着自由自在的生活,她最大的乐趣就是给邻国...

【原创达人】新来的小新Air Pro,一言不合就拆机

感谢联想社区,让我有机会试用小新Air Pro笔记本,体验联想新款超极本。看着新来的小新,既有颜值又有实力,精湛的外观设计工艺,让人赞叹不已,就是不知小新肚里面能否担当得起。经过社区管理员的同意,怀...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:新来的,发个自己写的JAVA开窗户游戏
举报原因:
原因补充:

(最多只允许输入30个字)