java课程设计拼图游戏代码.docx
- 文档编号:7848575
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:7
- 大小:15.69KB
java课程设计拼图游戏代码.docx
《java课程设计拼图游戏代码.docx》由会员分享,可在线阅读,更多相关《java课程设计拼图游戏代码.docx(7页珍藏版)》请在冰豆网上搜索。
java课程设计拼图游戏代码
packagelove;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.util.Random;
importjavax.swing.*;
publicclassGamesextendsJFrameimplementsActionListener{
privateJButtonbuttons[][];//存储按键的数组
privateContainercontainer;//一个容器
privateGridLayoutlayout;//布局方式为GridLayout
privateintcount=0,is[]=newint[8];//count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组
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
(3);//随机产生一个0到3的数,代表空白按键的列for(inti=0;i<3;i++){
for(intj=0;j<3;j++){
if(r==i&&l==j){//空白按键设置为9,不显示
buttons[i][j]=newJButton("9");
container.add(buttons[i][j]);
buttons[i][j].setVisible(false);
}else{
buttons[i][j]=newJButton(""+is[temp++]);//将数组的值作为显示的8个按键的名字
container.add(buttons[i][j]);}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("9")){
buttons[0][1].setText(""+buttons[0][0].getText());
buttons[0][1].setVisible(true);
buttons[0][0].setText("9");
buttons[0][0].setVisible(false);
count++;
}elseif(buttons[1][0].getText().equals("9")){
buttons[1][0].setText(""+buttons[0][0].getText());
buttons[1][0].setVisible(true);
buttons[0][0].setText("9");
buttons[0][0].setVisible(false);
count++;}}
elseif(b==buttons[0][1]){
if(buttons[0][0].getText().equals("9")){
buttons[0][0].setText(""+buttons[0][1].getText());
buttons[0][0].setVisible(true);
buttons[0][1].setText("9");
buttons[0][1].setVisible(false);
count++;
}elseif(buttons[0][2].getText().equals("9")){
buttons[0][2].setText(""+buttons[0][1].getText());
buttons[0][2].setVisible(true);
buttons[0][1].setText("9");
buttons[0][1].setVisible(false);
count++;
}elseif(buttons[1][1].getText().equals("9")){
buttons[1][1].setText(""+buttons[0][1].getText());
buttons[1][1].setVisible(true);
buttons[0][1].setText("9");
buttons[0][1].setVisible(false);
count++;}}elseif(b==buttons[0][2]){
if(buttons[0][1].getText().equals("9")){
buttons[0][1].setText(""+buttons[0][2].getText());
buttons[0][1].setVisible(true);
buttons[0][2].setText("9");
buttons[0][2].setVisible(false);
count++;
}elseif(buttons[1][2].getText().equals("9")){
buttons[1][2].setText(""+buttons[0][2].getText());
buttons[1][2].setVisible(true);
buttons[0][2].setText("9");
buttons[0][2].setVisible(false);
count++;}}elseif(b==buttons[1][0]){
if(buttons[0][0].getText().equals("9")){
buttons[0][0].setText(""+buttons[1][0].getText());
buttons[0][0].setVisible(true);
buttons[1][0].setText("9");
buttons[1][0].setVisible(false);
count++;
}elseif(buttons[1][1].getText().equals("9")){
buttons[1][1].setText(""+buttons[1][0].getText());
buttons[1][1].setVisible(true);
buttons[1][0].setText("9");
buttons[1][0].setVisible(false);
count++;
}elseif(buttons[2][0].getText().equals("9")){
buttons[2][0].setText(""+buttons[1][0].getText());
buttons[2][0].setVisible(true);
buttons[1][0].setText("9");
buttons[1][0].setVisible(false);
count++;}}elseif(b==buttons[1][1]){
if(buttons[0][1].getText().equals("9")){
buttons[0][1].setText(""+buttons[1][1].getText());
buttons[0][1].setVisible(true);
buttons[1][1].setText("9");
buttons[1][1].setVisible(false);
count++;
}elseif(buttons[1][0].getText().equals("9")){
buttons[1][0].setText(""+buttons[1][1].getText());
buttons[1][0].setVisible(true);
buttons[1][1].setText("9");
buttons[1][1].setVisible(false);
count++;
}elseif(buttons[1][2].getText().equals("9")){
buttons[1][2].setText(""+buttons[1][1].getText());
buttons[1][2].setVisible(true);
buttons[1][1].setText("9");
buttons[1][1].setVisible(false);
count++;
}elseif(buttons[2][1].getText().equals("9")){
buttons[2][1].setText(""+buttons[1][1].getText());
buttons[2][1].setVisible(true);
buttons[1][1].setText("9");
buttons[1][1].setVisible(false);
count++;}}elseif(b==buttons[1][2]){
if(buttons[0][2].getText().equals("9")){
buttons[0][2].setText(""+buttons[1][2].getText());
buttons[0][2].setVisible(true);
buttons[1][2].setText("9");
buttons[1][2].setVisible(false);
count++;
}elseif(buttons[2][2].getText().equals("9")){
buttons[2][2].setText(""+buttons[1][2].getText());
buttons[2][2].setVisible(true);
buttons[1][2].setText("9");
buttons[1][2].setVisible(false);
count++;
}elseif(buttons[1][1].getText().equals("9")){
buttons[1][1].setText(""+buttons[1][2].getText());
buttons[1][1].setVisible(true);
buttons[1][2].setText("9");
buttons[1][2].setVisible(false);
count++;}}elseif(b==buttons[2][0]){
if(buttons[1][0].getText().equals("9")){
buttons[1][0].setText(""+buttons[2][0].getText());
buttons[1][0].setVisible(true);
buttons[2][0].setText("9");
buttons[2][0].setVisible(false);
count++;
}elseif(buttons[2][1].getText().equals("9")){
buttons[2][1].setText(""+buttons[2][0].getText());
buttons[2][1].setVisible(true);
buttons[2][0].setText("9");
buttons[2][0].setVisible(false);
count++;}}
elseif(b==buttons[2][1]){
if(buttons[2][0].getText().equals("9")){
buttons[2][0].setText(""+buttons[2][1].getText());
buttons[2][0].setVisible(true);
buttons[2][1].setText("9");
buttons[2][1].setVisible(false);
count++;
}elseif(buttons[2][2].getText().equals("9")){
buttons[2][2].setText(""+buttons[2][1].getText());
buttons[2][2].setVisible(true);
buttons[2][1].setText("9");
buttons[2][1].setVisible(false);
count++;
}elseif(buttons[1][1].getText().equals("9")){
buttons[1][1].setText(""+buttons[2][1].getText());
buttons[1][1].setVisible(true);
buttons[2][1].setText("9");
buttons[2][1].setVisible(false);
count++;}}elseif(b==buttons[2][2]){
if(buttons[2][1].getText().equals("9")){
buttons[2][1].setText(""+buttons[2][2].getText());
buttons[2][1].setVisible(true);
buttons[2][2].setText("9");
buttons[2][2].setVisible(false);
count++;
}elseif(buttons[1][2].getText().equals("9")){
buttons[1][2].setText(""+buttons[2][2].getText());
buttons[1][2].setVisible(true);
buttons[2][2].setText("9");
buttons[2][2].setVisible(false);
count++;}}
if(buttons[0][0].getText().equals("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)