91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 154KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-15
  • 語言: Java
  • 標簽: java??漢諾塔??小游戲??

資源簡介

用java實現的漢諾塔游戲,含源代碼和可執行exe文件,供初學者參考學習

資源截圖

代碼片段和文件信息

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

public?class?Hanoi?extends?Jframe?{
??DrawPanel?panel?=?new?DrawPanel(3);
??ButtonPanel?panel2?=?new?ButtonPanel();
??KeyBoardListener?keyboardlistener?=?new?KeyBoardListener(panel);
??public?Hanoi()?{
????this.setFocusable(true);
????panel.setBounds(2222);
panel.setBorder(BorderFactory.createLineBorder(Color.black));
????ButtonPanel.start.addActionListener(new?ActionListener()?{
??public?void?actionPerformed(ActionEvent?e)?{
????panel.refresh(3);
??}
});
ButtonPanel.quit.addActionListener(new?ActionListener()?{
??public?void?actionPerformed(ActionEvent?e)?{
????int?res;
res?=?JOptionPane.showConfirmDialog(null“確定退出?““退出“JOptionPane.YES_NO_OPTION);
if(res?==?JOptionPane.YES_OPTION)?{
??????System.exit(0);
}
??}
});
ButtonPanel.help.addActionListener(new?ActionListener()?{
??public?void?actionPerformed(ActionEvent?e)?{
????JOptionPane.showMessageDialog(null“將所有盤子移動到最后一個柱子上,通過鍵盤上下左右鍵操作。另外請注意每一關都是有步數限制的“);
??}
});
????add(panelBorderLayout.CENTER);
add(panel2BorderLayout.EAST);
this.addKeyListener(keyboardlistener);
ButtonPanel.start.addKeyListener(keyboardlistener);
ButtonPanel.help.addKeyListener(keyboardlistener);
ButtonPanel.quit.addKeyListener(keyboardlistener);
??}
???
??public?static?void?main(String[]?args)?{
????Hanoi?frame?=?new?Hanoi();
frame.settitle(“漢諾塔“);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
frame.setSize(500309);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
??}
}

//鍵盤監聽器
class?KeyBoardListener?extends?KeyAdapter?{
??DrawPanel?panel;
??KeyBoardListener(DrawPanel?panel)?{
????this.panel?=?panel;
??}
??
??public?void?keyPressed(KeyEvent?e)?{
int?n?=?e.getKeyCode();
????if(n?==?38)?{
??panel.getPlate();
}?else?if(n?==?40)?{
??panel.setPlate();
}?else?if(n?==?39)?{
??panel.movePlateRight();
}?else?if(n?==?37)?{
??panel.movePlateLeft();
}
??}
??public?void?keyTyped(KeyEvent?e)?{
????????
??}
??public?void?keyReleased(KeyEvent?e)?{
????????
??}
}


//圖形界面模塊
class?DrawPanel?extends?JPanel?{
??ArrayList?plates?=?new?ArrayList();//盤子
??static?Pillar[]?pillars?=?new?Pillar[3];//柱子
??Hand?hand?=?new?Hand(1);//抓取工具
??int?chosen;//被抓起的盤子id
??int?n;//盤子個數
??boolean?init;//初始化判斷
??int?step;//步數
??
??static?{
????for(int?i=0;i<3;i++)?{
??pillars[i]?=?new?Pillar(i+1);
}
??}
??
??//構造方法
??DrawPanel(int?a)?{
init?=?true;
this.refresh(a);
??}
??//刷新
??public?void?refresh(int?a)?{
????n?=?a;
cleanUp();
Plate[]?temp?=?new?Plate[a];
int?i;
for(i=1;i ??temp[i-1]?=?new?Plate(i);
??temp[i-1].pillarid?=?1;
??temp[i-1].position?=?a-i+1;
??pillars[0].count++;
??pillars[0].plateid[temp[i-1].position]?=?temp[i-1].id;
??plates.add(temp[i-1]);
}
if(!init)?{
??repaint();
}?else?{
??init?=?false;
}
??}
??
??//清空

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????449536??2014-03-02?14:20??Hanoi\Hanoi.exe

?????文件???????6801??2014-03-02?11:46??Hanoi\Hanoi.java

?????目錄??????????0??2014-03-02?21:21??Hanoi

-----------?---------??----------?-----??----

???????????????456337????????????????????3


評論

共有 條評論