Java桌面游戏—争霸的设计与实现毕业论文(8)

2019-05-18 13:03

第31页 共41页

图4-8 游戏的主界面

本游戏的图形设计都是通过java的javax.swing包开发的。 其主要实现代码SwingGUIFrame如下:

public class SwingGUIFrame {

public static void main(String[] argv) { try {

String os = System.getProperty(\ if ( os != null && os.startsWith(\

UIManager.setLookAndFeel(\

}

else {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } }

catch (Exception e) { e.printStackTrace(); }

JFrame gui = new JFrame();

gui.setContentPane( new SwingGUIPanel( new Risk() ) ); gui.setTitle( SwingGUIPanel.product );

gui.setIconImage(Toolkit.getDefaultToolkit().getImage( Risk.class.getResource(\if\

gui.setResizable(false); gui.pack();

gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = gui.getSize(); frameSize.height = ((frameSize.height > screenSize.height) ? screenSize.height : frameSize.height);

frameSize.width = ((frameSize.width > screenSize.width) ? screenSize.width : frameSize.width);

gui.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

gui.setVisible(true); } }

当你单击选择进行新游戏时,出现游戏设置面板,如图4-9所示; 当你选择载入游戏时,如图4-10 所示; 控制台面板如图4-12所示; 统计面板如图4-13所示; 游戏中的界面如图4-11所示; 卡片交易面板如图4-14所示; 关于面板如图4-15所示;

第32页 共41页

图4-9 游戏设置面板

图4-10 载入游戏面板

第33页 共41页

图4-11 游戏过程中

实现这些界面的是类SwingGUIPanel,其中实现游戏界面的方法主要是GamePaenl()主要实现代码:

public GamePanel() {

pp = new PicturePanel(myrisk); pp.setPreferredSize(mapSize); pp.setMinimumSize(mapSize); pp.setMaximumSize(mapSize);

pp.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0,0,0),1));

pp.addMouseListener(this);

pp.addMouseMotionListener(this);

Dimension gameOptionsSize = new Dimension(PicturePanel.PP_X,25);

gameOptions = new GameOptionsPanel();

gameOptions.setPreferredSize(gameOptionsSize); gameOptions.setMinimumSize(gameOptionsSize); gameOptions.setMaximumSize(gameOptionsSize);

Dimension d = new Dimension(PicturePanel.PP_X , 50);

第34页 共41页

inGameCards = new CardLayout(); inGameInput = new JPanel();

inGameInput.setLayout( inGameCards ); inGameInput.setPreferredSize(d); inGameInput.setMinimumSize(d); inGameInput.setMaximumSize(d);

JPanel nothing = new JPanel(); ??

JPanel results = new JPanel(); ??

JPanel placeArmies = new placeArmiesPanel(); ??

roll = new rollPanel();

JPanel move = new movePanel(); JPanel attack = new attackPanel(); defend = new defendPanel(); ??

// ################### IN GAME ####################### this.setLayout(new java.awt.GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.insets = new java.awt.Insets(3, 3, 3, 3); c.fill = GridBagConstraints.BOTH; c.gridx = 0; // col c.gridy = 0; // row

c.gridwidth = 1; // width c.gridheight = 1; // height this.add(gameOptions, c); c.gridx = 0; // col c.gridy = 1; // row

c.gridwidth = 1; // width c.gridheight = 1; // height this.add(pp, c);

c.gridx = 0; // col c.gridy = 2; // row

c.gridwidth = 1; // width c.gridheight = 1; // height this.add(inGameInput, c);

}

第35页 共41页

图4-12 控制台面板

图4-13 统计面板


Java桌面游戏—争霸的设计与实现毕业论文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年上半年青海省抹灰工技师模拟试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: