java课程设计拼图游戏代码Word格式.docx
- 文档编号:20978418
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:7
- 大小:15.69KB
java课程设计拼图游戏代码Word格式.docx
《java课程设计拼图游戏代码Word格式.docx》由会员分享,可在线阅读,更多相关《java课程设计拼图游戏代码Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
publicGames(){
super("
拼图游戏"
);
//设置标题
layout=newGridLayout(3,3);
//3行3列
container=getContentPane();
//该容器的布局方式,及其重要,否则产生空引用异常
container.setLayout(layout);
//将该布局方式作用于容器
buttons=newJButton[3][3];
//给按键数组分配储存空间
intlocate1,locate2;
//locate1用来指示当前产生的元素locate2用来指示locate1之前的元素
for(locate1=0;
locate1<
8;
locate1++){//该方法作用是产生1到8这8个数,随机分配给数组,即无序排列
intg=newRandom().nextInt
(8)+1;
//随机产生一个空白按键,即不显示的那个is[locate1]=g;
for(locate2=locate1-1;
0<
=locate2;
locate2--){
if(is[locate1]==is[locate2])
break;
}if(locate2!
=-1)
locate1--;
}inttemp=0;
intr=newRandom().nextInt
(3);
//随机产生一个0到3的数,代表空白按键的行intl=newRandom().nextInt
//随机产生一个0到3的数,代表空白按键的列for(inti=0;
i<
3;
i++){
for(intj=0;
j<
j++){
if(r==i&
&
l==j){//空白按键设置为9,不显示
buttons[i][j]=newJButton("
9"
container.add(buttons[i][j]);
buttons[i][j].setVisible(false);
}else{
"
+is[temp++]);
//将数组的值作为显示的8个按键的名字
}buttons[i][j].addActionListener(this);
//注册监听事件}}
setSize(300,300);
//设置显示容器区域大小
setVisible(true);
}publicvoidactionPerformed(ActionEventevent){//事件处理,由于计算量小该处将所有按键单独分析
JButtonb=(JButton)event.getSource();
if(b==buttons[0][0]){
if(buttons[0][1].getText().equals("
)){
buttons[0][1].setText("
+buttons[0][0].getText());
buttons[0][1].setVisible(true);
buttons[0][0].setText("
buttons[0][0].setVisible(false);
count++;
}elseif(buttons[1][0].getText().equals("
buttons[1][0].setText("
buttons[1][0].setVisible(true);
}}
elseif(b==buttons[0][1]){
if(buttons[0][0].getText().equals("
+buttons[0][1].getText());
buttons[0][0].setVisible(true);
buttons[0][1].setVisible(false);
}elseif(buttons[0][2].getText().equals("
buttons[0][2].setText("
buttons[0][2].setVisible(true);
}elseif(buttons[1][1].getText().equals("
buttons[1][1].setText("
buttons[1][1].setVisible(true);
}}elseif(b==buttons[0][2]){
+buttons[0][2].getText());
buttons[0][2].setVisible(false);
}elseif(buttons[1][2].getText().equals("
buttons[1][2].setText("
buttons[1][2].setVisible(true);
}}elseif(b==buttons[1][0]){
+buttons[1][0].getText());
buttons[1][0].setVisible(false);
}elseif(buttons[2][0].getText().equals("
buttons[2][0].setText("
buttons[2][0].setVisible(true);
}}elseif(b==buttons[1][1]){
+buttons[1][1].getText());
buttons[1][1].setVisible(false);
}elseif(buttons[2][1].getText().equals("
buttons[2][1].setText("
buttons[2][1].setVisible(true);
}}elseif(b==buttons[1][2]){
if(buttons[0][2].getText().equals("
+buttons[1][2].getText());
buttons[1][2].setVisible(false);
}elseif(buttons[2][2].getText().equals("
buttons[2][2].setText("
buttons[2][2].setVisible(true);
}}elseif(b==buttons[2][0]){
if(buttons[1][0].getText().equals("
+buttons[2][0].getText());
buttons[2][0].setVisible(false);
elseif(b==buttons[2][1]){
if(buttons[2][0].getText().equals("
+buttons[2][1].getText());
buttons[2][1].setVisible(false);
}}elseif(b==buttons[2][2]){
if(buttons[2][1].getText().equals("
+buttons[2][2].getText());
buttons[2][2].setVisible(false);
1"
)//假如1到8已经排列完成,则执行该语句
buttons[0][1].getText().equals("
2"
)
buttons[0][2].getText().equals("
3"
buttons[1][0].getText().equals("
4"
buttons[1][1].getText().equals("
5"
buttons[1][2].getText().equals("
6"
buttons[2][0].getText().equals("
7"
buttons[2][1].getText().equals("
8"
JOptionPane.showMessageDialog(null,"
您一共花费了"
+count+"
步完成了游戏!
//弹出对话框,显示共移动步数
System.exit
(0);
//退出程序}}
publicstaticvoidmain(String[]args){
Gamesgame=newGames();
game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 拼图游戏 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)