知识大全 Java写的华容道

Posted

篇首语:知识的领域是无限的,我们的学习也是无限期的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java写的华容道相关的知识,希望对你有一定的参考价值。

Java写的华容道  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  import java awt *;

  import java awt event *;

  import javax swing *;

  public class Hua_Rong_Road

  /**

  * @param args

  */

  public static void main(String[] args)

  // TODO 自动生成方法存根

  new Hua_Rong_Road ();

  

  

  class Person extends JButton implements FocusListener

  

  int number;

  ImageIcon c;

  Person(int number ImageIcon c)

  

  super(c);

  this c=c;

  this number=number;

  addFocusListener(this);

  

  public void focusGained(FocusEvent e)

  

  setBackground(Color red);

  

  public void focusLost(FocusEvent e)

  

  

  

  class Hua_Rong_Road extends Frame implements MouseListener KeyListener ActionListener

  

  Person person[]=new Person[ ];

  Button left right above below;

  Button restart=new Button( 重新开始 );

  public Hua_Rong_Road ()

  

  init();

  setBounds( );

  setResizable(false);

  setVisible(true);

  validate();

  addWindowListener(new WindowAdapter()

  

  public void windowClosing(WindowEvent e)

  

  System exit( );

  

  

  );

  

  public void init()

  

  setLayout(null);

  add(restart);

  restart setBounds( );

  restart addActionListener(this);

  for(int k= ;k< ;k++)

  

  person[k]=new Person(k new ImageIcon());

  person[k] addMouseListener(this);

  person[k] addKeyListener(this);

  add(person[k]);

  

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] setBounds( );

  person[ ] requestFocus();

  left=new Button();

  right=new Button();

  above=new Button();

  below=new Button();

  add(left);

  add(right);

  add(above);

  add(below);

  left setBounds( );

  right setBounds( );

  above setBounds( );

  below setBounds( );

  validate();

  

  public void keyTyped(KeyEvent e)

  public void keyReleased(KeyEvent e)

  public void keyPressed(KeyEvent e)

  

  Person man=(Person)e getSource();

  if(e getKeyCode()==KeyEvent VK_DOWN)

  

  go(man below);

  

  if(e getKeyCode()==KeyEvent VK_UP)

  

  go(man above);

  

  if(e getKeyCode()==KeyEvent VK_LEFT)

  

  go(man left);

  

  if(e getKeyCode()==KeyEvent VK_RIGHT)

  

  go(man right);

  

  

  public void mousePressed(MouseEvent e)

  

  Person man=(Person)e getSource();

  int x= y= ;

  x=e getX();

  y=e getY();

  int w=man getBounds() width;

  int h=man getBounds() height;

  if(y>h/ )

  

  go(man below);

  

  if(y<h/ )

  

  go(man above);

  

  if(x<w/ )

  

  go(man left);

  

  if(x>w/ )

  

  go(man right);

  

  

  public void mouseReleased(MouseEvent e)

  public void mouseEntered(MouseEvent e)

  public void mouseExited(MouseEvent e)

  public void mouseClicked(MouseEvent e)

  public void go(Person man Button direction)

  

  boolean move=true;

  Rectangle manRect=man getBounds();

  int x=man getBounds() x;

  int y=man getBounds() y;

  if(direction==below)

  y=y+ ;

  else if(direction==above)

  y=y ;

  else if(direction==left)

  x=x ;

  else if(direction==right)

  x=x+ ;

  manRect setLocation(x y);

  Rectangle directionRect=direction getBounds();

  for(int k= ;k< ;k++)

  

  Rectangle personRect=person[k] getBounds();

  if((manRect intersects(personRect))&&(man number!=k))

  

  move=false;

  

  

  if(manRect intersects(directionRect))

  

  move=false;

  

  if(move==true)

  

  man setLocation(x y);

  

  

  public void actionPerformed(ActionEvent e)

  

  dispose();

  new Hua_Rong_Road ();

  

cha138/Article/program/Java/hx/201311/25603

相关参考

知识大全 java写的打字游戏

  importjavaxswing*;  importjavaawt*;  importjavaawtevent*;  //publicclassTest  //publicstaticvoidma

知识大全 用java语言编程序:计算1+1/2!+1/3!+1/4,简单语句就好,不要写的太复杂哦,谢谢哦

用java语言编程序:计算1+1/2!+1/3!+1/4,简单语句就好,不要写的太复杂哦,谢谢哦!publicclassTestpublicstaticvoidmain(Stringargs[])in

华容口服液

华容口服液的基本资料,相关中药材16味。华容口服液的基本资料华容口服液(现代标准)名称华容口服液拼音HuarongKoufuye成份制何首乌太子参当归丹参桑椹墨旱莲杜仲肉苁蓉黑芝麻枸杞子黄芪山药知母天

华容县出生的名人大全

为您整理了张义炎、黄祖轲、张吉阶等35位华容县出生的体育明星、影视明星或名人伟人。华容县出生的名人伟人(11位)1、刘大夏(刘忠宣、东山先生,辅佐明孝宗实现“弘治中兴”):1436年出生于湖广华容,1

华容区出生的名人大全

为您整理了张义炎、黄祖轲、张吉阶、何长工、蔡协民等35位华容区出生的体育明星、影视明星或名人伟人。华容区出生的名人伟人(11位)1、刘大夏(刘忠宣、东山先生,辅佐明孝宗实现“弘治中兴”):1436年出

知识大全 用java生成缩略图和给图上打上公司logo

  这是我前两天写的生成图片的缩略图和给图片打上logo的java代码没有怎么整理就放上来了希望能够为大家在工作中帮点忙同时写的有什么不对的地方希望大家指点指点  importjavaawtGraph

华容县棉花生产情况汇报

一、基本情况  1、面积变化情况。全县预计播种面积50万亩,同比去年减少0.7万亩。面积减少的主要原因是因去年棉价低,水旱兼作区调减了部分棉田扩种水稻,改种水稻最多的乡镇为操军,全镇棉田改种水稻约50

华容县棉花生产情况汇报

一、基本情况  1、面积变化情况。全县预计播种面积50万亩,同比去年减少0.7万亩。面积减少的主要原因是因去年棉价低,水旱兼作区调减了部分棉田扩种水稻,改种水稻最多的乡镇为操军,全镇棉田改种水稻约50

锅炉、金属容道、管道、密闭舱室等狭窄、特别潮湿场所的照明,电源电压不得大于( )。

锅炉、金属容道、管道、密闭舱室等狭窄、特别潮湿场所的照明,电源电压不得大于()。A.12vB.16vC.24vD.36v【正确答案】A【参考解析】《省工程质量安全手册实施细则(试行)》第四章第六条第二

锅炉、金属容道、管道、密闭舱室等狭窄、特别潮湿场所的照明,电源电压不得大于( )。

锅炉、金属容道、管道、密闭舱室等狭窄、特别潮湿场所的照明,电源电压不得大于()。A.12vB.16vC.24vD.36v【正确答案】A【参考解析】《省工程质量安全手册实施细则(试行)》第四章第六条第二