用java编写cs游戏_Java CS训练小游戏

点10次绿快,看能点中几次

实现了最核心的功能,大家可以看源代码去扩展

1.[文件] CSAct.java ~ 262B     下载(238)

package CSTrainer;

public class CSAct {

private int x;

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

private int y;

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

}

2.[文件] CSMain.java ~ 864B     下载(182)

package CSTrainer;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.text.html.Option;

public class CSMain extends JFrame {

JMenuBar gameBar=new JMenuBar();

JMenu game=new JMenu("游戏");

JMenuItem startGame=new JMenuItem("开始");

JMenuItem option=new JMenuItem("设置");

JMenuItem exit=new JMenuItem("退出");

public CSMain()

{

//添加菜单栏

this.setJMenuBar(gameBar);

gameBar.add(game);

game.add(startGame);

game.add(option);

game.add(exit);

//添加JPanel

CSWin win=new CSWin();

this.add(win);

this.setTitle("CS训练器");

this.setSize(850,725);

this.setLocation(510, 220);

this.setVisible(true);

}

public static void main(String[] args) {

new CSMain();

}

}

3.[文件] CSWin.java ~ 4KB     下载(192)

package CSTrainer;

import java.awt.Button;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.util.Random;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

public class CSWin extends JPanel implements ActionListener,KeyListener,Runnable,MouseListener {

int targets=0;

CSAct act=new CSAct();

JButton startgame=new JButton("开始");

JButton stopgame=new JButton("结束");

int score=0;

Random rdm=new Random();

boolean start=false;

Thread nThread;

//游戏结束的成员变量

JDialog jDialog=new JDialog();

JButton ok=new JButton("OK");

JLabel jLabel=new JLabel("游戏结束,共"+targets+"个目标,您击中了"+score+"个!");

public CSWin()

{

this.addMouseListener(this);

this.add(startgame);

this.add(stopgame);

startgame.addActionListener(this);

jDialog.setLayout(new GridLayout(2,1));

jDialog.add(jLabel);

jDialog.add(ok);

ok.addActionListener(this);

jDialog.setSize(400,300);

jDialog.setLocation(200, 200);

jDialog.setVisible(false);

}

public void paintComponent(Graphics g)

{

super.paintComponent(g);

g.drawRect(15, 130, 800, 500);

g.drawString("级别:", 15, 40);

g.drawString("分数:"+score, 15, 70);

g.setColor(new Color(0,255,0));

if(start)

{

g.fillRect(15+act.getX()*10, 130+act.getY()*10, 10, 10);

}

}

public static void main(String[] args) {

}

@Override

public void run() {

while(start){

if(targets>=10)

{

nThread=null;

jLabel.setText("游戏结束,共"+targets+"个目标,您击中了"+score+"个!");

jDialog.setVisible(true);

return;

}

act.setX(rdm.nextInt(80));

act.setY(rdm.nextInt(50));

repaint();

targets=targets+1;

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

@Override

public void keyPressed(KeyEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void keyReleased(KeyEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void keyTyped(KeyEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==startgame)

{

start=true;

requestFocus();

nThread=new Thread(this);

nThread.start();

act.setX(rdm.nextInt(80));

act.setY(rdm.nextInt(50));

repaint();

}

else if(e.getSource()==ok)

{

start=false;

jDialog.setVisible(false);

targets=0;

score=0;

repaint();

}

}

@Override

public void mouseClicked(MouseEvent e) {

if(e.getX()>=15+act.getX()*10&&e.getX()<=25+act.getX()*10&&e.getY()>=130+act.getY()*10&&e.getY()<=140+act.getY()*10)

{

score+=1;

}

repaint();

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值