求助:一个java小游戏编程实例,主要的界面做出来,但是游戏的中按钮怎么走得方法不知道怎么写。 20
这个游戏取之于《机械迷城》中的一个mini游戏如图一共六个按钮,向下三个在上,向上三个在下,游戏结果要向按钮右边所示才算成功,游戏规则如按钮左边所示,①点击按钮可移向相邻...
这个游戏取之于《机械迷城》中的一个mini游戏如图
一共六个按钮,向下三个在上,向上三个在下,游戏结果要向按钮右边所示才算成功,
游戏规则如按钮左边所示,①点击按钮可移向相邻空位(不过向上箭头的只能向上移,向下箭头只能向下移),②点击按钮要隔一个按钮移,必须两个相邻按钮箭头相对,这样一直移动直至右边所示的结果,才算成功。
求这个游戏的方法怎么编写,只要按钮移动的方法,用java编写,
谢谢各位大侠了!!!!如果回答的好,我可以加分,我还有很多分。。。。
图片 展开
一共六个按钮,向下三个在上,向上三个在下,游戏结果要向按钮右边所示才算成功,
游戏规则如按钮左边所示,①点击按钮可移向相邻空位(不过向上箭头的只能向上移,向下箭头只能向下移),②点击按钮要隔一个按钮移,必须两个相邻按钮箭头相对,这样一直移动直至右边所示的结果,才算成功。
求这个游戏的方法怎么编写,只要按钮移动的方法,用java编写,
谢谢各位大侠了!!!!如果回答的好,我可以加分,我还有很多分。。。。
图片 展开
3个回答
展开全部
上图之后我明白你的意思了。
你是想移动JButton
这简单,把窗体布局设置为空。然后就可以设置JButton的坐标了。
下面给出控制按钮移动的代码。至于你那个游戏我没玩过,不知道咋整。
import java.awt.event.*;
import javax.swing.*;
/**
*实现控制按钮移动
* @author gust
*/
public class TFrame extends JFrame implements ActionListener{
JButton bt1 ,bt2,bt3= null;
public TFrame(){
init();
}
private void init(){
this.setLayout(null);//将布局设置为空
bt1 = new JButton("测试按钮");
bt1.addActionListener(this);
bt1.setBounds(100,100,90,50);
bt2 = new JButton("上移");
bt2.addActionListener(this);
bt2.setBounds(200,100,90,50);
bt3 = new JButton("下移");
bt3.addActionListener(this);
bt3.setBounds(200,180,90,50);
this.add(bt1);
this.add(bt2);
this.add(bt3);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null); //居中显示
this.setResizable(false);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt1){
JOptionPane.showMessageDialog(this, "测试按钮按下");
}else if(e.getSource()==bt2){
bt1.setBounds(bt1.getX(), bt1.getY()-10, 90, 50);
}else if(e.getSource()==bt3){
bt1.setBounds(bt1.getX(), bt1.getY()+10, 90, 50);
}
}
public static void main(String args[]){
new TFrame();
}
}
你是想移动JButton
这简单,把窗体布局设置为空。然后就可以设置JButton的坐标了。
下面给出控制按钮移动的代码。至于你那个游戏我没玩过,不知道咋整。
import java.awt.event.*;
import javax.swing.*;
/**
*实现控制按钮移动
* @author gust
*/
public class TFrame extends JFrame implements ActionListener{
JButton bt1 ,bt2,bt3= null;
public TFrame(){
init();
}
private void init(){
this.setLayout(null);//将布局设置为空
bt1 = new JButton("测试按钮");
bt1.addActionListener(this);
bt1.setBounds(100,100,90,50);
bt2 = new JButton("上移");
bt2.addActionListener(this);
bt2.setBounds(200,100,90,50);
bt3 = new JButton("下移");
bt3.addActionListener(this);
bt3.setBounds(200,180,90,50);
this.add(bt1);
this.add(bt2);
this.add(bt3);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null); //居中显示
this.setResizable(false);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt1){
JOptionPane.showMessageDialog(this, "测试按钮按下");
}else if(e.getSource()==bt2){
bt1.setBounds(bt1.getX(), bt1.getY()-10, 90, 50);
}else if(e.getSource()==bt3){
bt1.setBounds(bt1.getX(), bt1.getY()+10, 90, 50);
}
}
public static void main(String args[]){
new TFrame();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询