| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5587 人关注过本帖, 1 人收藏
标题:[原创]好久没来了,来顶下
只看楼主 加入收藏
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏(1)
 问题点数:0 回复次数:13 
[原创]好久没来了,来顶下

数字华容道

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Hrdao extends JFrame implements ActionListener
{JMenuBar menubar=new JMenuBar();
JMenu menu1=new JMenu("文件(F)");
JMenuItem kaishi = new JMenuItem("开始",'K');
JMenuItem exit = new JMenuItem("退出",'E');

private static JButton[] Button1;
private GridLayout layout1;
private static Container cp;
private JPanel panel;
private static JLabel win; //用来显示胜利信息.
private static int i,weizhiP,Gesu,width,height;
public Hrdao(int ROW,int COL)
{
super("数字华容道");
super.setJMenuBar(menubar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Gesu=ROW*COL;
menu1.add(kaishi);
menu1.add(exit);
menu1.setMnemonic('F');
menubar.add(menu1);
kaishi.addActionListener(this);
exit.addActionListener(this);
layout1=new GridLayout(ROW,COL);
Button1=new JButton[Gesu];
cp=getContentPane();
panel=new JPanel(layout1);
win=new JLabel("你真棒!");
win.setFont(new Font("仿宋",Font.BOLD,14));
for (i=0 ;i<Gesu;i++)
{ if (i==Gesu-1) Button1[i]=new JButton(" ");
else Button1[i]=new JButton(String.valueOf(i+1));
Button1[i].addActionListener(this);
panel.add(Button1[i]);
}
weizhiP=Gesu-1;
cp.add(panel,"Center");

}

public void actionPerformed(ActionEvent e1)
{ if (e1.getSource()==kaishi) {Start();return;}
if (e1.getSource()==exit) {System.exit(0);return;}
for (i=0 ;i<Gesu;i++)
{ if (e1.getSource()==Button1[i])
{ if (!Button1[i].getLabel().equals(" "))
{if ((Button1[weizhiP].getX()==Button1[i].getX() || Button1[weizhiP].getY()==Button1[i].getY()) && (Button1[weizhiP].getX()+width==Button1[i].getX() || Button1[weizhiP].getX()-width==Button1[i].getX() || Button1[weizhiP].getY()+height==Button1[i].getY() || Button1[weizhiP].getY()-height==Button1[i].getY()))
{Button1[weizhiP].setLabel(Button1[i].getLabel());Button1[i].setLabel(" ");weizhiP=i;break;}
}
}
}
win();
}

void win()
{ for(i=0;i<Gesu-1;i++)
if (Integer.parseInt(Button1[i].getLabel())!=(i+1)) break;
if (i==Gesu-1) System.out.println("你真棒!");
}


void Start()
{int tmp=(int)(Math.random()*(Gesu-1))+1,p=0,tmpB;
Button1[0].setLabel(String.valueOf(tmp));
while(p<=(Gesu-3))
{ tmp=(int)(Math.random()*(Gesu-1))+1;
for(i=0;i<=p;i++)
{tmpB=Integer.parseInt(Button1[i].getLabel());
if (tmpB==tmp) break;
}
if (i>p) {Button1[i].setLabel(String.valueOf(tmp));p++;}
}
Button1[Gesu-1].setLabel(" ");
weizhiP=Gesu-1;
}

public static void main(String[] args)
{
Hrdao hrd=new Hrdao(4,4); //设置长宽
hrd.setVisible(true);
hrd.setLocation(320,250);
hrd.setResizable(false);
hrd.pack();
width=Button1[0].getWidth();height=Button1[0].getHeight();
win.setLocation(hrd.getWidth()/2,hrd.getHeight()/2);
}
}

搜索更多相关主题的帖子: private import JMenuItem awt 
2006-08-09 12:27
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class PinTuha extends JFrame implements ActionListener
{JMenuBar menubar=new JMenuBar();
JMenu menu1=new JMenu("文件(F)");
JMenuItem kaishi = new JMenuItem("开始",'K');

static JButton button1[] = new JButton[28];
int img[]=new int[28];
JLabel label1,label2;
int i;
static int width,height;
int place[]={25,26,27}; //存放空位的位置.


public PinTuha(int width,int height)
{ super("轻松拼图");
super.setJMenuBar(menubar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menu1.add(kaishi);
menu1.setMnemonic('F');
menubar.add(menu1);
kaishi.addActionListener(this);
Container c = getContentPane();
c.setLayout(null);

for(i=0;i<28;i++)
{if (i>=25) img[i]=25; else img[i]=i;
button1[i]=new JButton(new ImageIcon(img[i]+".jpg"));
button1[i].setSize(width,height);
button1[i].setLocation(0+i%5*width,0+i/5*height);
button1[i].setVisible(true);
button1[i].addActionListener(this);
c.add(button1[i]);
}

label1=new JLabel(new ImageIcon("pig.jpg"));
label1.setSize(250,200);
label1.setLocation(300,0);
label1.setVisible(true);
c.add(label1);
label2=new JLabel("加油,努力哈!");
label2.setSize(50,100);
label2.setLocation(180,215);
label2.setVisible(true);
c.add(label2);
setSize(555,295);
setVisible(true);


}

void Start()
{int p=0,i=0,tmp;
while(p!=25)
{tmp=(int)(Math.random()*25);
for(i=0;i<p;i++)
{int tmpB=img[i];
if (tmpB==tmp) break;
}
if (i==p) {img[i]=tmp; button1[i].setIcon(new ImageIcon(img[i]+".jpg")); p++;}
}
for(int j=0;j<place.length;j++)
{place[j]=25+j;
img[place[j]]=25; button1[place[j]].setIcon(new ImageIcon(img[place[j]]+".jpg"));
}
}

public void actionPerformed(ActionEvent e1)
{if (e1.getSource()==kaishi) {Start(); return;}
out:for (i=0 ;i<28;i++)
{ if (e1.getSource()==button1[i])
{ if (img[i]!=25)
{for(int j=0;j<place.length;j++)
{if ((button1[place[j]].getX()==button1[i].getX() || button1[place[j]].getY()==button1[i].getY()) && (button1[place[j]].getX()+width==button1[i].getX() || button1[place[j]].getX()-width==button1[i].getX() || button1[place[j]].getY()+height==button1[i].getY() || button1[place[j]].getY()-height==button1[i].getY()))
{img[place[j]]=img[i]; img[i]=25;
button1[place[j]].setIcon(new ImageIcon(img[place[j]]+".jpg")); button1[i].setIcon(new ImageIcon(img[i]+".jpg"));
place[j]=i; break out;
}
}
}
}
}
win();
}

void win()
{ for(i=0;i<25;i++)
if (img[i]!=i) break;
if (i==25) {label2.setText("哇,你太棒了!");}
else {label2.setText("加油,\n努力哈!");}
}

public static void main(String[] args)
{PinTuha f = new PinTuha(50,40);
width=button1[0].getWidth();height=button1[0].getHeight();
}
}

根据上面那个原理做的拼图游戏
有3个小猪可以移动
[attach]10630[/attach]

[此贴子已经被作者于2006-8-9 12:32:41编辑过]


我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-08-09 12:30
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
收藏
得分:0 
收藏ing。。。。

曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-08-09 12:51
高阁逆风
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:508
专家分:321
注 册:2006-4-29
收藏
得分:0 
强悍,顶!!!!!!!!

      上天安排我做了个多情的人,却又安排我遭遇了无数绝情的人,所以我最终把自己磨练成了一个滥情的人。别人是人见人爱,我是见人爱人.......
2006-09-10 23:27
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
唉 代码我现在怎么就看不进去呢

win32汇编
病毒 加密
目前兴趣所在
2006-09-11 07:06
fancyboy5150
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-8
收藏
得分:0 
还没看呢,
但是顶了
2006-09-18 15:39
wwdq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-31
收藏
得分:0 
谁会用Java编写会弹跳的小球
2006-12-31 16:13
wwdq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-31
收藏
得分:0 

大家帮帮忙

2006-12-31 16:23
wwdq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-31
收藏
得分:0 

大家来帮帮我
项目名称:会弹跳的小球
a) 设计内容:编一个简单的小游戏:会弹跳的小球,界面如下:
b) 设计要求:每点击一次start按钮,就产生一个黑色小球,小球个数不受限制。然后小球开始随机运动,当第一个小球运动到某一预先设定的点时便静止不动,其余小球均在运动到该点时消失。点击close按钮,退出游戏。
用Java做
2006-12-31 16:24
Jacz
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-29
收藏
得分:0 

2007-11-15 00:04
快速回复:[原创]好久没来了,来顶下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022405 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved