小言_互联网的博客

坦克大战Java项目一

397人阅读  评论(0)

 

项目功能描述

 

本程序是一个简单的坦克游戏程序,用Java语言编写,在jdk环境下运行。游戏开始时,用户通过键盘操纵坦克移动,转弯和射击,与敌人坦克进行交战,直到消灭所有敌人就可以过关。具体的功能模块以及每个模块的难度和具体实现要求如下图:

 

 任务一  对战界面

要完成坦克大战中敌我双方的对战,首选要完成的就是敌方双方坦克对战的平台。

效果图如下:

 

 代码如下:

 

package tank;

import java.awt.CardLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JSeparator;

public class MenuDemo extends JFrame{
	JMenu gameMenu,editMenu;//菜单,是从菜单栏中显示的一个下拉菜单组件
	JMenuItem startMenuItem,saveMenuItem,openMenuItem,exitMenuItem;//菜单项,菜单中的项目必 
                                                      、、须属于 JMenuItem 或任何它的子类。 
	JMenuBar menuBar;//菜单栏,与顶层窗口相关联的,一个窗口只能有一个菜单栏
	JSeparator separator;//分隔符
	JPanel jpanel,center;
	JLabel jl;
	public MenuDemo(){
		jl=new JLabel("Stage 1");
		separator=new JSeparator();
		gameMenu=new JMenu("游戏(G)");
		gameMenu.setMnemonic(KeyEvent.VK_G);/*setMnemonic() 方法设置当前菜单的快速访问符。
											该符号必须对应键盘上的一个键,
											并且应该使用 java.awt.event.KeyEvent 
											中定义的 VK—XXX 键代码之一指定。
											快速访问符是一种快捷键,通常在按下 Alt 键和某个字                
                                             母时激活。
											例如,常用的 Alt+F 是“文件” 菜单的快速访问符。*/
		editMenu=new JMenu("设置(T)");
		startMenuItem=new JMenuItem("开始(S)");
		saveMenuItem=new JMenuItem("保存");
		menuBar=new JMenuBar();
		exitMenuItem=new JMenuItem("退出(E)");
		exitMenuItem.setMnemonic(KeyEvent.VK_E);
		
		gameMenu.add(startMenuItem);
		gameMenu.add(saveMenuItem);
		gameMenu.add(separator);
		gameMenu.add(exitMenuItem);
		
		menuBar.add(gameMenu);
		menuBar.add(editMenu);
		
		CardLayout card=new CardLayout();
		jpanel=new JPanel();
		center=new JPanel(card);//创建一个卡片布局的容器
		center.add("start",jpanel);//把不同界面的容器均添加到center容器中,用card.show()控制 
 //界面的切换。
		
		card.show(center,"start");
		
		jpanel.setBackground(Color.gray);
		jpanel.add(jl,new FlowLayout(FlowLayout.CENTER));
		
		this.getContentPane().add(center);//初始化一个容器,用来在容器上添加一些控件
			//一个 content pane 是一个包含除菜单条(如果有的话)外所有框架的可视组件的容器。
		
		this.setVisible(true);
		this.setJMenuBar(menuBar);
		this.setSize(550, 500);
		this.setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
	public static void main(String[] args) {
		new MenuDemo(); 
	}
}

 


转载:https://blog.csdn.net/sunshineFFSFor/article/details/102469875
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场