⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 killrat.java

📁 一个打地鼠的小游戏
💻 JAVA
字号:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Color;

public class KillRat extends JFrame {
	/**
	  This game is by XinXin and it is an open source project
	 */
	private static final long serialVersionUID = 1L;
	
	private int gameLife=10;
	private int scoreFlag=0;
	//游戏级别选项索引
	private int gameLevel;
	//背景颜色选项索引
	private int gameColorIndex=0;
	private Color[] color={Color.green,Color.red,Color.blue,Color.gray,Color.magenta,Color.black,Color.cyan,Color.darkGray,Color.lightGray};
	//游戏图片选项索引
	private int gamePicture;
	//To show the frame in the middle of the screen
	Toolkit kit=Toolkit.getDefaultToolkit();
	Dimension screenSize=kit.getScreenSize();
	int screenWidth=screenSize.width;
	int screenHeight=screenSize.height;
	//To set the image of the Frame
	Image img=kit.getImage("..\\image\\linux.jpg");
		//Define Menu Game
	private JMenu game=new JMenu("Game");
	private JMenuItem newGame=new JMenuItem("New Game");
	private JMenuItem stopGame=new JMenuItem("Stop Game");
	private JMenuItem resumeGame=new JMenuItem("Resume Game");
	private JMenuItem exitGame=new JMenuItem("Exit Game");
	//Define Menu Score
	/*
	private JMenu score=new JMenu("Score");
	private JMenuItem bestScore=new JMenuItem("Best Score");
	private JMenuItem topTen=new JMenuItem("Top Ten");
	private JMenuItem keepScore=new JMenuItem("Keep Score");
	private JMenuItem deleteRecord=new JMenuItem("Delete Record");
	*/
	//Define Menu Individualize
	private JMenu indiv=new JMenu("Individualize");
	private JMenu level=new JMenu("Level");
	private ButtonGroup levelButtonGroup=new ButtonGroup();
	private JRadioButtonMenuItem easy=new JRadioButtonMenuItem("Easy");
	private JRadioButtonMenuItem middle=new JRadioButtonMenuItem("Middle");
	private JRadioButtonMenuItem hard=new JRadioButtonMenuItem("Hard");
	
	private JMenu pictures=new JMenu("Pictures");
	private ButtonGroup gpButtonGroup=new ButtonGroup();
	private JRadioButtonMenuItem kill1=new JRadioButtonMenuItem("Kill HJ");
	private JRadioButtonMenuItem kill2=new JRadioButtonMenuItem("Kill Rat");
	private JRadioButtonMenuItem kill3=new JRadioButtonMenuItem("Kill ZKW");
	private JRadioButtonMenuItem kill4=new JRadioButtonMenuItem("Kill JingJing");
	

	
	/*
	private JMenu music=new JMenu("Music");
	private JMenu bgMusic=new JMenu("Background Music");
	private JMenu hitMusic=new JMenu("Hit Music");
	private ButtonGroup hitButtonGroup=new ButtonGroup();
	private JRadioButtonMenuItem hit1=new JRadioButtonMenuItem("Music 1");
	private JRadioButtonMenuItem hit2=new JRadioButtonMenuItem("Music 2");
	private JRadioButtonMenuItem hit3=new JRadioButtonMenuItem("Music 3");
	private JRadioButtonMenuItem hit4=new JRadioButtonMenuItem("Music 4");
	private JRadioButtonMenuItem hit5=new JRadioButtonMenuItem("Music 5");
	private ButtonGroup bgButtonGroup=new ButtonGroup();
	private JRadioButtonMenuItem bg1=new JRadioButtonMenuItem("Music 1");
	private JRadioButtonMenuItem bg2=new JRadioButtonMenuItem("Music 2");
	private JRadioButtonMenuItem bg3=new JRadioButtonMenuItem("Music 3");
	*/
	//Define Menu Help
	private JMenu help=new JMenu("Help");
	private JMenuItem rule=new JMenuItem("Rule");
	private JMenuItem about=new JMenuItem("About");
	private JMenuItem more=new JMenuItem("More");
	//Define the Menu Bar
	private JMenuBar bar=new JMenuBar();
	//Define the Buttons
	JButton [] buttons=new JButton[16];
	//Define the label to show the status of the game
	JLabel gameLifeLabel=new JLabel("Gamelife: 10 ");
	JLabel scoreNumber=new JLabel("Score: 0 ");
	//To perform the action using the object instance of other classes
	Game gameAction = new Game(this);
	Help helpAction = new Help(this);
	
	//Define the Constructor
	public KillRat(){
		super("KillRatGame2.1");
		
		
		JPanel panel1=new JPanel();
		GridLayout layout =new GridLayout(4,4,3,3);
		panel1.setLayout(layout);
		for(int i=0;i<buttons.length;i++){
			buttons[i]=new JButton();
			buttons[i].addActionListener(gameAction);
			panel1.add(buttons[i]);
		}
		//set the items into the menu game
		game.add(newGame);
		newGame.addActionListener(gameAction);
		game.add(stopGame);
		stopGame.addActionListener(gameAction);
		game.add(resumeGame);
		resumeGame.addActionListener(gameAction);
		game.add(exitGame);
		exitGame.addActionListener(gameAction);
		//set the items into menu score

		/*score.add(bestScore);
		bestScore.addActionListener(gameAction);
		score.add(topTen);
		topTen.addActionListener(gameAction);
		score.add(keepScore);
		keepScore.addActionListener(gameAction);
		score.add(deleteRecord);
		deleteRecord.addActionListener(gameAction);*/

		//set the items into menu indiv
		indiv.add(level);
		levelButtonGroup.add(easy);easy.setSelected(true);
		levelButtonGroup.add(middle);
		levelButtonGroup.add(hard);
		level.add(easy);easy.addActionListener(gameAction);
		level.add(middle);middle.addActionListener(gameAction);
		level.add(hard);hard.addActionListener(gameAction);
		indiv.add(pictures);
		gpButtonGroup.add(kill1);
		gpButtonGroup.add(kill2);
		gpButtonGroup.add(kill3);
		gpButtonGroup.add(kill4);
	
		pictures.add(kill1);
		pictures.add(kill2);kill2.setSelected(true);
		pictures.add(kill3);
		pictures.add(kill4);
	
		
		/*indiv.add(music);
		music.add(bgMusic);
		music.add(hitMusic);
		bgButtonGroup.add(bg1);bg1.setSelected(true);
		bgButtonGroup.add(bg2);
		bgButtonGroup.add(bg3);
		bgMusic.add(bg1);
		bgMusic.add(bg2);
		bgMusic.add(bg3);
		hitButtonGroup.add(hit1);hit1.setSelected(true);
		hitButtonGroup.add(hit2);
		hitButtonGroup.add(hit3);
		hitButtonGroup.add(hit4);
		hitButtonGroup.add(hit5);
		hitMusic.add(hit1);
		hitMusic.add(hit2);
		hitMusic.add(hit3);
		hitMusic.add(hit4);
		hitMusic.add(hit5);
		*/
		//set the items into menu help
		help.add(rule);
		rule.addActionListener(helpAction);
		help.add(about);
		about.addActionListener(helpAction);
		help.add(more);
		more.addActionListener(helpAction);
		bar.add(game);
		/*bar.add(score);*/
		bar.add(indiv);
		bar.add(help);
		setJMenuBar(bar);
		panel1.setBackground(getColor());
		add(panel1,BorderLayout.CENTER);
		JPanel panel2=new JPanel(new FlowLayout());
		panel2.setBackground(getColor());
		panel2.add(gameLifeLabel);
		panel2.add(scoreNumber);
	
		add(panel2,BorderLayout.SOUTH);
		
		//show the Frame
		setLocation((screenWidth-480)/2,(screenHeight-480)/2);
		setIconImage(img);
		setSize(480,500);
		setResizable(false);
		setVisible(true);
	}
	//set the game life label
	
	public void setLabelDown(){
		gameLife--;
		gameLifeLabel.setText("GameLife:"+gameLife);
		
	}
	public void setGameLifeText(){
		gameLifeLabel.setText("GameLife:"+gameLife);
		gameLifeLabel.setForeground(Color.red);
	}
	public void setScoreText(){
		scoreNumber.setText("Score:"+scoreFlag);
		scoreNumber.setForeground(getColor());
	}

	//set the gameLife
	public void setScoreUp(){
		scoreFlag+=10;
		scoreNumber.setText("Score:"+scoreFlag);
	}
	public void setScoreDown(){
		scoreFlag-=10;
		scoreNumber.setText("Score:"+scoreFlag);
	}
	//get the gameLife
	public int getScore(){
		return scoreFlag;
	}
	public int getGameLife(){
		return gameLife;
	}
	public void setGameLife(int gameLife){
		this.gameLife=gameLife;
	}
	public void setScore(int scoreFlag){
		this.scoreFlag=scoreFlag;
	}
	//get the buttons
	public JButton getButtons(int i){
		return buttons[i];
	}
	public int getButtonsLength(){
		return buttons.length;
	}
	//获取和设置自定义菜单中的选项
	//游戏级别设置
	public void setLevelRadio(int index){
		if(index==1){
			easy.setSelected(true);
		}
		if(index==2){
			middle.setSelected(true);
		}
		if(index==3){
			hard.setSelected(true);
		}
	}
	//获取游戏级别
	public int getLevelRadio(){
		if(easy.isSelected()){
			gameLevel=1;
		}
		else if(middle.isSelected()){
			gameLevel=2;
		}
		else if(hard.isSelected()){
			gameLevel=3;
		}
		return gameLevel;
		
	}
	

	//背景颜色设置
	public Color getColor(){
		
		gameColorIndex=(int)(Math.random()*8);
		return color[gameColorIndex];
	}


	//获取和设置游戏图片(殴打的对象)
	//设置游戏图片

	//获取游戏图片设置
	public int getPictureRadio(){
		if(kill1.isSelected()) gamePicture=1;
		else if(kill2.isSelected()) gamePicture=2;
		else if(kill3.isSelected()) gamePicture=3;
		else if(kill4.isSelected()) gamePicture=4;
		return gamePicture;
	}
	//test the GUI
	public static void main(String args[]){
		KillRat killRat=new KillRat();
		
		killRat.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -