棋盘游戏Java-棋盘GUI
我必须为学校做一个Java项目,我决定做一个棋盘游戏:Stratego。但我已经在实际板的GUI上停留了一段时间。 我的意图是制作一个带有背景图像的框架,在上面(如在上层)有一个网格,我可以为网格的每个正方形指定坐标。当一个棋子被创建时,玩家可以为它指定一个正方形,因此正方形必须能够显示一个棋子的图像 这就是我被困了几个星期的地方!我似乎找不到如何制作多层框架。你知道一个更简单的实现吗? 如果有人能帮助我,我将不胜感激 编辑:我应该把我已经做过的事情:棋盘游戏Java-棋盘GUI,java,swing,user-interface,Java,Swing,User Interface,我必须为学校做一个Java项目,我决定做一个棋盘游戏:Stratego。但我已经在实际板的GUI上停留了一段时间。 我的意图是制作一个带有背景图像的框架,在上面(如在上层)有一个网格,我可以为网格的每个正方形指定坐标。当一个棋子被创建时,玩家可以为它指定一个正方形,因此正方形必须能够显示一个棋子的图像 这就是我被困了几个星期的地方!我似乎找不到如何制作多层框架。你知道一个更简单的实现吗? 如果有人能帮助我,我将不胜感激 编辑:我应该把我已经做过的事情: public class FenetreJ
public class FenetreJeu extends JFrame {
private static final long serialVersionUID = 1L;
public static int TILE_OFFSET= 60;//Constant for the coordinates
public FenetreJeu() {
setVisible(true);
setSize(700,700);
Panel background= new Panel();
background.setBorder(new EmptyBorder(0, 0, 0, 0));
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add(background);
background.setLayout(new GridLayout(10, 10,1,1));
}
private void createAndAddPiece(int couleur, int rang, int x, int y) {
Image img = this.getImagePion(couleur, rang);
switch(rang){
case Pion.RANG_MARECHAL:
Marechal marechal = new Marechal();
break;
case Pion.RANG_GENERAL:
General general = new General();
break;
case Pion.RANG_COLONEL:
Colonel colonel = new Colonel();
break;
case Pion.RANG_COMMANDANT:
Commandant commandant = new Commandant();
break;
case Pion.RANG_CAPITAINE:
Capitaine capitaine = new Capitaine();
break;
case Pion.RANG_LIEUTENANT:
Lieutenant lieutenant = new Lieutenant();
break;
case Pion.RANG_SERGENT:
Sergent sergent = new Sergent();
break;
case Pion.RANG_DEMINEUR:
Demineur demineur = new Demineur();
break;
case Pion.RANG_ECLAIREUR:
Eclaireur eclaireur = new Eclaireur();
break;
case Pion.RANG_ESPION:
Espion espion = new Espion();
break;
case Pion.RANG_DRAPEAU:
Drapeau drapeau = new Drapeau(Pion.RANG_DRAPEAU,Pion.STATIQUE);
break;
case Pion.RANG_BOMBE:
Bombe bombe = new Bombe(Pion.RANG_BOMBE,Pion.STATIQUE);
break;
}
}
private Image getImagePion(int couleur, int rang) {//Method to get the image of the piece
String filename = "";
filename += ( couleur == Pion.COLOR_RED ? "/Ressources/PionsRouges/" : "/Ressources/PionsBleus/");
switch (rang) {
case pions.Pion.RANG_MARECHAL:
filename += "9";
break;
case pions.Pion.RANG_GENERAL:
filename += "8";
break;
case pions.Pion.RANG_COLONEL:
filename += "7";
break;
case pions.Pion.RANG_COMMANDANT:
filename += "6";
break;
case pions.Pion.RANG_CAPITAINE:
filename += "5";
break;
case pions.Pion.RANG_LIEUTENANT:
filename += "4";
break;
case pions.Pion.RANG_SERGENT:
filename += "3";
break;
case pions.Pion.RANG_DEMINEUR:
filename += "2";
case pions.Pion.RANG_ECLAIREUR:
filename += "1";
break;
case pions.Pion.RANG_ESPION:
filename += "10";
break;
case pions.Pion.RANG_DRAPEAU:
filename += "0";
break;
case pions.Pion.RANG_BOMBE:
filename += "-1";
break;
}
filename += ".gif";
URL urlPieceImg = getClass().getResource(filename);
return (new ImageIcon(urlPieceImg).getImage());
}
}您是否查看了Java文档中的?告诉我们您正在使用的Java GUI工具包(如Swing、SWT等)也可能会有所帮助。如果您需要使用框架上的背景图像,请在背景上创建JPanels,以制作游戏板方块,并获取您想要表示这些棋子的图标,在游戏开始时,使用鼠标或键盘命令选择和移动特定的棋子,并对棋子的移动和使用能力进行编程。当我制作了这样的游戏时,我会在JPanel上绘制背景图像。这些作品是我在JPanel上绘制的图像。JPanel被添加到JFrame中。看看我的,看看我是如何画一个游戏板的。我已经用我已经写过的代码编辑了这个问题。仅供参考,“rang”是该作品的等级。我制作了一个超级类中的列常量。