?? killrat.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 + -