[菜鸟求大神解答]Java小游戏编程界面设计的一点不成熟的问题
public class mainpanel extends JPanel implements ActionListener{ public mainpanel() { // TODO Auto-generated constructor stub for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { JButton btn=new JButton(); btn.setPreferredSize(new Dimension(60,60)); btn.addActionListener(this); add(btn); mainFrame.btns[j]=btn; } } }public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub JButton selectButton=(JButton) e.getSource(); boolean flag=false; for (Ship ship : BattleShip.list) { if (!flag) { for (Position position : ship.getShip()) { int x=position.getX(); int y=position.getY(); if (selectButton==mainFrame.btns[x][y]) { flag=true; JOptionPane.showMessageDialog(BattleShip.MyFrame.getContentPane(), "恭喜您打中了!", "系统信息", JOptionPane.WARNING_MESSAGE); return; } } }else { return; } } if (!flag) { JOptionPane.showMessageDialog(BattleShip.MyFrame.getContentPane(), "哎呦!打偏了", "系统信息", JOptionPane.WARNING_MESSAGE); selectButton.setText("X"); } }写BattleShip游戏 MainPanel类
游戏大致意思就是10*10的格子里面有五条不同类型的船
不同类型的船占有不同长度的格子
玩家点击格子如果有船就炸
点击格子没有这个格子里面没有船
那么这个格子将被标记
下面图中打X的格子就是没有船被标记的格子
然饿空的格子就是内部有船的格子但是效果并不好
界面优化的部分不太会做,想求教以下:
- 当这条船局部被炸 格子里显示爆炸(或者空格子被点击后更改颜色为蓝色)
- 如果整条船都被炸,那么就在窗口中显现出一个这类船的图形
求求大神T T
万分感谢
不 跪谢!!!
|
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|