华容道 之 我是菜鸟

问题描述

package华容道;importjava.awt.*;importjava.awt.event.*;//主函数publicclassMain{publicstaticvoidmain(String[]args){newHua_Rong_Road();}}//人物按钮颜色classPersonextendsButtonimplementsFocusListener{intnumber;Colorc=newColor(255,245,170);Person(intnumber,Strings){super(s);setBackground(c);//人物的颜色背景是黄色this.number=number;c=getBackground();addFocusListener(this);//好像是焦点监听器}publicvoidfocusGained(FocusEvente){setBackground(Color.red);//只要单击该按钮则按钮变颜色}publicvoidfocusLost(FocusEvente){setBackground(c);//上一个按钮回复原先的颜色}}//华容道总类classHua_Rong_RoadextendsFrameimplementsMouseListener,KeyListener,ActionListener{Personperson[]=newPerson[10];Buttonleft,right,above,below;Buttonrestart=newButton("Start");//重新开始按钮publicHua_Rong_Road(){init();setBounds(100,100,320,360);setVisible(true);//设置Frame为可见,默认为不可见validate();addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidinit(){setLayout(null);add(restart);restart.setBounds(100,320,120,25);restart.addActionListener(this);Stringname[]={"我","陆逊","姜维","陈宫","许攸","邓艾","周瑜","庞统","诸葛亮","贾诩"};for(intk=0;k<name.length;k++){person[k]=newPerson(k,name[k]);person[k].addMouseListener(this);person[k].addKeyListener(this);add(person[k]);}//为所有的按钮注册所需的东西person[0].setBounds(104,54,100,100);person[1].setBounds(104,154,100,50);person[2].setBounds(54,154,50,100);person[3].setBounds(204,154,50,100);person[4].setBounds(54,54,50,100);person[5].setBounds(204,54,50,100);person[6].setBounds(54,254,50,50);person[7].setBounds(204,254,50,50);person[8].setBounds(104,204,50,50);person[9].setBounds(154,204,50,50);//初始化按钮的位子person[0].requestFocus();left=newButton();right=newButton();above=newButton();below=newButton();left.setBounds(49,49,5,260);right.setBounds(254,49,5,260);above.setBounds(49,49,210,5);below.setBounds(49,304,210,5);validate();}publicvoidkeyTyped(KeyEvente){}publicvoidkeyReleased(KeyEvente){}publicvoidkeyPressed(KeyEvente){Personman=(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);}}publicvoidmousePressed(MouseEvente){Personman=(Person)e.getSource();intx=-1,y=-1;x=e.getX();y=e.getY();intw=man.getBounds().width;inth=man.getBounds().height;if(y>h/2){go(man,below);}if(y<h/2){go(man,above);}if(x<w/2){go(man,left);}if(x>w/2){go(man,right);}}publicvoidmouseReleased(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseClicked(MouseEvente){}publicvoidgo(Personman,Buttondirection){booleanmove=true;RectanglemanRect=man.getBounds();intx=man.getBounds().x;inty=man.getBounds().y;if(direction==below)y=y+50;elseif(direction==above)y=y-50;elseif(direction==left)x=x-50;elseif(direction==right)x=x+50;manRect.setLocation(x,y);RectangledirectionRect=direction.getBounds();for(intk=0;k<10;k++){RectanglepersonRect=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);}}publicvoidactionPerformed(ActionEvente){dispose();newHua_Rong_Road();}}

解决方案

解决方案二:
游戏?华容道~
解决方案三:
你写的?
解决方案四:
恩是啊我就只能写些么多了
解决方案五:
你看看这个:importjava.awt.*;importjava.awt.event.*;publicclassMoveExample{publicstaticvoidmain(Stringargs[]){newHua_Rong_Road();}}classPersonextendsButtonimplementsFocusListener{intnumber;Colorc=newColor(255,245,170);Person(intnumber,Strings){super(s);setBackground(c);this.number=number;c=getBackground();addFocusListener(this);}publicvoidfocusGained(FocusEvente){setBackground(Color.red);}publicvoidfocusLost(FocusEvente){setBackground(c);}}classHua_Rong_RoadextendsFrameimplementsMouseListener,KeyListener,ActionListener{Personperson[]=newPerson[10];Buttonleft,right,above,below;Buttonrestart=newButton("重新开始");publicHua_Rong_Road(){init();setBounds(100,100,320,360);setVisible(true);validate();addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidinit(){setLayout(null);add(restart);restart.setBounds(100,320,120,25);restart.addActionListener(this);Stringname[]={"曹操","关羽","张飞","刘备","周瑜","黄忠","兵","兵","兵","兵"};for(intk=0;k<name.length;k++){person[k]=newPerson(k,name[k]);person[k].addMouseListener(this);person[k].addKeyListener(this);add(person[k]);}person[0].setBounds(104,54,100,100);person[1].setBounds(104,154,100,50);person[2].setBounds(54,154,50,100);person[3].setBounds(204,154,50,100);person[4].setBounds(54,54,50,100);person[5].setBounds(204,54,50,100);person[6].setBounds(54,254,50,50);person[7].setBounds(204,254,50,50);person[8].setBounds(104,204,50,50);person[9].setBounds(154,204,50,50);person[9].requestFocus();left=newButton();right=newButton();above=newButton();below=newButton();add(left);add(right);add(above);add(below);left.setBounds(49,49,5,260);right.setBounds(254,49,5,260);above.setBounds(49,49,210,5);below.setBounds(49,304,210,5);validate();}publicvoidkeyTyped(KeyEvente){}publicvoidkeyReleased(KeyEvente){}publicvoidkeyPressed(KeyEvente){Personman=(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);}}publicvoidmousePressed(MouseEvente){Personman=(Person)e.getSource();intx=-1,y=-1;x=e.getX();y=e.getY();intw=man.getBounds().width;inth=man.getBounds().height;if(y>h/2){go(man,below);}if(y<h/2){go(man,above);}if(x<w/2){go(man,left);}if(x>w/2){go(man,right);}}publicvoidmouseReleased(MouseEvente){}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseClicked(MouseEvente){}publicvoidgo(Personman,Buttondirection){booleanmove=true;RectanglemanRect=man.getBounds();intx=man.getBounds().x;inty=man.getBounds().y;if(direction==below)y=y+50;elseif(direction==above)y=y-50;elseif(direction==left)x=x-50;elseif(direction==right)x=x+50;manRect.setLocation(x,y);RectangledirectionRect=direction.getBounds();for(intk=0;k<10;k++){RectanglepersonRect=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);}}publicvoidactionPerformed(ActionEvente){dispose();newHua_Rong_Road();}}
解决方案六:
不知不知
解决方案七:
华容道貌似不错正在想做点什么呢
解决方案八:

解决方案九:
要求首先编写一个按钮的子类,该子类创建的对象代表华容道中的人物。通过焦点事件控制人物的颜色,当人物获得焦点时颜色为蓝色,当失去焦点时颜色为灰色。我们通过键盘事件和鼠标事件来实现曹操,关羽等人物的移动,当人物上发生鼠标事件或键盘事件时,如果鼠标指针的位置是在人物的下方(也就是组件的下半部分)或按键盘上的“↓”键,该人物向下移动。这种事件触发的方法你不认为很不对吗!!!!
解决方案十:
写的太神奇了。。。
解决方案十一:
额我照书上看的写的要不我哪能编这么好啊
解决方案十二:
跟我们书里的例题一模一样

时间: 2024-09-29 20:22:39

华容道 之 我是菜鸟的相关文章

我是菜鸟如何用c语言在.txt文本中读出以下数据

问题描述 我是菜鸟如何用c语言在.txt文本中读出以下数据 如何用c语言在.txt文本中读出以下数据 19650114103100 26.00 98.402.50999 0 19650114172400 25.60 100.003.00999 0 19650115162400 26.80 102.802.90999 0 19650116073100 25.40 99.902.40999 0 19650117024700 29.00 103.303.40999 0 19650118024100 2

我是菜鸟,在window编程出现错误,求大神指导!!

问题描述 我是菜鸟,在window编程出现错误,求大神指导!! //头文件 #include #include #pragma comment(lib,"Winmm.lib") //宏定义 #define WINDOW_WIDTH 800//窗口宽度定义的宏,方便修改 #define WINDOW_HEIGHT 600//高度 #define WINDOW_TITLE L"[致我们永不熄灭的游戏开发梦想]GDI程序核心框架"//标题 //全局函数声明 HDC g_h

eclipse插件-我是菜鸟:请问eclipse中怎么才能把手机连上进行真机测试?

问题描述 我是菜鸟:请问eclipse中怎么才能把手机连上进行真机测试? 以前我们学过!但是忘了!好像是在哪下载几个包!好像是谷歌usb包!在哪下?下载后放哪?跪求大神详解 解决方案 谷歌usb包,不用去哪里下,只要你安装了Android SDK,然后在这个里面安装更新就可以了 针对SDK在国内的更新问题,解决方法:http://blog.csdn.net/zjj7188/article/details/49964117 解决方案二: 打开android SDK 在Extras下安装 Googl

安卓开发问题,我是菜鸟

问题描述 安卓开发问题,我是菜鸟 我想开发安卓阅读器,首先实现的内容是读取TXT文件.我想在新页面中打开文件,不知道怎么实现 我瞎弄了这个代码 public class MainActivity extends Activity { Button button1;TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

服务器-关于网站建立内网和外网的问题,跪求高手给详细说一下,我是菜鸟

问题描述 关于网站建立内网和外网的问题,跪求高手给详细说一下,我是菜鸟 我制作了一个JSP网站,这个网站有一部分是打算在外网上用的,有一部分是在内网上用的,我该怎么做,需要把外网上的这部分发布到外网上(PS:如何发布到外网上,在外网上怎么访问?),而且外网上的数据使用的是我服务器上的数据,并且内网上的页面也可以访问这部分数据,我该怎么做? 解决方案 内外网用一个数据库就OK了

我是菜鸟,请各位大神解答ios

问题描述 我是菜鸟,请各位大神解答ios tableview上的知识 就是在制作购物车的这种形式 怎么点击按钮就把所有加入购物车的全选了. 然后在点击cell上的按钮取消几个 有具体的代码都行.期待你的回复 解决方案 点击全选,遍历数据源的数组的模型,更改模型中的是否在购物车,都改成yes.在reload data .在自定义的cell中,要根据传过来的模型判断是否加入了购物车.来 决定要显示什么状态 解决方案二: selecte标记就可以 解决方案三: 菜鸟"和"大神" 解

c#窗体-求大神们帮忙。。我是菜鸟 c#

问题描述 求大神们帮忙..我是菜鸟 c# 新手..求大神帮忙.....:就是c# Click事件怎么加图片...求代码

我是菜鸟,在c++编程中遇到问题,求大神帮忙

问题描述 我是菜鸟,在c++编程中遇到问题,求大神帮忙 对于这个题目: 定义一个基类Person,数据成员包含字符指针类型变量Name用于保存姓名, 函数成员包括默认构造函数.带形参构造函数用于初始化数据成员.输出 姓名的成员函数PrintName().从Person类派生出Student类,增加长整型 数据成员Number用于保存学号,派生类的函数成员包括带形参构造函数用 于初始化数据成员,输出学生信息的成员函数PrintInfo(). 要求:在函数PrintInfo()中需要调用基类的成员函

我是菜鸟,我设计了三个界面,关闭一个,其他两个也退出了。

问题描述 我是菜鸟,我设计了三个界面,一个登陆,(1)一个主界面,(2)一个主界面菜单点击退出选中后弹出的界面(3),当我点击第三个界面时,我的程序界面全部退出,如何改,谢谢各位大侠 解决方案 解决方案二:没看懂解决方案三:dispose解决方案四:自己debug一下.这种问题不好说.解决方案五:每天回复得10分解决方案六:应该写的桌面应用程序吧.在第三个窗口的退出时间别写System.exit(0);用setVisible(false);隐藏掉第三个窗口就可以了.解决方案七:我是菜鸟,我设计了